OpenSolarisでOpenSSLをmake
OpenSolaris上でOpenSSL1.0.0をmake。ソースを展開してconfigするとこんなエラーが。
$ ./config Operating system: i86pc-whatever-solaris2 This system (solaris64-x86_64-/usr/sfw/bin/gcc) is not supported. See file INSTALL for details.
SolarisX86は対象外だと。そんな寂しい。
でもエラーメッセージをよくみると、gccのところがフルパスになっているのがすこし変なことに気がつきます。
configの対象システムを判定するところを参照するとこんな風になっています。
PREFIX="" "config" 929 行、26930 バイト if [ $? = "0" ]; then OUT="$OUT-$CC" fi OUT="$PREFIX$OUT" $PERL ./Configure LIST | grep "$OUT" > /dev/null if [ $? = "0" ]; then echo Configuring for $OUT if [ "$TEST" = "true" ]; then echo $PERL ./Configure $OUT $options else $PERL ./Configure $OUT $options fi else echo "This system ($OUT) is not supported. See file INSTALL for details." fi )
上記エラーメッセージの括弧内のところ、エラーでは/usr/sfw/bin/gccとなっているところは環境変数のCCから持ってきてます。
./Configure LISTでSolaris関連の対象システムをチェックすると、
$ ./Configure LIST | grep solaris debug-solaris-sparcv8-cc debug-solaris-sparcv8-gcc debug-solaris-sparcv9-cc debug-solaris-sparcv9-gcc solaris-sparcv7-cc solaris-sparcv7-gcc solaris-sparcv8-cc solaris-sparcv8-gcc solaris-sparcv9-cc solaris-sparcv9-gcc solaris-x86-cc solaris-x86-gcc solaris64-sparcv9-cc solaris64-sparcv9-gcc solaris64-x86_64-cc solaris64-x86_64-gcc
CCをgccにして適切にパスを参照させれば大丈夫かな。
$ unset CC $ which gcc /usr/sfw/bin/gcc
こうやってから
$ ./config (中略) Configured for solaris64-x86_64-gcc.
と、これでconfigure,makeできました。