of the shared libs are missing direct linkages to libs they
are getting symbols from. A list of such libs include...
prelink: Warning: /usr/lib/libSCpsi.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCdft.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCscf.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCwfn.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCsolvent.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCintv3.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCoint3.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCbasis.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCmolecule.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCisosurf.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCoptimize.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCscmat.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCgroup.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCsymmetry.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCrender.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCmisc.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCstate.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCkeyval.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCclass.so.4 has undefined non-weak symbols
prelink: Warning: /usr/lib/libSCref.so.4 has undefined non-weak symbols
The error "has undefined non-weak symbols" is indicative of this linkage
mistake. You can look at each of these by hand and figure out the missing
libs that need to be added when each shared lib is created...
ldd -r /usr/lib/libSCcontainer.so.4
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x0ef20000)
libm.so.6 => /lib/libm.so.6 (0x0fdf0000)
libc.so.6 => /lib/libc.so.6 (0x0fe80000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0f080000)
/lib/ld.so.1 => /lib/ld.so.1 (0x08000000)
undefined symbol: _ZN2sc6indentERSt9basic_iosIcSt11char_traitsIcEE (/usr/lib/libSCcontainer.so.4)
undefined symbol: _ZN2sc5ExEnv4out0Ev (/usr/lib/libSCcontainer.so.4)
This tells us that /usr/lib/libSCcontainer.so.4 is missing a linkage against
libSCmisc.so.4.0.0 which provides the missing symbols...
nm -D libSCmisc.so.4.0.0 | grep _ZN2sc6indentERSt9basic_iosIcSt11char_traitsIcEE
0f899f38 T _ZN2sc6indentERSt9basic_iosIcSt11char_traitsIcEE
nm -D libSCmisc.so.4.0.0 | grep _ZN2sc5ExEnv4out0Ev
0f89eef4 T _ZN2sc5ExEnv4out0Ev
Of course all of these corrections need to be passed back upstream.
Hi Jack, [...] [..] Uhm, how do you propose I fix this? I'm not gonna hand-comb through all those libraries and hack the already hacked-up build-system. You're free to send a patch of course. Would combining those libraries into three big ones (libutil, libmath, libchemistry, along the source) help? That's something I wanted to suggest to upstream anyway. Michael
tags 193616 + upstream forwarded 193616 http://sourceforge.net/tracker/index.php?func=detail&aid=1721480&group_id=6610&atid=106610 thanks FYI: I reported the issue to upstream. Regards, Daniel
tags 193616 + upstream forwarded 193616 http://sourceforge.net/tracker/index.php?func=detail&aid=1721480&group_id=6610&atid=106610 thanks FYI: I reported the issue to upstream. Regards, Daniel
user debian-gcc@lists.debian.org usertags 193616 + ld-as-needed thanks any progress on this? the missing links cause build failures with ld --as-needed [0] See e.g. ghemical build log in ubuntu: https://launchpadlibrarian.net/87304470/buildlog_ubuntu-precise-i386.ghemical_3.0.0-1_FAILEDTOBUILD.txt.gz [0] http://wiki.mandriva.com/en/Underlinking
Hi, Not from my side, and I won't have time to look into this in the near future. I guess somebody needs to check all the libSC* libraries for inter-dependencies. Alternatively, maybe we can try to just link in all other SC libs when linking one of them. Michael
the build system is a mess so I just made a minimal patch to fix ghemicals build with as-needed. I merged it into the 11_as_needed patch. See the attachment. It would be great if you can apply it to the debian package even though its not necessary in debian. I also did some brief testing linking everything with everything, but there seem to be circular dependencies between the libraries, so thats won't work properly either.
Hi, Many thanks, applied. Michael
libSCbasis to liblapack to resolve dgesvd_. [1] https://bugs.launchpad.net/ubuntu/+source/ghemical/+bug/1277718