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できました。