[Bug 193884] Review Request: tolua++ - A tool to integrate C/C++ code with Lua

bugzilla at redhat.com bugzilla at redhat.com
Sat Jun 3 21:44:59 UTC 2006


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug report.

Summary: Review Request: tolua++ - A tool to integrate C/C++ code with Lua


https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=193884





------- Additional Comments From packages at amiga-hardware.com  2006-06-03 17:37 EST -------
Just noticed Hans, those link flags DO break tolua++. I'm currently
investigating a fix, but it appears to be because the exe has the same 'soname'
as the library.

With those link flags, do an ldd on the tolua++ binary, you get:

        linux-gate.so.1 =>  (0x004df000)
        liblua-5.1.so => /usr/lib/liblua-5.1.so (0x0063c000)
        libdl.so.2 => /lib/libdl.so.2 (0x00111000)
        libm.so.6 => /lib/libm.so.6 (0x00115000)
        libc.so.6 => /lib/libc.so.6 (0x004fe000)
        /lib/ld-linux.so.2 (0x004e0000)

Strange I thought, it isn't dynamically linked to libtolua++-5.1.so. Checking
the build, it certainly does link it to this library so why isn't it showing. I
checked the exe and if you try and do anything useful with it you get:

tolua++: symbol lookup error: tolua++: undefined symbol: tolua_open

which sort of confirms that ld isn't dynamically linking it. Now if you remove
those LINK flags rebuild and do an ldd, you get:

        linux-gate.so.1 =>  (0x004df000)
        libtolua++-5.1.so => /usr/lib/libtolua++-5.1.so (0x00200000)
        liblua-5.1.so => /usr/lib/liblua-5.1.so (0x0067a000)
        libdl.so.2 => /lib/libdl.so.2 (0x00650000)
        libm.so.6 => /lib/libm.so.6 (0x00629000)
        libc.so.6 => /lib/libc.so.6 (0x004fe000)
        /lib/ld-linux.so.2 (0x004e0000)

Notice, libtolua++-5.1.so shows this time?

I think because ld is using the 'soname', it already discovers this 'soname' in
the exe itself, so it assumes the appropriate library has been found and doesn't
look any further. Without the LINK flags, neither the exe nor the library has an
'soname' so ld falls back to the library name, ie libtolua++-5.1.so and finds
it. Somehow I need to get scons to use the soname for the library only. What do
you think?

-- 
Configure bugmail: https://bugzilla.redhat.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.




More information about the Fedora-package-review mailing list