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