Bug #21158 mysql_config doesn't include -lmygcc
| Submitted: | 19 Jul 2006 17:27 | Modified: | 25 Feb 2008 18:22 |
|---|---|---|---|
| Reporter: | Monty Taylor | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Compiling | Severity: | S2 (Serious) |
| Version: | 5.0.41, 5.0.22 | OS: | Linux (linux) |
| Assigned to: | Timothy Smith | CPU Architecture: | Any |
[19 Jul 2006 17:27]
Monty Taylor
[19 Jul 2006 18:14]
Sveta Smirnova
Thank you for the report. Please, provide version of DBD::mysql you use.
[19 Jul 2006 18:44]
Monty Taylor
Used DBD::mysql 3.0006. Thanks!
[19 Jul 2006 20:28]
Sveta Smirnova
Verified as described on Linux using mysql-standard-5.0.22-linux-i686.tar.gz package. With BK sources works fine.
[27 Jul 2006 7:59]
Sveta Smirnova
We have similar bug #19532
[9 Aug 2006 0:44]
Warner Moore
This affects PHP as well, which unfortunately does not use mysql_config directly. Run configure: ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php --with-apxs=/usr/local/apache/bin/apxs --with-zlib=/usr/local --with-gd=/usr/local --with-png-dir=/usr/local --with-jpeg-dir=/usr/local --without-pear Configure fails: checking for mysql_close in -lmysqlclient... no checking for mysql_error in -lmysqlclient... no configure: error: mysql configure failed. Please check config.log for more information. Config.log output: see attachment. My comments: This is incredibly frustrating. I had to hack out DBD::mysql to get it to work, now this... I've yet to figure out a workaround I can implement in my build scripts.
[9 Aug 2006 0:46]
Warner Moore
Bah, I cannot attach files. Key output from config.log: configure:62118: checking base type of last arg to accept configure:62146: g++ -c conftest.C 1>&5 configure:62195: checking return type of qsort configure:62213: gcc -c -g -O2 conftest.c 1>&5 configure:62625: checking for mysql_close in -lmysqlclient configure:62644: gcc -o conftest -g -O2 -Wl,-rpath,/usr/local/mysql/lib -L/usr/local/mysql/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib conftest.c -lmysqlclient -lgd -lpng -lz -ljpeg -lz -l resolv -lm -ldl -lnsl 1>&5 /usr/local/mysql/lib/libmysqlclient.a(ssl.o)(.gnu.linkonce.d.__vt_Q25yaSSL7Message+0x8): undefined reference to `__pure_virtual' /usr/local/mysql/lib/libmysqlclient.a(ssl.o)(.gnu.linkonce.d.__vt_Q25yaSSL7Message+0xc): undefined reference to `__pure_virtual' /usr/local/mysql/lib/libmysqlclient.a(ssl.o)(.gnu.linkonce.d.__vt_Q25yaSSL7Message+0x10): undefined reference to `__pure_virtual' /usr/local/mysql/lib/libmysqlclient.a(ssl.o)(.gnu.linkonce.d.__vt_Q25yaSSL7Message+0x14): undefined reference to `__pure_virtual' /usr/local/mysql/lib/libmysqlclient.a(ssl.o)(.gnu.linkonce.d.__vt_Q25yaSSL7Message+0x18): undefined reference to `__pure_virtual' /usr/local/mysql/lib/libmysqlclient.a(cert_wrapper.o)(.text+0x76): In function `yaSSL::x509::~x509(void)':
[9 Aug 2006 0:47]
Warner Moore
Oh yes, this affects 5.0.24 as well.
[9 Aug 2006 0:59]
Warner Moore
This affects the statically compiled binaries but not the dynamically compiled binaries. I've not tested non x86 architecture nor have I tried the source packages. Affected: mysql-standard-5.0.24-linux-i686.tar.gz Not affected: mysql-standard-5.0.24-linux-i686-glibc23.tar.gz
[9 Aug 2006 18:33]
Antony Dovgal
Looks like yet another issue caused by YaSSL addition. See also http://bugs.mysql.com/bug.php?id=19817 and http://bugs.mysql.com/bug.php?id=19810
[13 Dec 2006 1:59]
Jim Winstead
This is a server issue, not DBD::mysql.
[13 Dec 2006 17:42]
Warner Moore
Substantiate your claim.
[31 Jul 2007 20:41]
Larry Irwin
The Perl module DBD-mysql-4.005 does not compile properly because of some errors in the file "mysql_config". I am using: mysqld Ver 5.0.41-log for pc-linux-gnu on i686 The solution: Edit /usr/local/mysql/bin/mysql_config. Change any line containing "-mcpu" to "-march" Change the line that contains: libs=" $ldflags -L$pkglibdir -lmysqlclient -lz -lcrypt -lnsl -lm " To: libs=" $ldflags -L$pkglibdir -lmysqlclient -lz -lcrypt -lnsl -lm -lmygcc " Change the line that contains: pkglibdir='/usr/local/mysql/lib/mysql' To: pkglibdir='/usr/local/mysql/lib' Change the line that contains: pkgincludedir='/usr/local/mysql/include/mysql' To: pkgincludedir='/usr/local/mysql/include' Then this works as expected without any changes to the DBD-mysql distro. perl Makefile.PL --testuser=[testuser] --testdb=test --testpassword=[testpassword] make make test make install
[14 Feb 2008 8:05]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/42259 ChangeSet@1.2578, 2008-02-14 01:05:25-07:00, tsmith@ramayana.hindu.god +1 -0 Bug #21158 mysql_config doesn't include -lmygcc Add -lmygcc to mysql_config output for libs, libs_r, and embedded_libs. Required when linking against our static libs, if yassl is used, and gcc used to build library is significantly different from that which is using the library.
[18 Feb 2008 21:33]
Timothy Smith
Patch queued to 5.0-, 5.1-, and 6.0-build
[25 Feb 2008 15:59]
Bugs System
Pushed into 5.1.24-rc
[25 Feb 2008 16:04]
Bugs System
Pushed into 5.0.58
[25 Feb 2008 16:04]
Bugs System
Pushed into 6.0.5-alpha
[25 Feb 2008 18:22]
Paul DuBois
Noted in 5.0.58, 5.1.24, 6.0.5 changelogs. mysql_config output did not include -lmygcc on some platforms when it was needed.
[29 Mar 2008 23:49]
Jon Stephens
Fix also documented for 5.1.23-ndb-6.3.11.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.047 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.