[21:06] <fsateler> I'm having a problem with ubuntu bug 719206, that I've tracked down to the -as-needed flag
[21:06] <fsateler> however, this same bug does not appear on debian, even though the package is exactly the same
[21:06] <fsateler> (ie, the -as-needed flag is passed in debian too)
[21:07] <doko> no, --as-needed is not passed in debian
[21:07] <fsateler> but my build system does
[21:07] <fsateler> explicitly, that is
[21:08] <doko> dpkg -S CsoundAC.py ?
[21:08] <doko> is this csound?
[21:08] <fsateler> yes
[21:08] <fsateler> python-csoundac
[21:09] <fsateler> it is missing the link to libCsoundAC.so.5.2
[21:13] <doko> x86_64-linux-gnu-g++ -o _CsoundAC.so -Wl,-as-needed -Wl,-Bdynamic -Wl,-rpath-link,interfaces -shared frontends/CsoundAC/CsoundAC_wrap.os -L/usr/local/lib -L/usr/lib -L/usr/lib/python2.7/config -L. -L. -L/usr/local/lib -L. -L. -L. -lCsoundAC -lcsnd -lfltk_images -lpython2.7 -lcsnd -lstdc++ -lutil libcsound64.so.5.2 -lsndfile -lsndfile -lpthread -lpthread -lgomp -lm -lasound -llo -lsndfile -ldl -lm -lpthread
[21:14] <doko> what does happen if you move libcsound64.so.5.2 before -lCsoundAC ?
[21:15] <fsateler> doesn't work
[21:16] <fsateler> (I'm doing this in a natty chroot, btw)
[21:19] <doko> _ZTIN6csound4NodeE is defined in -lCsoundAC ?
[21:19] <fsateler> yes
[21:19] <fsateler> it is a type defined there
[21:22] <doko> supposed to be export from which lib?
[21:23] <fsateler> libCsoundAC.so.5.2
[21:23] <fsateler> built by the same source package
[21:24] <doko> no, it's not exported
[21:25] <doko> $ objdump -T /usr/lib/libcsnd.so.5.2|fgrep _ZTIN6csound4NodeE
[21:25] <doko> $ objdump -T /usr/lib/libcsound64.so.5.2|fgrep _ZTIN6csound4NodeE
[21:25] <doko> that seems to be the cause, now you would have to find out why it's missing
[21:26] <fsateler> objdump -T libCsoundAC.so.5.2 | fgrep _ZTIN6csound4NodeE
[21:26] <fsateler> indeed, the Ubuntu version is not exporting it, but the debian version is
[21:42] <doko> please try to rebuild with gcc defaulting to gcc-4.5 in debian unstable
[21:44] <fsateler> that means installing gcc/g++ from experimental?
[21:44] <fsateler> I mean, would doing that take care of it?
[21:50] <doko> no, unstable
[21:51] <doko> just would like to know if this is seen with g++-4.5 in unstable too
[21:52] <fsateler> ok, I'm rebuilding now
[22:00] <fsateler> gcc 4.5 from sid seems to work OK
[22:01] <doko> so you see the symbol?
[22:01] <fsateler> % objdump -T libCsoundAC.so.5.2 | fgrep _ZTIN6csound4NodeE
[22:01] <fsateler> 00000000002d10a0  w   DO .data.rel.ro	0000000000000010  Base        _ZTIN6csound4NodeE
[22:03] <doko> and just to make sure, that g++ --version is 4.5.2? 
[22:04] <fsateler> I set CC and CXX to g{cc,++}-4.5, both at 4.5.2
[22:04] <doko> ahh, ok
[22:05] <fsateler> is there another flag enabled by default in ubuntu that may cause this problem?
[22:06] <fsateler> maybe -fvisibility=hidden?
[22:06] <doko> hardening
[22:06] <doko> no
[22:06] <fsateler> because the only symbols that are showing up seem to be ones that have the visibility attribute set
[22:06] <doko> --no-add-needed is in unstable too
[22:07] <doko> maybe check with unstable's binutils installed in natty, but I doubt it
[22:11] <fsateler> nope, doesn't help
[22:15] <doko> sorry, then I currently don't know
[22:16] <doko> we'll drop --as-needed for the natty release, and re-enable it for the o-series. not sure if it would help, because you already use --as-needed explicitly
[22:18] <fsateler> the problem seems to be a nearly devoid of useful content libCsoundAC
[22:19] <fsateler> @natty:csound-5.13.0~dfsg% objdump -T libCsoundAC.so | wc -l
[22:19] <fsateler> 471
[22:20] <fsateler> @debian:csound% objdump -T libCsoundAC.so | wc -l
[22:20] <fsateler> 1669
[22:28] <fsateler> hmm, it seems it is not a problem with the toolchain: on Ubuntu, for some reason CsoundAC is built with -fvisibility=hidden but in debian its not
[22:29] <fsateler> thanks for your help
[22:31] <doko> hmm, please drop a note here if you find out why
[23:02] <fsateler> fyi, it seems it is a problem with scons. Installing the debian version of scons fixed the issue