Bug #41530 Workbench 5.1.5 build fails
Submitted: 17 Dec 2008 3:25 Modified: 28 Feb 2009 22:10
Reporter: Mark Johnson (Basic Quality Contributor) Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Workbench Severity:S3 (Non-critical)
Version:5.1.5 OS:Linux (Slackware 12.1)
Assigned to: Alfredo Kojima CPU Architecture:Any
Tags: Contribution, qc

[17 Dec 2008 3:25] Mark Johnson
Description:
I have Slackware 12.1 with gnome SlackBuild 2.22 installed.  This installs a  lua-5.1.3 package which includes shared and static libraries.

My "configure" line is:
autogen.sh i486-slackware-linux

CFLAGS is "-O3 -march=pentium4 -mtune=pentium4"

Build fails as follows:
i486-slackware-linux-g++ -Wall -ggdb3 -o .libs/genobj -pthread -Wl,--export-dynamic genobj.o  -llua -luuid /usr/lib/libgthread-2.0.so -lpthread -lrt /usr/lib/libgmodule-2.0.so /usr/lib/libglib-2.0.so /usr/lib/libxml2.so -ldl -lz -lm -L/usr/lib /usr/lib/libpcre.so /usr/lib/libsigc-2.0.so -L/usr/i486-slackware-linux/bin -L/usr/i486-slackware-linux/lib ../../library/grt/src/.libs/libgrt.so /usr/lib/libstdc++.so ../../library/utilities/src/.libs/libguiutil.so  -Wl,--rpath -Wl,/usr/local/lib/mysql-workbench
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_tolstring'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_getfield'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_type'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_tonumber'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_getstack'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pushnumber'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pcall'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_rawgeti'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_setfield'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_toboolean'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_openlib'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_checklstring'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_rawequal'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_insert'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_openlibs'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_getmetatable'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pushinteger'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_gettop'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pushnil'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pushvalue'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_close'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_rawset'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_typename'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_gc'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_newuserdata'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_rawseti'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_isnumber'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pushstring'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_setfenv'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_checkudata'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_error'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_getinfo'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_checkstack'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_call'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_newmetatable'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_createtable'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_typerror'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_settable'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_touserdata'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_newstate'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_settop'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_isstring'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_loadbuffer'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_loadfile'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_next'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pushboolean'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_gettable'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_setmetatable'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_remove'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pushcclosure'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_sethook'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_checkinteger'
collect2: ld returned 1 exit status
make[2]: *** [genobj] Error 1
make[2]: Leaving directory `/mnt/raid/download/computer/software/database/mysql/src/mysql-workbench-5.1.5/tools/genobj'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/raid/download/computer/software/database/mysql/src/mysql-workbench-5.1.5'

How to repeat:
see description.

Suggested fix:
patch to follow.
[17 Dec 2008 3:27] Mark Johnson
suggested patch

Attachment: patch-workbench-5.1.5.bug41530 (application/octet-stream, text), 318 bytes.

[17 Dec 2008 14:24] Susanne Ebrecht
Many thanks for writing a bug report and appending a patch.

At the moment we just support Workbench for Debian/Ubuntu and Fedora. Workbench for Linux is still in development mode and of course we are also interested in problems that occur on other distribution.

Our developers will look into your patch and will look what they can do here.
[18 Jan 2009 20:14] Vitaly Lipatov
Full patch to fix linking problems

Attachment: mysql-workbench-5.1.5-linking.patch (application/octet-stream, text), 9.98 KiB.

[18 Jan 2009 20:16] Vitaly Lipatov
Hello, I maintain mysql-workbench for ALT Linux distro, and we have strict linking rules here.
So I discover all linking issues (LDFLAGS and LIBADD misunderstanding in general) and make the patch:
http://bugs.mysql.com/file.php?id=11074
[29 Jan 2009 22:10] Alfredo Kojima
Several similar compilation/linkage errors were fixed for 5.1.6. Please reopen this bug if there are more problems remaining.
[1 Mar 2009 0:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[26 Jan 2010 11:46] Carlos Quiros
Hi,

The same bug seems to appear in mysql-workbench-oss-5.2.14 with Slackware 13

Details:
- Slackware 13 32bits.

- Basic GNome libs compiled from source

- liblua 5.1.4 . Liblua source code does not install a .so, I build it using: gcc -shared -o liblua.5.1.3.so ./liblua.a and created a symbolic link.

- Autogen fails to locate lua in the first place because lualib does not install a lua.pc file in pkgconfig. I created a lua.pc with this content:

    prefix=/usr/local/gnome
    exec_prefix=${prefix}
    libdir=${exec_prefix}/lib
    includedir=${prefix}/include

    Name: Lua
    Description: Lua language.
    Version: 5.1.4
    Libs: -L${libdir} -llua
    Cflags: -I${includedir}

Build error message:
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_tolstring'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_getfield'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_type'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_tonumber'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_getstack'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pushnumber'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pcall'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_rawgeti'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_setfield'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_toboolean'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_openlib'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_checklstring'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_rawequal'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_insert'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_openlibs'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_getmetatable'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pushinteger'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_gettop'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pushnil'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pushvalue'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_close'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_rawset'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_typename'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_gc'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_newuserdata'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_load'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_rawseti'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_isnumber'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pushstring'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_setfenv'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_checkudata'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_error'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_getinfo'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_checkstack'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_call'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_newmetatable'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_createtable'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_typerror'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_settable'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_touserdata'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_newstate'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_settop'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_isstring'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_loadbuffer'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_loadfile'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_next'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pushboolean'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_gettable'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_setmetatable'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_checknumber'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_remove'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_pushcclosure'
../../library/grt/src/.libs/libgrt.so: undefined reference to `lua_sethook'
../../library/grt/src/.libs/libgrt.so: undefined reference to `luaL_checkinteger'
collect2: ld returned 1 exit status
make[2]: *** [genobj] Error 1
make[2]: Leaving directory `/home/cquiros/download/mysql-workbench-oss-5.2.14/tools/genobj'

Any idea to correct this?