Bug #38324 | Cannot build with OpenSSL | ||
---|---|---|---|
Submitted: | 23 Jul 2008 22:01 | Modified: | 8 Feb 2010 10:44 |
Reporter: | Andy Shellam | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: Compiling | Severity: | S2 (Serious) |
Version: | 5.1.30, 5.1.32, 5.1.36, 5.1.42 | OS: | Other (Debian/GNU Linux 4.0r3) |
Assigned to: | CPU Architecture: | Any | |
Tags: | beta, MySQL, openssl, server |
[23 Jul 2008 22:01]
Andy Shellam
[29 Jul 2008 11:22]
Andy Shellam
Note, this is not a problem on FreeBSD. I successfully built 5.1.26-rc1 on FreeBSD 7.0-RELEASE-p2 using the command lines I had tried on Debian.
[31 Jul 2008 17:35]
Valeriy Kravchuk
Thank you for a problem report. What exact versions of OpenSSL you had used on Debian Linux and FreeBSD 7?
[31 Jul 2008 17:58]
Andy Shellam
Hi, this was with OpenSSL 0.9.8g on Debian and 0.9.8h on FreeBSD (darn, never noticed they were different until just!) Want me to try with h on Debian too?
[1 Aug 2008 5:26]
Valeriy Kravchuk
Please, try h on Debian, just to be sure OpenSSL version is not relevant.
[1 Aug 2008 7:51]
Andy Shellam
Hi, I've installed OpenSSL 0.9.8h on my server, retried with a fresh download and extract of MySQL 5.1.26-rc - same issue. I'll attach the config.log and make output (from the command "make > /tmp/make.log 2>&1" - this exited with return code 2.) Configure line was: ./configure --prefix=/usr/local/mysql --with-ssl=/usr/local/openssl --enable-assembler. Also tried enabling the "max-no-ndb" plugins: ./configure --prefix=/usr/local/mysql --with-ssl=/usr/local/openssl --enable-assembler --with-plugins=max-no-ndb Hope this helps!
[1 Aug 2008 7:53]
Andy Shellam
Configure and make log files
Attachment: bug-data-38324.zip (application/zip, text), 71.96 KiB.
[6 Aug 2008 6:28]
Valeriy Kravchuk
Please, send the results of: ls -l /usr/include | grep ssl from both Debian and FreeBSD machines.
[6 Aug 2008 16:54]
Andy Shellam
From the Debian machine: root / # ls -l /usr/include | grep ssl -rw-r--r-- 1 root root 7304 Oct 19 2006 cursslk.h root / # From the FreeBSD machine: root / # ls -l /usr/include | grep ssl drwxr-xr-x 2 root wheel 1536 Jul 17 21:29 openssl root / #
[15 Aug 2008 12:57]
Daniel Gubber
Apparently the CPPFLAG is not being read properly. Add the CFLAGS environment variable with "-I<path to ssl>" and it compiles fine.
[30 Nov 2008 11:42]
Andy Shellam
This is still the case with the stable release of MySQL 5.1.30. Here's my configure line, as recommended by the documentation: CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-ssl=/usr/local/openssl Configure produced the following line - note there is no presence of "-I/usr/local/openssl/include" which is where the OpenSSL include files are - I've had to manually set the CFLAGS. gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex -I../../sql -I. -DMYSQL_DYNAMIC_PLUGIN -O3 -felide-constructors -fno-exceptions -fno-rtti -fno-implicit-templates -fno-exceptions -fno-rtti -MT ha_archive_la-ha_archive.lo -MD -MP -MF .deps/ha_archive_la-ha_archive.Tpo -c ha_archive.cc -fPIC -DPIC -o .libs/ha_archive_la-ha_archive.o The "--with-ssl=/usr/local/openssl" should append "-I/usr/local/openssl/include" to the C/CPPFLAGS and "-L/usr/local/openssl -lssl -lcrypto" to the LDFLAGS.
[30 Nov 2008 12:00]
Andy Shellam
Adding CPPFLAGS="-I/usr/local/openssl/include" to the configure line worked.
[3 Mar 2009 21:00]
Kent Mein
I had the same problem on solaris. 5.10 and 5.10x86 with mysql 5.1.31 I had to add the ssl include manually for the following Makefiles. storage/archive/Makefile storage/archive/blackhole/Makefile storage/cvs/Makefile storage/example/Makefile storage/federated/Makefile storage/heap/Makefile storage/innobase/Makefile storage/myisam/Makefile storage/myisammrg/Makefile plugin/daemon_example/Makefile I was using --with-ssl=/usr/local and had to add -I/usr/local/include to those Makefiles to get things to work.
[10 Mar 2009 23:00]
Jan Alphenaar
Hi, I just tried to compile MySQL 5.1.32 on RedHat 2.6.18-8.el5 with OpenSSL version 0.9.8j Here is the output. Hope this helps in resolving this issue. Regards, Jan === BEGIN OUTPUT === make[2]: Entering directory `/home/jan/sources/mysql/sources/mysql-5.1.32/storage/archive' /bin/sh ../../libtool --preserve-dup-deps --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex -I../../sql -I. -I/opt/zlib/include -DMYSQL_DYNAMIC_PLUGIN -O3 -fno-implicit-templates -fno-exceptions -fno-rtti -MT ha_archive_la-ha_archive.lo -MD -MP -MF .deps/ha_archive_la-ha_archive.Tpo -c -o ha_archive_la-ha_archive.lo `test -f 'ha_archive.cc' || echo './'`ha_archive.cc g++ -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex -I../../sql -I. -I/opt/zlib/include -DMYSQL_DYNAMIC_PLUGIN -O3 -fno-implicit-templates -fno-exceptions -fno-rtti -MT ha_archive_la-ha_archive.lo -MD -MP -MF .deps/ha_archive_la-ha_archive.Tpo -c ha_archive.cc -o ha_archive_la-ha_archive.o In file included from ../../sql/mysql_priv.h:90, from ha_archive.cc:20: ../../include/violite.h:93:30: error: openssl/opensslv.h: No such file or directory ../../include/violite.h:109:25: error: openssl/ssl.h: No such file or directory ../../include/violite.h:110:25: error: openssl/err.h: No such file or directory In file included from ha_archive.cc:20: ../../sql/mysql_priv.h:1315:25: error: openssl/des.h: No such file or directory ../../include/violite.h:114: error: ISO C++ forbids declaration of 'SSL_CTX' with no type ../../include/violite.h:114: error: expected ';' before '*' token ../../sql/mysql_priv.h:1318: error: 'des_cblock' does not name a type ../../sql/mysql_priv.h:1322: error: 'des_key_schedule' does not name a type make[2]: *** [ha_archive_la-ha_archive.lo] Error 1 make[2]: Leaving directory `/home/jan/sources/mysql/sources/mysql-5.1.32/storage/archive' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/jan/sources/mysql/sources/mysql-5.1.32/storage' make: *** [all-recursive] Error 1 === END OUTPUT ===
[5 Apr 2009 18:12]
Valeriy Kravchuk
Try with 5.1.33 maybe. 5.1.34 still coimpiles OK for me with: ./configure --prefix=/home2/openxs/dbs/5.1 --with-ssl=/usr/local/ssl make clean make as soon as I have OpenSSL 0.9.8h installed in /usr/local/ssl.
[7 Apr 2009 7:51]
Jan Alphenaar
Hi again, Just tried to compile MySQL 5.1.33 on RedHat 2.6.18-8.e15 with OpenSSL version 0.9.8j, but I get the same error as with MySQL 5.1.32. For clarity I copied the commands I executed and the output below. Regards, Jan === BEGIN COMMANDS === ./configure --prefix=/opt/mysql --enable-thread-safe-client --enable-assembler --disable-shared --with-ssl=/opt/openssl --with-zlib-dir=/opt/zlib --without-docs make clean make === END COMMANDS === === BEGIN OUTPUT === Making all in archive make[2]: Entering directory `/home/jan/sources/mysql/sources/mysql-5.1.33/storage/archive' /bin/sh ../../libtool --preserve-dup-deps --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex -I../../sql -I. -I/opt/zlib/include -DMYSQL_DYNAMIC_PLUGIN -O3 -fno-implicit-templates -fno-exceptions -fno-rtti -MT ha_archive_la-ha_archive.lo -MD -MP -MF .deps/ha_archive_la-ha_archive.Tpo -c -o ha_archive_la-ha_archive.lo `test -f 'ha_archive.cc' || echo './'`ha_archive.cc g++ -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex -I../../sql -I. -I/opt/zlib/include -DMYSQL_DYNAMIC_PLUGIN -O3 -fno-implicit-templates -fno-exceptions -fno-rtti -MT ha_archive_la-ha_archive.lo -MD -MP -MF .deps/ha_archive_la-ha_archive.Tpo -c ha_archive.cc -o ha_archive_la-ha_archive.o In file included from ../../sql/mysql_priv.h:90, from ha_archive.cc:20: ../../include/violite.h:93:30: error: openssl/opensslv.h: No such file or directory ../../include/violite.h:109:25: error: openssl/ssl.h: No such file or directory ../../include/violite.h:110:25: error: openssl/err.h: No such file or directory In file included from ha_archive.cc:20: ../../sql/mysql_priv.h:1311:25: error: openssl/des.h: No such file or directory ../../include/violite.h:114: error: ISO C++ forbids declaration of 'SSL_CTX' with no type ../../include/violite.h:114: error: expected ';' before '*' token ../../sql/mysql_priv.h:1314: error: 'des_cblock' does not name a type ../../sql/mysql_priv.h:1318: error: 'des_key_schedule' does not name a type make[2]: *** [ha_archive_la-ha_archive.lo] Error 1 make[2]: Leaving directory `/home/jan/sources/mysql/sources/mysql-5.1.33/storage/archive' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/jan/sources/mysql/sources/mysql-5.1.33/storage' make: *** [all-recursive] Error 1 === END OUTPUT ===
[23 Apr 2009 21:43]
Jan Alphenaar
Hi again, Just tried to compile MySQL 5.1.34 on RedHat 2.6.18-8.e15 with OpenSSL version 0.9.8j, but I get the same error as with MySQL 5.1.30. Regards, Jan
[5 May 2009 23:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[21 Jun 2009 8:52]
Jan Alphenaar
Just tried for version 5.1.35, still a NO-GO. ======= BEGIN OUTPUT ======= ha_archive_la-ha_archive.lo `test -f 'ha_archive.cc' || echo './'`ha_archive.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex -I../../sql -I. -I../../zlib -DMYSQL_DYNAMIC_PLUGIN -O3 -fno-implicit-templates -fno-exceptions -fno-rtti -MT ha_archive_la-ha_archive.lo -MD -MP -MF .deps/ha_archive_la-ha_archive.Tpo -c ha_archive.cc -o ha_archive_la-ha_archive.o In file included from ../../sql/mysql_priv.h:90, from ha_archive.cc:20: ../../include/violite.h:93:30: error: openssl/opensslv.h: No such file or directory ../../include/violite.h:109:25: error: openssl/ssl.h: No such file or directory ../../include/violite.h:110:25: error: openssl/err.h: No such file or directory In file included from ha_archive.cc:20: ../../sql/mysql_priv.h:1330:25: error: openssl/des.h: No such file or directory ../../include/violite.h:114: error: ISO C++ forbids declaration of âSSL_CTXâ with no type ../../include/violite.h:114: error: expected â;â before â*â token ../../sql/mysql_priv.h:1333: error: âdes_cblockâ does not name a type ../../sql/mysql_priv.h:1337: error: âdes_key_scheduleâ does not name a type make[2]: *** [ha_archive_la-ha_archive.lo] Error 1 make[2]: Leaving directory `/home/jan/sources/mysql/sources/mysql-5.1.35/storage/archive' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/jan/sources/mysql/sources/mysql-5.1.35/storage' make: *** [all-recursive] Error 1 ======= END OUTPUT =======
[22 Jun 2009 20:21]
Andy Shellam
Still a problem with 5.1.35, and on Solaris 10.
[4 Jul 2009 20:37]
Jan Alphenaar
Just tried for version 5.1.36, still does not work... Is defect going to be fixed or is it abandoned?
[28 Jul 2009 10:10]
Sveta Smirnova
Thank you for the feedback. I can not repeat described behavior on different boxes. Please provide config.log file and indicate how you did install OpenSSL.
[28 Jul 2009 19:35]
Jan Alphenaar
Sure, this is the installation sequence for openssl and mysql. OpenSSL ======= tar zxvf ../download/openssl-0.9.8j.tar.gz cd openssl-0.9.8j ./config --prefix=/opt/openssl no-idea make clean make depend make make install cd .. rm -rf openssl-0.9.8j MySQL ===== tar zxvf ../download/mysql-5.1.36.tar.gz cd mysql-5.1.36 CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/opt/mysql \ --enable-thread-safe-client \ --enable-assembler \ --disable-shared \ --with-ssl=/opt/openssl \ --with-zlib-dir=/opt/zlib \ --without-docs make clean make Make fails with the following error message: ======= BEGIN OUTPUT ========= In file included from ../../sql/mysql_priv.h:90, from ha_archive.cc:20: ../../include/violite.h:93:30: error: openssl/opensslv.h: No such file or directory ../../include/violite.h:109:25: error: openssl/ssl.h: No such file or directory ../../include/violite.h:110:25: error: openssl/err.h: No such file or directory In file included from ha_archive.cc:20: ../../sql/mysql_priv.h:1330:25: error: openssl/des.h: No such file or directory ../../include/violite.h:114: error: ISO C++ forbids declaration of âSSL_CTXâ with no type ../../include/violite.h:114: error: expected â;â before â*â token ../../sql/mysql_priv.h:1333: error: âdes_cblockâ does not name a type ../../sql/mysql_priv.h:1337: error: âdes_key_scheduleâ does not name a type make[2]: *** [ha_archive_la-ha_archive.lo] Error 1 make[2]: Leaving directory `/home/jan/sources/mysql/sources/mysql-5.1.36/storage/archive' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/jan/sources/mysql/sources/mysql-5.1.36/storage' make: *** [all-recursive] Error 1 ======== END OUTPUT ========== The config.log should be attached as well. Please let me know if you have any other questions. Regards, Jan
[28 Jul 2009 19:38]
Jan Alphenaar
Compressed Config.log
Attachment: ConfigLog.rar (application/x-zip-compressed, text), 33.73 KiB.
[5 Aug 2009 18:58]
Jan Alphenaar
Hi again, Just tried to compile MySQL 5.1.37 on RedHat 2.6.18-8.e15 with OpenSSL version 0.9.8j, but I still get the same error as before... Regards, Jan
[19 Sep 2009 14:18]
Jan Alphenaar
Hi again, Just tried to compile MySQL 5.1.38 on RedHat 2.6.18-8.e15 with OpenSSL version 0.9.8j, but I still get the same error as before... Regards, Jan
[24 Oct 2009 7:33]
Jan Alphenaar
Hi again, Just tried to compile MySQL 5.1.40 on RedHat 2.6.18-8.e15 with OpenSSL version 0.9.8j, but I still get the same error as before... Regards, Jan
[6 Jan 2010 12:51]
Jan Alphenaar
Hi again, Just tried to compile MySQL 5.1.42 on RedHat2.6.18-164.el5 with OpenSSL version 0.9.8j, but I still get the same error as before... Regards, Jan
[10 Jan 2010 2:19]
Daan van den Berg
I can confirm this bug with both 5.1.40 and 5.1.42 on Ubuntu 9.10 x86_64, OpenSSL 0.9.8l. GCC is version 4.4.1-1ubuntu2. Adding CPPFLAGS="-I/usr/local/openssl/include" and LDFLAGS="-L/usr/local/openssl/lib" works though. Contrary to previous posts, I saw that these flags DID exist in the makefiles, but somehow they weren't used during compile time. Adding them manually works.
[8 Feb 2010 10:44]
Sveta Smirnova
Thank you for the feedback. I tried to verify it on various boxes including fresh Debian install without luck. So I close the report as "Can't repeat".
[8 Feb 2010 22:44]
Jan Alphenaar
Hi Sveta, I cannot believe this, did you try it on RedHat ? Regards, Jan
[9 Feb 2010 6:05]
Sveta Smirnova
Jan, yes, I did.
[7 Jan 2011 15:24]
Jan Alphenaar
Hi Sveta, That is very strange. I have just upgraded my MYSQL databases to version 5.5.8. The configure command has been replaced with the cmake command. As a result, this issue is not appearing anymore. Finally this bug can be closed (it already was). Warm regards, Jan