4‘*-*-aix[34]*’上では共有ライブラリがデフォルトでは使用不可になっています。ネイティブarが利用できないからなのですが,共有ライブラリとしてビルドしたい時には次のようにオプション指定を行います。.aしか認識しない古いldが利用できるようになるからです。不幸にしてフル機能が使えるldでない限りは共有ライブラリの利用が出来ないことになります。2.95.3以上では符号なし除算に関してバグが存在しており,結果がおかしくなることがあります。2.95.4以降であることを要求します。__USE_STD_IOSTREAMを指定して次のように設定を行います。CPPFLAGS=-D__USE_STD_IOSTREAM浮動小数点演算モードハードウェアが直接実行する浮動小数点演算では,特定の演算精度の設定が可能な制御モードが存在するケースがあります。double型を使用するGMP関数は,単精度モードではフル精度の保障ができません。この場合はもちろんGMPに限らず,全てのアプリケーションに影響が及びます。9.2上記のFreeBSDリリースに含まれるm4は2番目と3番目の引数を無視してくれる評価関数を持っており,.asmファイルを処理するのには向いていません。‘./configure’ではこの問題を見つけてPATHから別のm4を見つけて利用するようになっています。m4を使うようにして下さい。m4を‘gm4’という名前でインストールしますが,この名前ではGMPは認識しません。1.0以降の環境ではサポートしません。limits.hが壊れているせいで,GMPが動作しなくなってしまいます。MINGWでGMPをビルドできます。この3つのコンパイラ環境は,いずれもGCCとGNUツールの優れた移植です。Unix”をリリースしており,この環境下でWindows用のGMPをビルドできます(通常の‘./configure’を使う)。これは有料ソフトウェアです。‘*-*-mingw*’,‘*-*-pw32*’環境下では,オプションなしで実行すると静的ライブラリしかビルドできません。次のように指定します。--enable-shared静的ライブラリと動的ライブラリ(DLL)を両方ビルドすることはできず,それぞれに対しては異なるディレクティブを含むgmp.hを使うことになります。Libtoolは.libフォーマットのインポートライブラリを生成しませんので,MSのlibコマンドを使って下記のように生成し,インストールディレクトリにコピーして下さい。libgmpxxに対しても同様にインポートライブラリを生成できます。/MD’オプション付きでコンパイルして下さい。Cのランタイムライブラリが必要な場合,例えばGMPの文字列関数やアプリケーションへのI/Oが必要な場合も,同様にリンクして下さい。タイプのCPU‘m68k’は68000を意味します。‘m68020’以上のCPUでは更に性能向上が見込めます。‘m68360’はCPU32シリーズのCPUです。‘m68302’は“ドラゴンボール(Dragonball)”シリーズのCPUで,これらは全て‘m68000’のCPUファミリーに属します。5.xこれらのNetBSDのリリースに含まれるm4は2番目と3番目の引数を無視する評価関数が入っており,.asmファイルを処理するには適切ではありません。‘./configure’はこの問題を認識してPATHから使える他のm4を探して適用します。m4を利用して下さい。‘gm4’という名前でインストールしますので,GMPが認識できなくなります。evalのバグがあり,.asmファイルの処理に向いていません。‘./configure’はこの問題に対処するため,PATHが通っている他のm4を見つけて使用します。m4を利用して下さい。‘powerpc*’といったCPUタイプごとに,相互に使用できない命令を使っています。従って,正しいCPUを指定することは大切です。現在のGMP実装では,アセンブラコードで共通に使用できる命令サブセットをサポートしていません。適切なコンパイラオプション(gcc用には‘-mcpu=common’等)を指定して下さい。config.subで利用できますが,これは現状,--disable-assemblyと等価ではありません。‘sparcv8’や‘supersparc’ファミリーは,標準の‘sparc’用のV7コードを高速に実行できます。g3,g4を痛めつけます(?)。(g4レジスタをデータセグメントのポインタとして利用)にも,これらのレジスタを特別な目的で使用する予定のアプリケーションにも向いていません。--disable-assemblyを指定し,アセンブラコードを使わないようにした方がいいでしょう。4/usr/bin/m4が入っていないので,.asmファイルの処理ができません。どちらでも使えるバイナリを作りたいのであれば,‘i386’を選択して下さい。SSE2用コードCPUではMMX命令を使用可能でもアセンブラがサポートしていない場合は,警告が出てMMXが使用できません。低レベルのビルドを行ってMMXコードを適用すれば,標準の整数コードよりも高速に実行できるようになります。同じことはSSE2にも言えます。1.92.3はダメです。2.6と2.7のasは,movq命令を実行するとレジスターに対して不正なオブジェクトコードを生成してしまいます。従って,MMX命令も使えません。使いたいのであれば,新しいgasをインストールして下さい。