gmp 4.2.2 を intel compiler 10 で再コンパイル

ここでは、「gmp 4.2.2 を intel compiler 10 で再コンパイル」 に関する記事を紹介しています。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
関連記事:「gmp 5.0.1 を Intel Compiler 11.1 で再コンパイル

前々から気になっていた件。
gmp 4.2.2 を intel compiler 10 で再コンパイルしてみた。

% uname -a
Linux **** 2.6.25-10ma1 #1 SMP Fri Jul 4 00:01:18 JST 2008 i686 i686 i386 GNU/Linux

% cat /proc/cpuinfo|grep name
model name : Intel(R) Core(TM)2 CPU 6700 @ 2.66GHz
model name : Intel(R) Core(TM)2 CPU 6700 @ 2.66GHz

な環境。

% ./configure --prefix=hoge --exec-prefix=fuga ABI=32 CC="icc -no-gcc" CFLAGS="-O3 -unroll-aggressive -mtune=core2 -msse3 -prefetch -xT -pthread"
% make
% make clean
% make install
で普通に通ってくれた。
備忘録用に make install の実行結果を貼ってみる。

% make install
make install-recursive
make[1]: ディレクトリ `****/gmp-4.2.2' に入ります
Making install in tests
make[2]: ディレクトリ `****/gmp-4.2.2/tests' に入ります
Making install in .
make[3]: ディレクトリ `****/gmp-4.2.2/tests' に入ります
make[4]: ディレクトリ `****/gmp-4.2.2/tests' に入ります
make[4]: `install-exec-am' に対して行うべき事はありません.
make[4]: `install-data-am' に対して行うべき事はありません.
make[4]: ディレクトリ `****/gmp-4.2.2/tests' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2/tests' から出ます
Making install in devel
make[3]: ディレクトリ `****/gmp-4.2.2/tests/devel' に入ります
make[4]: ディレクトリ `****/gmp-4.2.2/tests/devel' に入ります
make[4]: `install-exec-am' に対して行うべき事はありません.
make[4]: `install-data-am' に対して行うべき事はありません.
make[4]: ディレクトリ `****/gmp-4.2.2/tests/devel' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2/tests/devel' から出ます
Making install in mpn
make[3]: ディレクトリ `****/gmp-4.2.2/tests/mpn' に入ります
make[4]: ディレクトリ `****/gmp-4.2.2/tests/mpn' に入ります
make[4]: `install-exec-am' に対して行うべき事はありません.
make[4]: `install-data-am' に対して行うべき事はありません.
make[4]: ディレクトリ `****/gmp-4.2.2/tests/mpn' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2/tests/mpn' から出ます
Making install in mpz
make[3]: ディレクトリ `****/gmp-4.2.2/tests/mpz' に入ります
make[4]: ディレクトリ `****/gmp-4.2.2/tests/mpz' に入ります
make[4]: `install-exec-am' に対して行うべき事はありません.
make[4]: `install-data-am' に対して行うべき事はありません.
make[4]: ディレクトリ `****/gmp-4.2.2/tests/mpz' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2/tests/mpz' から出ます
Making install in mpq
make[3]: ディレクトリ `****/gmp-4.2.2/tests/mpq' に入ります
make[4]: ディレクトリ `****/gmp-4.2.2/tests/mpq' に入ります
make[4]: `install-exec-am' に対して行うべき事はありません.
make[4]: `install-data-am' に対して行うべき事はありません.
make[4]: ディレクトリ `****/gmp-4.2.2/tests/mpq' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2/tests/mpq' から出ます
Making install in mpf
make[3]: ディレクトリ `****/gmp-4.2.2/tests/mpf' に入ります
make[4]: ディレクトリ `****/gmp-4.2.2/tests/mpf' に入ります
make[4]: `install-exec-am' に対して行うべき事はありません.
make[4]: `install-data-am' に対して行うべき事はありません.
make[4]: ディレクトリ `****/gmp-4.2.2/tests/mpf' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2/tests/mpf' から出ます
Making install in rand
make[3]: ディレクトリ `****/gmp-4.2.2/tests/rand' に入ります
make[4]: ディレクトリ `****/gmp-4.2.2/tests/rand' に入ります
make[4]: `install-exec-am' に対して行うべき事はありません.
make[4]: `install-data-am' に対して行うべき事はありません.
make[4]: ディレクトリ `****/gmp-4.2.2/tests/rand' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2/tests/rand' から出ます
Making install in misc
make[3]: ディレクトリ `****/gmp-4.2.2/tests/misc' に入ります
make[4]: ディレクトリ `****/gmp-4.2.2/tests/misc' に入ります
make[4]: `install-exec-am' に対して行うべき事はありません.
make[4]: `install-data-am' に対して行うべき事はありません.
make[4]: ディレクトリ `****/gmp-4.2.2/tests/misc' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2/tests/misc' から出ます
Making install in cxx
make[3]: ディレクトリ `****/gmp-4.2.2/tests/cxx' に入ります
make[4]: ディレクトリ `****/gmp-4.2.2/tests/cxx' に入ります
make[4]: `install-exec-am' に対して行うべき事はありません.
make[4]: `install-data-am' に対して行うべき事はありません.
make[4]: ディレクトリ `****/gmp-4.2.2/tests/cxx' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2/tests/cxx' から出ます
Making install in mpbsd
make[3]: ディレクトリ `****/gmp-4.2.2/tests/mpbsd' に入ります
make[4]: ディレクトリ `****/gmp-4.2.2/tests/mpbsd' に入ります
make[4]: `install-exec-am' に対して行うべき事はありません.
make[4]: `install-data-am' に対して行うべき事はありません.
make[4]: ディレクトリ `****/gmp-4.2.2/tests/mpbsd' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2/tests/mpbsd' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2/tests' から出ます
Making install in mpn
make[2]: ディレクトリ `****/gmp-4.2.2/mpn' に入ります
make[3]: ディレクトリ `****/gmp-4.2.2/mpn' に入ります
make[3]: `install-exec-am' に対して行うべき事はありません.
make[3]: `install-data-am' に対して行うべき事はありません.
make[3]: ディレクトリ `****/gmp-4.2.2/mpn' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2/mpn' から出ます
Making install in mpz
make[2]: ディレクトリ `****/gmp-4.2.2/mpz' に入ります
make[3]: ディレクトリ `****/gmp-4.2.2/mpz' に入ります
make[3]: `install-exec-am' に対して行うべき事はありません.
make[3]: `install-data-am' に対して行うべき事はありません.
make[3]: ディレクトリ `****/gmp-4.2.2/mpz' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2/mpz' から出ます
Making install in mpq
make[2]: ディレクトリ `****/gmp-4.2.2/mpq' に入ります
make[3]: ディレクトリ `****/gmp-4.2.2/mpq' に入ります
make[3]: `install-exec-am' に対して行うべき事はありません.
make[3]: `install-data-am' に対して行うべき事はありません.
make[3]: ディレクトリ `****/gmp-4.2.2/mpq' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2/mpq' から出ます
Making install in mpf
make[2]: ディレクトリ `****/gmp-4.2.2/mpf' に入ります
make[3]: ディレクトリ `****/gmp-4.2.2/mpf' に入ります
make[3]: `install-exec-am' に対して行うべき事はありません.
make[3]: `install-data-am' に対して行うべき事はありません.
make[3]: ディレクトリ `****/gmp-4.2.2/mpf' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2/mpf' から出ます
Making install in printf
make[2]: ディレクトリ `****/gmp-4.2.2/printf' に入ります
make[3]: ディレクトリ `****/gmp-4.2.2/printf' に入ります
make[3]: `install-exec-am' に対して行うべき事はありません.
make[3]: `install-data-am' に対して行うべき事はありません.
make[3]: ディレクトリ `****/gmp-4.2.2/printf' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2/printf' から出ます
Making install in scanf
make[2]: ディレクトリ `****/gmp-4.2.2/scanf' に入ります
make[3]: ディレクトリ `****/gmp-4.2.2/scanf' に入ります
make[3]: `install-exec-am' に対して行うべき事はありません.
make[3]: `install-data-am' に対して行うべき事はありません.
make[3]: ディレクトリ `****/gmp-4.2.2/scanf' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2/scanf' から出ます
Making install in cxx
make[2]: ディレクトリ `****/gmp-4.2.2/cxx' に入ります
make[3]: ディレクトリ `****/gmp-4.2.2/cxx' に入ります
make[3]: `install-exec-am' に対して行うべき事はありません.
make[3]: `install-data-am' に対して行うべき事はありません.
make[3]: ディレクトリ `****/gmp-4.2.2/cxx' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2/cxx' から出ます
Making install in mpbsd
make[2]: ディレクトリ `****/gmp-4.2.2/mpbsd' に入ります
make[3]: ディレクトリ `****/gmp-4.2.2/mpbsd' に入ります
make[3]: `install-exec-am' に対して行うべき事はありません.
make[3]: `install-data-am' に対して行うべき事はありません.
make[3]: ディレクトリ `****/gmp-4.2.2/mpbsd' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2/mpbsd' から出ます
Making install in demos
make[2]: ディレクトリ `****/gmp-4.2.2/demos' に入ります
Making install in calc
make[3]: ディレクトリ `****/gmp-4.2.2/demos/calc' に入ります
make install-am
make[4]: ディレクトリ `****/gmp-4.2.2/demos/calc' に入ります
make[5]: ディレクトリ `****/gmp-4.2.2/demos/calc' に入ります
make[5]: `install-exec-am' に対して行うべき事はありません.
make[5]: `install-data-am' に対して行うべき事はありません.
make[5]: ディレクトリ `****/gmp-4.2.2/demos/calc' から出ます
make[4]: ディレクトリ `****/gmp-4.2.2/demos/calc' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2/demos/calc' から出ます
Making install in expr
make[3]: ディレクトリ `****/gmp-4.2.2/demos/expr' に入ります
make[4]: ディレクトリ `****/gmp-4.2.2/demos/expr' に入ります
make[4]: `install-exec-am' に対して行うべき事はありません.
make[4]: `install-data-am' に対して行うべき事はありません.
make[4]: ディレクトリ `****/gmp-4.2.2/demos/expr' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2/demos/expr' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2/demos' に入ります
make[4]: ディレクトリ `****/gmp-4.2.2/demos' に入ります
make[4]: `install-exec-am' に対して行うべき事はありません.
make[4]: `install-data-am' に対して行うべき事はありません.
make[4]: ディレクトリ `****/gmp-4.2.2/demos' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2/demos' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2/demos' から出ます
Making install in tune
make[2]: ディレクトリ `****/gmp-4.2.2/tune' に入ります
make[3]: ディレクトリ `****/gmp-4.2.2/tune' に入ります
make[3]: `install-exec-am' に対して行うべき事はありません.
make[3]: `install-data-am' に対して行うべき事はありません.
make[3]: ディレクトリ `****/gmp-4.2.2/tune' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2/tune' から出ます
Making install in doc
make[2]: ディレクトリ `****/gmp-4.2.2/doc' に入ります
make[3]: ディレクトリ `****/gmp-4.2.2/doc' に入ります
make[3]: `install-exec-am' に対して行うべき事はありません.
test -z "hoge/info" || mkdir -p -- . "hoge/info"
/usr/bin/install -c -m 644 './gmp.info' 'hoge/info/gmp.info'
/usr/bin/install -c -m 644 './gmp.info-1' 'hoge/info/gmp.info-1'
/usr/bin/install -c -m 644 './gmp.info-2' 'hoge/info/gmp.info-2'
make[3]: ディレクトリ `****/gmp-4.2.2/doc' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2/doc' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2' に入ります
make[3]: ディレクトリ `****/gmp-4.2.2' に入ります
test -z "hoge/info" || mkdir -p -- . "hoge/info"
/usr/bin/install -c -m 644 './gmp.info' 'hoge/info/gmp.info'
/usr/bin/install -c -m 644 './gmp.info-1' 'hoge/info/gmp.info-1'
/usr/bin/install -c -m 644 './gmp.info-2' 'hoge/info/gmp.info-2'
make[3]: ディレクトリ `****/gmp-4.2.2/doc' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2/doc' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2' に入ります
make[3]: ディレクトリ `****/gmp-4.2.2' に入ります
test -z "hoge/lib" || mkdir -p -- . "hoge/lib"
/bin/sh ./libtool --mode=install /usr/bin/install -c 'libgmp.la' 'hoge/lib/libgmp.la'
/usr/bin/install -c .libs/libgmp.so.3.4.2 hoge/lib/libgmp.so.3.4.2
(cd hoge/lib && { ln -s -f libgmp.so.3.4.2 libgmp.so.3 || { rm -f libgmp.so.3 && ln -s libgmp.so.3.4.2 libgmp.so.3; }; })
(cd hoge/lib && { ln -s -f libgmp.so.3.4.2 libgmp.so || { rm -f libgmp.so && ln -s libgmp.so.3.4.2 libgmp.so; }; })
/usr/bin/install -c .libs/libgmp.lai hoge/lib/libgmp.la
/usr/bin/install -c .libs/libgmp.a hoge/lib/libgmp.a
chmod 644 hoge/lib/libgmp.a
ranlib hoge/lib/libgmp.a
PATH="$PATH:/sbin" ldconfig -n hoge/lib
----------------------------------------------------------------------
Libraries have been installed in:
hoge/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "hoge/include" || mkdir -p -- . "hoge/include"
/usr/bin/install -c -m 644 'gmp.h' 'hoge/include/gmp.h'
test -z "hoge/include" || mkdir -p -- . "hoge/include"
make install-data-hook
make[4]: ディレクトリ `****/gmp-4.2.2' に入ります

