HOME / コンピュータTips / Solaris / コンパイル / gtkmm
現時点で2.13がでているが、2.13はgtkのバージョンでRequested 'gtk+-2.0 >= 2.13.0' but version of GTK+ is 2.12.3
私の環境では2.14系までしかコンパイルが通らない。2.15、2.16は、glibのバージョンが云々とか言われてしまうようだ。
bzcat -dc glibmm-2.14.2.tar.bz2 | tar xvf -
gmakeは必須である。
先に、libsigc++をインストールしておく必要がある。ここでつくったSolaris用のlibsigc++パッケージを入れておくと良い。
PKG_CONFIG_PATH=/opt/JPC/lib/pkgconfig:/usr/lib/pkgconfig:/opt/csw/lib/pkgconfig ; export PKG_CONFIG_PATH ./configure \ --prefix=/opt/JPC
gmake -j4
このままでは、/opt/JPCにインストールされてしまうので、泥縄であるが、JPCを一次的に待避させる。
いったん依存関係のあるものをアンインストール
pkgrm JPCglibmm2 JPClibsigc++ JPCcairomm
待避して依存関係のあるものをインストール、
mv /opt/JPC /opt/JPC.orig pkgadd -d JPClibsigc++-2.2.2J01.pkg pkgadd -d JPCcairomm-1.4.8J01.pkg pkgadd -d JPCglibmm2-2.14.2J01.pkg
本体をインストール。
gmake install
インストール後の確認などなど・・・
# ls /opt/JPC/lib/pkgconfig/ atkmm-1.6.pc gdkmm-2.4.pc gtkmm-2.4.pc sigc++-2.0.pc cairomm-1.0.pc glibmm-2.4.pc pangomm-1.4.pc
依存関係のあるパッケージをアンインストール
pkgrm JPCglibmm2 JPClibsigc++ JPCcairomm
すると若干のゴミはあるかもしれないが、残りは今回入れた本体のみであるはず。
rm -rf ../install_root/ mkdir -p ../install_root/opt mv /opt/JPC ../install_root/opt/ mv /opt/JPC.orig /opt/JPC
おわったら、依存物を間違いなくインストール・・・と言いたいが、ここは一度ぐっとまつ。
ここで ../install_rootにインストール後のイメージが出来ている。
cd ../install_root
prototypeを作成
pkgproto . > prototype
出来たprototypeファイルから、prototypeのエントリを削除する。
f none prototype 0644 root root
その上で、下記の2行を追加。依存関係があるので注意。
i pkginfo i depend
cat <<__END > ../depend P JPClibsigc++ typesafe callback system for standard C++ P JPCglibmm2 a C++ API for parts of glib that are useful for C++. P JPCcairomm A C++ API for cairo __END cp ../depend .
cat <<__END > ../pkginfo PKG=JPCgtkmm2 NAME=a C++ API for GTK+. ARCH=i86pc VERSION=2.12.7 CATEGORY=library DESC=a C++ API for GTK+. VENDOR=JPC CLASSES=none BASEDIR=/ __END cp ../pkginfo .
../../make_package.sh 01
pkgmk -r `pwd` pushd /var/spool/pkg/ pkgtrans -s . パッケージ名.pkg
割愛(笑