IntelSolaris(64bit)でBIND
IntelSolaris上でBIND9.6.0-P1をソースからインストール。ソースをhttp://www.isc.org/からダウンロードして展開。configureをかけるとなにやらエラーが。
$ /usr/local/bin/tar -zxvf bind-9.6.0-P1.tar.gz $ cd bind-9.6.0-P1 $ ./configure --with-opnessl=/usr/local/ssl hecking build system type... i386-pc-solaris2.10 checking host system type... i386-pc-solaris2.10 checking whether make sets $(MAKE)... yes checking for ranlib... ranlib checking for a BSD-compatible install... ./install-sh -c checking whether ln -s works... yes checking for ar... /usr/local/bin/ar checking for etags... no checking for emacs-etags... no checking for perl5... no checking for perl... /usr/bin/perl checking for gcc... /usr/local/bin/cc checking for C compiler default output file name... configure: error: C compiler cannot create executables See `config.log' for more details.
config.logの該当箇所をみると、こんなエラー。
configure:3175: /usr/local/bin/cc conftest.c >&5 Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE confdef s.h. */ at conftest.c line 1. configure:3178: $? = 255 configure:3216: result: configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } configure:3223: error: C compiler cannot create executables See `config.log' for more details.
1行目ってことは /* 〜 */のコメント部でエラーになっているってこと?
切り出して試しても同じ結果。よくよく調べてみると/usr/local/bin/ccがなにやら怪しい。
$ file /usr/local/bin/cc /usr/local/bin/cc: 実行可能 /usr/perl5/5.8.4/bin/perl スクリプト
はぁ、そうですか。そりゃ/* */なんか解釈しないですよね。
なんでこんなのが入ってるんだか。じゃあってことで
$ export CC='/usr/sfw/bin/gcc' $ ./configure --with-openssl=/usr/local/openssl
まだエラーが
でもまだエラーがでますよ。
(前略) checking for sys/devpoll.h... yes checking if unistd.h or sys/types.h defines fd_set... yes checking whether byte ordering is bigendian... no checking for OpenSSL library... using OpenSSL from /usr/local/ssl/lib and /usr/local/ssl/include checking whether linking with OpenSSL works... no configure: error: Could not run test program using OpenSSL from /usr/local/ssl/lib and /usr/local/ssl/include. Please check the argument to --with-openssl and your shared library configuration (e.g., LD_LIBRARY_PATH).
config.logを見ると
configure:6130: /usr/sfw/bin/gcc -o conftest -g -O2 -I/usr/local/ssl/include -D _XPG4_2 -D__EXTENSIONS__ conftest.c -L/usr/local/ssl/lib -R/usr/local/ssl/lib -lcrypto >&5 ld: fatal: file /usr/local/ssl/lib/libcrypto.so: wrong ELF class: ELFCLASS64 ld: fatal: File processing errors. No output written to conftest
あー、みたことがあるな。4月21日のエントリに書いたやつだ。CFLAGをつけてやろう。
$ export CFLAGS='-m64' $ ./configure --with-openssl=/usr/local/openssl
ということで、ようやくconfigure,makeできました。