計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)

Solaris8 上で Sun Forte C/C++ コンパイラを使って Gtk+ 2.8.3 を構築する


用意するもの
  http://www.gtk.org/
    gtk+-2.8.3.tar.gz
    glib-2.8.1.tar.gz
    atk-1.10.1.tar.gz
    pango-1.10.0.tar.gz
    cairo-1.4.10.tar.gz (以前 1.0.0 に問題があったのでバージョンをあげた)
    pkg-config-0.19.tar.gz
  http://freetype.sourceforge.net/index2.html
    freetype-2.1.10.tar.gz
  http://www.fontconfig.org/
    fontconfig-2.3.2.tar.gz
  http://xlibs.freedesktop.org/release/
    render-0.8.tar.gz
    xrender-0.8.3.tar.gz
    libXft-2.1.7.tar.gz

準備
  Freetype 1 がインストールされていれば事前に一旦アンインストールしておくこと

  Xrender ライブラリの作成
    render 0.8 から render.h を /usr/local/X11R6/include/X11/extensions
    にコピー
    xrender 0.8.3 を展開して, gcc の環境で
      ./configure --enable-static --enable-shared
      gmake
      gmake install

  Xft ライブラリの作成
    libXft 2.1.7 を展開して, gcc の環境で
      ./configure --enable-static --enable-shared
      gmake
      gmake install

  環境変数の設定 (Sun Forte C/C++ コンパイラを使うようにする)
    export PATH=/usr/bin:/bin:/usr/ccs/bin:/opt/SUNWspro/bin:/usr/openwin/bin:/usr/ucb:/usr/local/bin
    export CC=/opt/SUNWspro/bin/cc
    export CFLAGS="-g -xs"
    export CPPFLAGS="-I/usr/local/include -I/usr/openwin/include"
    export CXX=/opt/SUNWspro/bin/CC
    export CXXFLAGS="-g -xs"
    export F77=/opt/SUNWspro/bin/f77
    export FFLAGS="-g -xs"
    export LDFLAGS="-L/usr/local/lib -R/usr/local/lib"

Pkg-config 0.19 の構築
  ./configure
  gmake
  gmake install
  
Glib 2.8.1 の構築
  ./configure --with-libiconv=gnu
  gmake
  gmake check
  gmake install

Atk 1.10.1 の構築
  ./configure
  gmake
  gmake install

Freetype 2.1.10 の構築
  include/freetype/config/ftoption.h を編集
    TT_CONFIG_OPTION_BYTECODE_INTERPRETER マクロを有効にする
  GNUMAKE=/usr/local/bin/gmake ./configure
  # configure の実行には GNU make が必要
  gmake
  gmake install

Fontconfig 2.3.2 の構築
  export LDFLAGS="-L/usr/local/lib -liconv -R/usr/local/lib"
  ./configure
  gmake
  gmake install
  export LDFLAGS="-L/usr/local/lib -R/usr/local/lib"

Cairo 1.4.10 の構築
  ./configure
  gmake
  gmake install

Pango 1.10.0 の構築
  ./configure
  gmake
  gmake check
  gmake install

Gtk+ 2.8.3 の構築
  バグを訂正
    gdk/x11/gdkdnd-x11.c

139c139
< } const xdnd_filters[] = {
---
> } xdnd_filters[] = {

  export CFLAGS="-Xt -g -xs" # -Xt は ANSI 準拠であることを明示する
  export PKG_CONFIG=/usr/local/bin/pkg-config
  ./configure
  一部の Makefile を修正する
    modules/input/Makefile の CFLAGS から -Xt を外す
  gmake
  gmake install

実行関連ファイルのコンフィグレーション
  mkdir -p /usr/local/etc/gtk-2.0
  gdk-pixbuf-query-loaders > /usr/local/etc/gtk-2.0/gdk-pixbuf.loaders
  pango-querymodules > /usr/local/etc/pango/pango.modules

フォントの設定
  /usr/local/etc/fonts/local.conf の作成 (Freetype)
    fonts.conf をコピーして dir タグ部分を次のように変更

        <dir>/usr/openwin/lib/locale/ja/X11/fonts</dir>
        <dir>/usr/openwin/lib/X11/fonts</dir>
        <dir>/usr/lib/X11/fonts</dir>
        <dir>~/.fonts</dir>

備考
  CPPFLAGS に指定するマクロディレクトリの順序は特に Gtk+ のビルドに
  重要であるから注意すること.
  (xReply は Solaris8 の OpenWindow で定義されている)

  GNU の libiconv をインストールしている場合, GLIB のビルドで混乱する.
  configure を実行するときに Native のを使うか GNU のを使うかきちんと
  指定してやる必要がある.
  ただし Native のを使うことにしても, /usr/local/lib にある方を先に
  リンクしてしまうため, うまく実行形式ができないので, 面倒である.
  いずれにしてもチェック (gmake check) において, かなりの率で gconvert の
  エラーにより失敗するから, どちらでもいい.

  Mozilla を Sun Forte C/C++ コンパイラで構築するには同じコンパイラで構築された
  Glib と Gtk+ が必要である. そうでないと, 起動はするものの, 画像の出力が乱れる
  などして良くない.

  Adobe Reader 7.0 の Solaris バイナリは Gtk+ 2 が必須.
  (しかし起動しない)


計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
海洋大循環分野
daigo@ocg.aori.u-tokyo.ac.jp