mysql:13090
From: Ryutaro Amano <Ryutaro Amano <wn9r-amn@xxxxxxxxxx>>
Date: Mon, 12 Jun 2006 17:16:47 +0900
Subject: [mysql 13090] 5.0.22とopensslとOSX
天野竜太郎と申します。 Mac OSX 10.4.6 PowerPC 32bitです。 MySQL5.0.22をソースからインストールしようと思い、以下の configureオプションを付けましたが、 CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno- exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql -- localstatedir=/usr/local/mysql/data --enable-thread-safe-client -- with-unix-socket-path=/private/tmp/mysql.sock --without-readline -- with-extra-charsets=all --with-mysqld-user=mysql --with-openssl=/usr checking for OpenSSL... ./configure: line 38941: test: too many arguments Could not find an installation of OpenSSL となります。同じオプションで、4.1.20では問題ありません。 configureファイルのopenssl関連の個所を見ますと、 4.1.20 ------------------------------------------------------------------------ ----- incs="$openssl_includes" libs="$openssl_libs" eval shrexts=\"$shrext_cmds\" case "$incs---$libs" in ---) for d in /usr/ssl/include /usr/local/ssl/include /usr/ include \ /usr/include/ssl /opt/ssl/include /opt/openssl/include \ /usr/local/ssl/include /usr/local/include /usr/freeware/include ; do if test -f $d/openssl/ssl.h ; then OPENSSL_INCLUDE=-I$d fi done for d in /usr/ssl/lib /usr/local/ssl/lib /usr/lib/openssl \ /usr/lib /usr/lib64 /opt/ssl/lib /opt/openssl/lib \ /usr/freeware/lib32 /usr/local/lib/ ; do # Just to be safe, we test for ".so" anyway if test -f $d/libssl.a || test -f $d/libssl.so || test -f $d/ libssl$shrexts ; then OPENSSL_LIB=$d fi done ;; ---* | *---) { { echo "$as_me:$LINENO: error: if either 'includes' or 'libs' is specified, both must be specified" >&5 echo "$as_me: error: if either 'includes' or 'libs' is specified, both must be specified" >&2;} { (exit 1); exit 1; }; } ;; * ) if test -f $incs/openssl/ssl.h ; then OPENSSL_INCLUDE=-I$incs fi # Just to be safe, we test for ".so" anyway if test -f $libs/libssl.a || test -f $libs/libssl.so || test - f "$libs/libssl$shrexts" ; then OPENSSL_LIB=$libs fi ;; esac ------------------------------------------------------------------------ ----------- 5.0.22 ------------------------------------------------------------------------ ----------- incs="$openssl_includes" libs="$openssl_libs" case "$incs---$libs" in ---) for d in /usr/ssl/include /usr/local/ssl/include /usr/ include \ /usr/include/ssl /opt/ssl/include /opt/openssl/include \ /usr/local/ssl/include /usr/local/include /usr/freeware/include ; do if test -f $d/openssl/ssl.h ; then OPENSSL_INCLUDE=-I$d fi done for d in /usr/ssl/lib /usr/local/ssl/lib /usr/lib/openssl \ /usr/lib /usr/lib64 /opt/ssl/lib /opt/openssl/lib \ /usr/freeware/lib32 /usr/local/lib/ ; do # Just to be safe, we test for ".so" anyway if test -f $d/libssl.a || test -f $d/libssl.so || test -f $d/ libssl$shrext_cmds ; then OPENSSL_LIB=$d fi done ;; ;; ---* | *---) { { echo "$as_me:$LINENO: error: if either 'includes' or 'libs' is specified, both must be specified" >&5 echo "$as_me: error: if either 'includes' or 'libs' is specified, both must be specified" >&2;} { (exit 1); exit 1; }; } ;; * ) if test -f $incs/openssl/ssl.h ; then OPENSSL_INCLUDE=-I$incs fi # Just to be safe, we test for ".so" anyway if test -f $libs/libssl.a || test -f $libs/libssl.so || test - f "$libs/libssl$shrext_cmds" ; then OPENSSL_LIB=$libs fi ;; esac ------------------------------------------------------------------------ ----------- 4.1.20 には、eval shrexts=\"$shrext_cmds\" が あり、 5.0.22で、libssl$shrext_cmds となっているところが、libssl $shrexts となっています。 違う個所を4.1.20のようにすると、configure、 makeは通ります。 これは、Mysql-5.0.22の問題なのでしょうか? それとも OSX側に問題があるのでしょうか? 仕事で使うわけでもなく、ローカル内で、単に趣味程度で運用するぐら いですが。 Ryutaro Amano wn9r-amn@xxxxxxxxxx