Bug #34218 mysql-proxy compilation error & warning
Submitted: 1 Feb 2008 9:59 Modified: 1 Feb 2008 10:31
Reporter: Bartłomiej Syryjczyk Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Proxy: Core Severity:S3 (Non-critical)
Version:revision 367 OS:Linux (2.6.23-gentoo-r5)
Assigned to: CPU Architecture:Any
Tags: Compilation, configure, make, mysql-proxy

[1 Feb 2008 9:59] Bartłomiej Syryjczyk
Description:
1. warning during `configure'
---
mysql-proxy# ./configure --without-lua --prefix=/usr/local/mysql-proxy
[...]
*** Could not run check test program, checking why...
*** The test program failed to compile or link. See the file config.log for
*** the exact error that occured.
[...]
---

---
less config.log
[...]
configure:23396: result: no
configure:23430: gcc -o conftest -g -O2   -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES  conftest.c -lcheck  >&5
conftest.c:58:19: error: check.h: No such file or directory
configure:23436: $? = 1
configure: failed program was:
[...]
---
2. error during `make'
I want to build mysql-proxy without LUA.
---
[...]
creating libmysql-proxy.la
(cd .libs && rm -f libmysql-proxy.la && ln -s ../libmysql-proxy.la libmysql-proxy.la)
if gcc -DHAVE_CONFIG_H -I. -I. -I..   -I/usr/include/mysql -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include    -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -DDATADIR="\"/usr/local/mysql-proxy/share/mysql-proxy\""  -DLIBDIR="\"/usr/local/mysql-proxy/lib/mysql-proxy\""  -g -O2 -MT mysql_proxy-chassis.o -MD -MP -MF ".deps/mysql_proxy-chassis.Tpo" -c -o mysql_proxy-chassis.o `test -f 'chassis.c' || echo './'`chassis.c; \
        then mv -f ".deps/mysql_proxy-chassis.Tpo" ".deps/mysql_proxy-chassis.Po"; else rm -f ".deps/mysql_proxy-chassis.Tpo"; exit 1; fi
/bin/sh ../libtool --tag=CC --mode=link gcc  -g -O2   -o mysql-proxy  mysql_proxy-chassis.o -lglib-2.0   -Wl,--export-dynamic -lgmodule-2.0 -ldl -lglib-2.0   libmysql-chassis.la  libmysql-proxy.la 
gcc -g -O2 -o .libs/mysql-proxy mysql_proxy-chassis.o -Wl,--export-dynamic  ./.libs/libmysql-chassis.so ./.libs/libmysql-proxy.so /usr/src/mysql-proxy/src/.libs/libmysql-chassis.so /usr/lib64/libevent.so /usr/lib64/libgmodule-2.0.so -ldl /usr/lib64/libglib-2.0.so  -Wl,--rpath -Wl,/usr/local/mysql-proxy/lib/mysql-proxy
./.libs/libmysql-chassis.so: undefined reference to `lua_getfield'
./.libs/libmysql-chassis.so: undefined reference to `lua_isstring'
./.libs/libmysql-chassis.so: undefined reference to `lua_pushstring'
./.libs/libmysql-chassis.so: undefined reference to `lua_tonumber'
./.libs/libmysql-chassis.so: undefined reference to `luaL_newstate'
./.libs/libmysql-chassis.so: undefined reference to `lua_createtable'
./.libs/libmysql-chassis.so: undefined reference to `luaL_openlibs'
./.libs/libmysql-chassis.so: undefined reference to `lua_isnumber'
./.libs/libmysql-chassis.so: undefined reference to `lua_pushinteger'
./.libs/libmysql-chassis.so: undefined reference to `lua_pcall'
./.libs/libmysql-chassis.so: undefined reference to `lua_settop'
./.libs/libmysql-chassis.so: undefined reference to `lua_load'
./.libs/libmysql-chassis.so: undefined reference to `lua_type'
./.libs/libmysql-chassis.so: undefined reference to `lua_setfield'
./.libs/libmysql-chassis.so: undefined reference to `lua_gettop'
./.libs/libmysql-chassis.so: undefined reference to `lua_close'
./.libs/libmysql-chassis.so: undefined reference to `lua_remove'
./.libs/libmysql-chassis.so: undefined reference to `lua_pushnil'
collect2: ld returned 1 exit status
make[2]: *** [mysql-proxy] Error 1
make[2]: Leaving directory `/usr/src/mysql-proxy/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/mysql-proxy'
make: *** [all] Error 2
---

How to repeat:
# ./configure --without-lua
# make

Suggested fix:
Don't know
[1 Feb 2008 10:30] Jan Kneschke
Verified against revision 366.
[1 Feb 2008 10:31] Jan Kneschke
fixed in [368] by covering the lua-support in #ifdef HAVE_LUA_H