+-------------------------------------------------------------+
| CAUTION: |
| |
| If you have not already run "make check", then we strongly |
| recommend you do so. |
| |
| GMP has been carefully tested by its authors, but compilers |
| are all too often released with serious bugs. GMP tends to |
| explore interesting corners in compilers and has hit bugs |
| on quite a few occasions. |
| |
+-------------------------------------------------------------+

make[4]: ディレクトリ `****/gmp-4.2.2' から出ます
make[3]: ディレクトリ `****/gmp-4.2.2' から出ます
make[2]: ディレクトリ `****/gmp-4.2.2' から出ます
make[1]: ディレクトリ `****/gmp-4.2.2' から出ます




どうもコンパイルオプションに -fast をつけると configure の時点でこけてしまう模様。


最初、make check が通らなくてあせったが、よく見てみると環境変数 LD_LIBRARY_PATH の設定を書き間違えていたのが原因だった。
そのとき出たエラーは


make check-TESTS
make[4]: ディレクトリ `****/gmp-4.2.2/tests' に入ります
****/gmp-4.2.2/tests/.libs/lt-t-bswap: error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory
FAIL: t-bswap
****/gmp-4.2.2/tests/.libs/lt-t-constants: error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory
後略


な具合。libimf.soでぐぐって事なきを得た。





そういや、コンパイルオプションの書き方変だった

icc: command line warning #10121: overriding '-msse3' with '-xT'


とかでてるし。-msse3 はとっとくか。
スポンサーサイト
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://tekitobibouroku.blog42.fc2.com/tb.php/46-05d04322
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。