Bug #31268 Build failure on host 'sol10-amd64-a', build does not find 64bit libstdc++
| Submitted: | 28 Sep 2007 3:31 | Modified: | 5 Dec 2007 20:26 |
|---|---|---|---|
| Reporter: | Antony Curtis | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
| Version: | 6.0 | OS: | Solaris (amd64) |
| Assigned to: | Kent Boortz | CPU Architecture: | Any |
[28 Sep 2007 3:31]
Antony Curtis
[28 Sep 2007 9:26]
Valeriy Kravchuk
Thank you for a problem report. Please, send the result of: echo $LD_LIBRARY_PATH Do you have 64-bit version at all on that system?
[26 Oct 2007 9:52]
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/36422 ChangeSet@1.2648, 2007-10-26 02:52:17-07:00, antony@pcg5ppc.xiphis.org +1 -0 Bug#31268 "Build failure on host sol10-amd64-a Add test to check if libstdc++ really works
[6 Nov 2007 3:48]
Kent Boortz
Nailing this down was really interesting, there are actually three problems :-) The first one is that only adding "-m64" is not enough to inform the build that this is a 64 bit build. It just happen to work in most cases (config.guess will claim it is i386). The solution is to configure with the option --build=x86_64-pc-solaris2.10 The second problem is that the configure script will dig out what "GCC system library paths" to use with something like if $GCC; $CC -print-search-dirs | .... and $CC contains no information about if a 32 or 64 bit build, i.e. $CFLAGS was left out where the "-m64" is. The third problem is that this version of gcc with the "-print-search-dirs" flag output the 32 bit paths even if "-m64" is given. The work around is to give the flag above, and set in the environment when configuring LIBRARY_PATH="/usr/local/lib/amd64" Another solution would of course be to try upgrade to tools that has these problems corrected :-) Current tools used are gcc version 3.4.3 (csl-sol210-3_4-branch+sol_rpath) automake (GNU automake) 1.9.6 autoconf (GNU Autoconf) 2.59 libtoolize (GNU libtool) 1.5.22 The "-lstdc++" comes from the added configure options part of the Falcon plugin/engine. If we really want one engine to force us to add exceptions and stdc++ dependency is another question outside the scope of this bug report.
[4 Dec 2007 14:15]
Kent Boortz
The problem with "-m64" not passed to "gcc -print-search-paths" seem to be fixed in libtool 1.5.24, at least the code doing this check now handles "multilibs". I think no documentation change is needed for this, unless some hints should be added to the Solaris specific page. The hint would be something like Building a 64-bit binary on Solaris AMD64 with gcc might fail. Not going into why (see bug#31268), you can work around this by forcing the build to be 64-bit o Give "--build=x86_64-pc-solaris2.10" as a configure argument o Give "-m64" part of CFLAGS, CXXFLAGS and LDFLAGS o Configure and run make like % LIBRARY_PATH=/usr/local/lib/amd64 ./configure ..... % LIBRARY_PATH=/usr/local/lib/amd64 gmake
[5 Dec 2007 20:26]
Jon Stephens
Noted bugfix in 6.0.4 changelog. Updated source installation instructions per comments from Kent and IRC discussion with Danny and Joerg.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.041 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.