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

Solaris8 上で Forte6 コンパイラを使って GCC や binutils の構築に必要な GNU 数値演算ライブラリ gmp, mpfr, mpc を構築する


ソース
  gmp (GNU Multiple Precision arithmetric library)
    http://gmplib.org/
  mpfr (GNU Multiple-Precision Floating-point computations with correct Rounding)
    http://www.mpfr.org/
  mpc (GNU portable library written in C for arbitrary precision arithmetic on complex numbers providing correct rounding)
    http://mpc.multiprecision.org/

作業環境
  GNU make 3.80 以上
  UltraSPARC-IIe v9 の Sun Blade 100 と Sun Blade 150
    -xarch=v9 オプションでは64ビットになってしまい32ビット環境では使えないので
    -xarch=v8plus オプションで32ビットにして構築する

環境変数の設定
  PATH
    /usr/ucb を外す
    /usr/ccs/bin を加える
    /usr/local/bin を最後に移して検索順位を下げる

gmp のインストール (configure & make & make install)
  ソースを編集
    gen-bases.c, gen-fac_ui.c, gen-fib.c, gen-psqr.c にて Error で始まる行を
    出力する箇所に # を付け加えて #Error で始まるマクロになるようにする
  コンフィグレーション
    CC=cc CFLAGS="-xarch=v8plus -I/usr/local/include" \
    CXX=CC CXXFLAGS="-xarch=v8plus -I/usr/local/include" \
    CPPFLAGS="-I/usr/local/include" \
    LDFLAGS="-L/usr/local/lib" \
      ./configure ABI=32
  備考
    make check で reuse コマンドがエラーを起こすがとりあえず無視
    (v9環境では出ない)

mpfr のインストール (configure & make & make install)
  必ず gmp をインストールしてからメークする
  コンフィグレーション
    CC=cc CFLAGS="-xarch=v8plus -I/usr/local/include" \
    CXX=CC CXXFLAGS="-xarch=v8plus -I/usr/local/include" \
    CPPFLAGS="-I/usr/local/include" \
    LDFLAGS="-L/usr/local/lib" \
      ./configure ABI=32
  備考
    make check でエラー無し

mpc のインストール (configure & make & make install)
  必ず gmp, mpfr をインストールしてからメークする
  コンフィグレーション
    CC=cc CFLAGS="-xarch=v8plus -I/usr/local/include" \
    CXX=CC CXXFLAGS="-xarch=v8plus -I/usr/local/include" \
    CPPFLAGS="-I/usr/local/include" \
    LDFLAGS="-L/usr/local/lib" \
      ./configure ABI=32


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