Bug #55350 invalid @NDB_SCI_LIBS@ and @ndbcluster_includes@
Submitted: 18 Jul 2010 19:56 Modified: 20 Sep 2010 12:18
Reporter: Robert Gebis Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S2 (Serious)
Version:5.5.5-m3 OS:Linux (CentOS 5.5 x32)
Assigned to: Jonathan Perkin CPU Architecture:Any
Tags: error, ndbcluster_includes, no such file or directory
Triage: Triaged: D3 (Medium)

[18 Jul 2010 19:56] Robert Gebis
Description:
When trying to build 5.5.5-m3 on CentOS 5.5 x32 I get this error
I try to configure/build with --with-plugins=innobase or --with-plugins=default and --with-plugins=max-no-ndb and same problem.
Doing diff between 5.5.4 and 5.5.5 Makefile.am shows some missing NDB stuff.

/bin/sh ../libtool --preserve-dup-deps --tag=CC   --mode=link gcc  -O3 -m32 -march=core2 -fomit-frame-pointer -pipe -fno-exceptions   -DUNIV_LINUX  -rdynamic  -o replace replace.o -all-static ../mysys/libmysys.a ../dbug/libdbug.a ../strings/libmystrings.a -lz -lpthread -lcrypt -lnsl -lm  -lpthread -laio
libtool: link: gcc -O3 -m32 -march=core2 -fomit-frame-pointer -pipe -fno-exceptions -DUNIV_LINUX -rdynamic -o replace replace.o -static  ../mysys/libmysys.a ../dbug/libdbug.a ../strings/libmystrings.a -lz -lpthread -lcrypt -lnsl -lm -lpthread -laio
../mysys/libmysys.a(mf_pack.o): In function `unpack_dirname':
mf_pack.c:(.text+0x8e9): warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
mf_pack.c:(.text+0x8f2): warning: Using 'endpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sql    -O3 -m32 -march=core2 -fomit-frame-pointer -pipe -fno-exceptions   -DUNIV_LINUX @ndbcluster_includes@  -c perror.c
gcc: @ndbcluster_includes@: No such file or directory
make[3]: *** [perror.o] Error 1
make[3]: Leaving directory `/root/mysql-5.5.5-m3/extra'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/mysql-5.5.5-m3/extra'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/mysql-5.5.5-m3/extra'
make: *** [all-recursive] Error 1

How to repeat:
 ./configure --prefix=/usr/local/mysql-5.5.5-m3 FLAGS="-O3 -m32 -march=core2 -fomit-frame-pointer -pipe -fno-exceptions" CFLAGS="-O3 -m32 -march=core2 -fomit-frame-pointer -pipe -fno-exceptions" --enable-shared --enable-assembler --with-client-ldflags=-all-static --without-server --without-debug CXX=gcc --with-comment="Build x32 5.5.5-m3" --enable-thread-safe-client

# make

Suggested fix:
Temp fix was remove @ndbcluster_includes@ from ./extra/Makefile and ./sql/MakeFile plus remove @NDB_SCI_LIBS@ from ./sql/MakeFile
[19 Jul 2010 6:43] Sveta Smirnova
Thank you for the report.

Verified as described.
[22 Jul 2010 6:49] Kevin Häfeli
Same problem here - thank you for the fix!
[4 Aug 2010 18:16] Jonathan Perkin
This looks like it might have magically fixed itself since 5.5.5, that is taking the latest mysql-5.5 and building it in the same way as we did the 5.5.5-m3 source on the same host, extra/Makefile.in now has the variables set correctly.

I will keep this bug open until we do 5.5.6-m3 and verify during the release build that we have in fact fixed this problem.
[4 Aug 2010 20:45] Robert Gebis
Any ETA on 5.5.6?
[7 Aug 2010 6:13] Andrew Fried
I experienced the same problems with 5.5.5 m3 under Ubuntu 9.10 and 10.4.  Latest compilation attempt ended with:

make[3]: Entering directory `/tmp/mysql-5.5.5-m3/extra'
gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sql    -g -O2   -DUNIV_LINUX -MT replace.o -MD -MP -MF .deps/replace.Tpo -c -o replace.o replace.c
mv -f .deps/replace.Tpo .deps/replace.Po
/bin/bash ../libtool --preserve-dup-deps --tag=CC   --mode=link gcc  -g -O2   -DUNIV_LINUX  -rdynamic  -o replace replace.o ../mysys/libmysys.a ../dbug/libdbug.a ../strings/libmystrings.a -lz -lpthread -lcrypt -lnsl -lm  -lpthread 
libtool: link: gcc -g -O2 -DUNIV_LINUX -rdynamic -o replace replace.o  ../mysys/libmysys.a ../dbug/libdbug.a ../strings/libmystrings.a -lz -lpthread -lcrypt -lnsl -lm -lpthread
gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sql    -g -O2   -DUNIV_LINUX @ndbcluster_includes@  -c perror.c
gcc-4.4.real: @ndbcluster_includes@: No such file or directory
make[3]: *** [perror.o] Error 1
make[3]: Leaving directory `/tmp/mysql-5.5.5-m3/extra'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/mysql-5.5.5-m3/extra'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/mysql-5.5.5-m3/extra'
make: *** [all-recursive] Error 1
[20 Sep 2010 12:18] Jonathan Perkin
5.5.6-rc was released yesterday, and I'm unable to reproduce the problem using our official sources.

Closing bug.