興味のない方は読み飛ばしてください。
2011/02/22 追記
ppl-0.11.1以降、パッチ等は不要になりましたので、記事を書き直しました。
PPLのコンパイル&インストール (ppl-0.11.1以降)
PPLは、以下の場所にあります。
最新版は、こちらでチェックしてください。
http://www.cs.unipr.it/ppl/
先に、GMPをインストールしておいてください。
Download
http://www.cs.unipr.it/ppl/Download/
Source distributions
bzip2 tar archive
ftp または http より、
ppl-0.11.tar.bz2
を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf ppl-0.11.tar.bz2
$ cd ppl-0.11
$ ./configure --prefix=/mingw --disable-debugging --disable-shared
$ make
$ make install
以上で終了です。
【補足】
gmp-5.0.1をインストールした場合、configureでgmpを見つけられなくて失敗するのですが、こちらにその情報があります。
http://www.cs.unipr.it/pipermail/ppl-devel/2010-January/015873.html
上記の記事より、パッチをダウンロードします。
ftp://ftp.cruxppc.org/cruxppc/distfiles/2.6/ppl-0.10.2-gmp-5-fix.patch
2010/08/24 追記
ppl-0.11から、gmp-5.0.1用のパッチは不要になりましたが、autoreconfは必要です。
autoreconfは、
http://sourceforge.net/downloads/mingw/MSYS/autoconf/autoconf-2.63-1/
autoconf-2.63-1-msys-1.0.11-bin.tar.lzma
に、アップデートしておいてください。
ついでに、automakeも
http://sourceforge.net/downloads/mingw/MSYS/automake/automake-1.11-1/
automake-1.11-1-msys-1.0.11-bin.tar.lzma
に、アップデートしておいてください。
autoconf-2.65も出ていますが、2.65だとxvidocoreのbootstrap.shで失敗するので、2.63にしています。
$ tar xjf ppl-0.11.tar.bz2
$ cd ppl-0.11
$ autoreconf
$ ./configure --prefix=/mingw --disable-debugging --disable-shared
$ make
$ make install
autoreconf以外の手順は同じです。
gmp-4.3.2をインストールした場合は、上記のパッチは不要です。
【更新履歴】を見る
一通り頑張ってみましたが、PPLでこけます。
どうもデモファイルのリンク中にこけるようで。
GMPの問題なのかなあ。
そういえばGMPだけconfigureの時に検出CPUタイプが違ったような…
報告だけ。
こんばんは
試してみたところこういうエラーが出ました
何か足りないかもしれませんね・・・
もうちょっといろいろやってみます
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -I/mingw/include -
g -O2 -frounding-math -W -Wall -MT Box.lo -MD -MP -MF .deps/Box.Tpo -c Box.cc -
DDLL_EXPORT -DPIC -o .libs/Box.o
In file included from checked.defs.hh:595,
from Checked_Number.defs.hh:27,
from Coefficient.types.hh:15,
from Coefficient.defs.hh:26,
from Box.defs.hh:28,
from Box.cc:24:
checked.inlines.hh: In function `Parma_Polyhedra_Library::Result Parma_Polyhedra
_Library::Checked::input_generic(Type&, std::istream&, Parma_Polyhedra_Library::
Rounding_Dir)':
checked.inlines.hh:607: internal compiler error: in invert_truthvalue, at fold-c
onst.c:2700
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.mingw.org/bugs.shtml> for instructions.
おしい感じですね。
その後どうでしょうか?
configure 1回目で失敗しても、そのままconfigureやり直すと通ることもあります。
他に気をつけることといえば、binutils-2.20.51にアップデートすることくらいです。
gcc-3.4.5辺りを使っているとそのようなエラーが出ることがあるようですが、お使いのgccのバージョンは何ですか?
http://www.cs.unipr.it/pipermail/ppl-devel/2009-August/015207.html
PPLのコンパイルには、gcc-4.0.3以上が必要だそうです。
こんばんわー
なるほど!MINGWデフォルトだから3.4.5ですね!
バージョンアップしますー
ありがとうございました!!
うんともすんとも行かないです。
configure:16850: g++ -o conftest.exe -g -O2 -frounding-math -I/mingw/include -I/mingw/include -L/mingw/lib conftest.cpp /mingw/lib/libgmpxx.dll.a /mingw/lib/libgmp.dll.a -L/mingw/lib -L/mingw/lib >&5
Info: resolving ___gmp_version by linking to __imp____gmp_version (auto-import)
Info: resolving ___gmp_bits_per_limb by linking to __imp____gmp_bits_per_limb (auto-importc:/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../../mingw32/bin/ld.exe: warning: auto-importing has been activated without --enable-auto-import specified on the command line.
This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.
C:\Users\takahiro\AppData\Local\Temp\ccFB38a6.o: In function `main':
C:\msys\1.0\home\takahiro\ppl-0.10.2/conftest.cpp:93: undefined reference to `_Unwind_Resume'
C:\Users\takahiro\AppData\Local\Temp\ccFB38a6.o:conftest.cpp:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0)
'
collect2: ld returned 1 exit status
configure:16854: $? = 1
configure: program exited with status 1
configure: failed program was:
…
ということらしいのですが。
よくわからないです…