| Bug #11538 | mysql compile fails with certain ndb options | ||
|---|---|---|---|
| Submitted: | 24 Jun 2005 1:33 | Modified: | 18 Aug 2005 23:08 |
| Reporter: | Kevin Benton (Candidate Quality Contributor) | ||
| Status: | Closed | ||
| Category: | Server: Cluster | Severity: | S1 (Critical) |
| Version: | 4.1.11, 4.1.12 | OS: | Sun Solaris (Solaris 8, Redhat 9) |
| Assigned to: | Stewart Smith | Target Version: | |
[24 Jun 2005 20:03]
Kevin Benton
May also be related to bug 9938
[24 Jun 2005 20:10]
Kevin Benton
FYI all - I should have changed the following... export LDFLAGS="-R/m/lib -L/tool/pandora/lib" to drop the -L... It's not required to reproduce the issue.
[25 Jun 2005 17:30]
Jorge del Conde
Testing with the following configure line:
./configure \
--prefix=/bugzilla \
--with-gnu-ld \
--enable-local-infile \
--with-mysqld-user=kbenton \
--without-debug \
--with-vio \
--with-extra-charsets=all \
--with-big-tables \
--with-isam \
--with-innodb \
--enable-thread-safe-client \
--with-embedded-server \
--with-embedded-privilege-control \
--with-raid \
--with-example-storage-engine \
--with-archive-storage-engine \
--with-csv-storage-engine \
--with-ndbcluster \
--with-ndb-test \
--with-ndb-docs \
--with-ndb-port \
--with-ndb-port-base \
--with-ndb-ccflags
The difference between the above and the original one are the following lines:
--with-zlib-dir=/bugzilla/ \
--with-openssl=/usr/bin \
--with-openssl-includes=/usr/include/openssl \
--with-openssl-libs=/lib \
--with-mysqlfs \
If I can't reproduce this bug with my current configure line, I'll fix my OrBIT, Zlib &
OpenSSL installations
[25 Jun 2005 17:32]
Jorge del Conde
then mv -f ".deps/NdbTCP.Tpo" ".deps/NdbTCP.Plo"; else rm -f ".deps/NdbTCP.Tpo"; exit 1; fi gcc -DHAVE_CONFIG_H -DNDEBUG -I. -I. -I../../../.. -I. -I../../../../include -I../../../../ndb/include -I../../../../ndb/include/util -I../../../../ndb/include/portlib -I../../../../ndb/include/logger -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -DUSE_MYSYS_NEW -DDEFINE_CXA_PURE_VIRTUAL yes -MT NdbTCP.lo -MD -MP -MF .deps/NdbTCP.Tpo -c NdbTCP.cpp -fPIC -DPIC -o .libs/NdbTCP.o gcc: cannot specify -o with -c or -S and multiple compilations make[5]: *** [NdbTCP.lo] Error 1 make[5]: Leaving directory `/home/jorge/mysql-4.1.12/ndb/src/common/portlib' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/home/jorge/mysql-4.1.12/ndb/src/common' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/jorge/mysql-4.1.12/ndb/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/jorge/mysql-4.1.12/ndb' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/jorge/mysql-4.1.12' make: *** [all] Error 2 [jorge@linux mysql-4.1.12]$
[25 Jun 2005 17:33]
Jorge del Conde
I used Fedora Core 2, & 4.1.12 to test this bug.
[25 Jul 2005 8:57]
Graham Gower
$ ./configure --help | grep ndb-ccflags --with-ndb-ccflags Extra CC options for ndb compile Correct me if I'm wrong, but isn't this for adding extra compile options? e.g. ./configure --with-ndb-ccflags="-L/path/foo -I/path/bar -O17" Specifying just --with-ndb-ccflags probably sets the config variable to "yes". Hence the "yes" here (third line from bottom): gcc -DHAVE_CONFIG_H -DNDEBUG -I. -I. -I../../../.. -I. -I../../../../include -I../../../../ndb/include -I../../../../ndb/include/util -I../../../../ndb/include/portlib -I../../../../ndb/include/logger -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -DUSE_MYSYS_NEW -DDEFINE_CXA_PURE_VIRTUAL yes -MT NdbTCP.lo -MD -MP -MF .deps/NdbTCP.Tpo -c NdbTCP.cpp -fPIC -DPIC -o .libs/NdbTCP.o gcc: cannot specify -o with -c or -S and multiple compilations gcc should actually tell you that "yes" isn't a file, but it's dumb...
[3 Aug 2005 9:55]
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/internals/27840
[18 Aug 2005 16:27]
Stewart Smith
Pushed to 4.1.15.
[18 Aug 2005 16:34]
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/internals/28458
[18 Aug 2005 23:08]
Mike Hillyer
Documented in 4.1.15 changelog: <listitem><para>MySQL failed to compile when <option>--with-ndb-ccflags</option> was specified. (Bug #11538)</para></listitem>

Description: Compiling MySQL (with the options listed below) blows up. This has not been fixed in 4.1.12, contrary to bug 10002. This prevents users from being able to use/run MySQL. I'd like to see the source installs become just as reliable as the packaged distributions if we compile it with the same options listed in the build instructions for that binary distribution. If I only compile in the options in the script below up to and but including not those after --with-ndbcluster How to repeat: #!/bin/bash doit() { echo "---" >> $BUILD_LOG echo "---" >> $BUILD_LOG echo "---" >> $BUILD_LOG echo "--- $* ---" >> $BUILD_LOG echo "---" >> $BUILD_LOG echo "---" >> $BUILD_LOG echo "---" >> $BUILD_LOG $* 2>&1 | cat >>$BUILD_LOG if [ $? -ne 0 ] then echo "********************************************************************" echo "Critical Error Occurred at or above this point. Exiting!" echo "********************************************************************" sleep 2 kill $tailpid exit 1 fi } ############################################################################### export BUILD_LOG=MYBUILD.log export PATH="/mypath/bin:$PATH" rm -f $BUILD_LOG touch $BUILD_LOG tail -f $BUILD_LOG & export tailpid=$! echo "Tailing $BUILD_LOG for you. Will kill tail process on exit: $tailpid" export CC="gcc" export CFLAGS="-O3 -fno-omit-frame-pointer" export CXX="gcc" export LDFLAGS="-R/m/lib -L/tool/pandora/lib" doit date if [ -f Makefile ] then make distclean 2>/dev/null >/dev/null fi if [ -f config.cache ] then doit rm -f config.cache fi doit ./configure \ --prefix=/bugzilla \ --with-gnu-ld \ --enable-local-infile \ --with-mysqld-user=kbenton \ --with-zlib-dir=/bugzilla/ \ --without-debug \ --with-mysqlfs \ --with-vio \ --with-extra-charsets=all \ --with-big-tables \ --with-isam \ --with-innodb \ --enable-thread-safe-client \ --with-embedded-server \ --with-embedded-privilege-control \ --with-raid \ --with-openssl=/usr/bin \ --with-openssl-includes=/usr/include/openssl \ --with-openssl-libs=/lib \ --with-example-storage-engine \ --with-archive-storage-engine \ --with-csv-storage-engine \ --with-ndbcluster \ --with-ndb-test \ --with-ndb-docs \ --with-ndb-port \ --with-ndb-port-base \ --with-ndb-ccflags doit make clean doit make doit date kill $tailpid