Charles Plessy wrote: > Le Mon, Nov 30, 2009 at 07:32:24PM +0100, Peter Fritzsche a écrit : > > Source: emboss > > Version: 6.1.0-4 > > Severity: wishlist > > User: peter.fritzs...@gmx.de > > Usertags: unresolved-symbols-so > > > > I build all packages some time ago with binutils-gold and your package > > build without an hard failure, but I noticed that you seems to provide a > > library in a specific library package so other packages can link against > > it without problems.... but your shared object has still some unresolved > > symbols which the program which links agaomst it must resolve. This isnt > > a good idea because when you introduce new dependencies the package > > previously linked against the old version will break because it doesnt > > know about the new dependency. Maybe you could link against all needed > > libraries so programs must not link against libraries which it doesnt > > need to use. > > Dear Peter, > > thank you for your report, and sorry for not anwering on time. > > My understanding of libraries and linkages is quite weak.
Maybe than it is a good idea to forward the bug report to upstream > Could you point > me at a documentation that explains how to “link against all needed > libraries”. Hm, there is no documentation at it is quite simple. Just link against those libraries you are missing. Lets take your package as an example. As I found it using binutils-gold, we may just install binutils-gold. First thing I notice is that the clean target of your package deletes files which are part of the tar.gz (config.guess, config.sub). Thats quite bad when we try to create a clean diff.tar.gz or debian.tar.gz dpkg-shlibdeps: warning: symbol XSetFunction used by debian/emboss-lib/usr/lib/libeplplot.so.3.2.7 found in none of the libraries. dpkg-shlibdeps: warning: symbol XGetVisualInfo used by debian/emboss-lib/usr/lib/libeplplot.so.3.2.7 found in none of the libraries. dpkg-shlibdeps: warning: symbol XOpenDisplay used by debian/emboss-lib/usr/lib/libeplplot.so.3.2.7 found in none of the libraries. dpkg-shlibdeps: warning: symbol XGetGeometry used by debian/emboss-lib/usr/lib/libeplplot.so.3.2.7 found in none of the libraries. dpkg-shlibdeps: warning: symbol XQueryPointer used by debian/emboss-lib/usr/lib/libeplplot.so.3.2.7 found in none of the libraries. dpkg-shlibdeps: warning: symbol XPutImage used by debian/emboss-lib/usr/lib/libeplplot.so.3.2.7 found in none of the libraries. dpkg-shlibdeps: warning: symbol XDestroyWindow used by debian/emboss-lib/usr/lib/libeplplot.so.3.2.7 found in none of the libraries. dpkg-shlibdeps: warning: symbol XStoreColor used by debian/emboss-lib/usr/lib/libeplplot.so.3.2.7 found in none of the libraries. dpkg-shlibdeps: warning: symbol XSetForeground used by debian/emboss-lib/usr/lib/libeplplot.so.3.2.7 found in none of the libraries. dpkg-shlibdeps: warning: symbol XCreateWindow used by debian/emboss-lib/usr/lib/libeplplot.so.3.2.7 found in none of the libraries. dpkg-shlibdeps: warning: 39 other similar warnings have been skipped (use -v to see them all). dpkg-shlibdeps: warning: dependency on libz.so.1 could be avoided if "debian/emboss-lib/usr/lib/libeplplot.so.3.2.7" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libfreetype.so.6 could be avoided if "debian/emboss-lib/usr/lib/libeplplot.so.3.2.7" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libjpeg.so.62 could be avoided if "debian/emboss-lib/usr/lib/libeplplot.so.3.2.7" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libpng12.so.0 could be avoided if "debian/emboss-lib/usr/lib/libeplplot.so.3.2.7" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: symbol c_pljoin used by debian/libajax6/usr/lib/libajaxg.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajStrGetLen used by debian/libajax6/usr/lib/libajaxg.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajListstrFree used by debian/libajax6/usr/lib/libajaxg.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol c_plgspa used by debian/libajax6/usr/lib/libajaxg.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol c_plptex used by debian/libajax6/usr/lib/libajaxg.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol c_plwid used by debian/libajax6/usr/lib/libajaxg.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajStrAppendC used by debian/libajax6/usr/lib/libajaxg.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajStrNewS used by debian/libajax6/usr/lib/libajaxg.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol c_plfill used by debian/libajax6/usr/lib/libajaxg.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol c_plschr used by debian/libajax6/usr/lib/libajaxg.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: 74 other similar warnings have been skipped (use -v to see them all). dpkg-shlibdeps: warning: symbol ajSqlcolumnToUint used by debian/libajax6/usr/lib/libensembl.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajSqlstatementGetSelectedrows used by debian/libajax6/usr/lib/libensembl.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajFmtPrintAppS used by debian/libajax6/usr/lib/libensembl.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajListIterDone used by debian/libajax6/usr/lib/libensembl.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajTablestrFree used by debian/libajax6/usr/lib/libensembl.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajListIterNew used by debian/libajax6/usr/lib/libensembl.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajListPop used by debian/libajax6/usr/lib/libensembl.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajMessSetErr used by debian/libajax6/usr/lib/libensembl.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajListPush used by debian/libajax6/usr/lib/libensembl.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajStrAppendCountK used by debian/libajax6/usr/lib/libensembl.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: 138 other similar warnings have been skipped (use -v to see them all). dpkg-shlibdeps: warning: symbol ajFilenameReplaceExtC used by debian/libajax6/usr/lib/libajaxdb.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajReadbinInt used by debian/libajax6/usr/lib/libajaxdb.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajMemCallocZero used by debian/libajax6/usr/lib/libajaxdb.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajReadbinInt2 used by debian/libajax6/usr/lib/libajaxdb.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajReadbinUint used by debian/libajax6/usr/lib/libajaxdb.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajBtreeReadEntries used by debian/libajax6/usr/lib/libajaxdb.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajStrGetuniquePtr used by debian/libajax6/usr/lib/libajaxdb.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajCallTableRegister used by debian/libajax6/usr/lib/libajaxdb.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajRegExecC used by debian/libajax6/usr/lib/libajaxdb.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajCallTableDel used by debian/libajax6/usr/lib/libajaxdb.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: 121 other similar warnings have been skipped (use -v to see them all). dpkg-shlibdeps: warning: symbol pcre_exec used by debian/libajax6/usr/lib/libajax.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol epcre_compile used by debian/libajax6/usr/lib/libajax.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajFilenameReplaceExtC used by debian/libajax6/usr/lib/libacd.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajStrCmpCaseS used by debian/libajax6/usr/lib/libacd.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajStrRemoveWhiteExcess used by debian/libajax6/usr/lib/libacd.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajMatrixNewFile used by debian/libajax6/usr/lib/libacd.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajPhyloTreeDelarray used by debian/libajax6/usr/lib/libacd.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajStrGetLen used by debian/libajax6/usr/lib/libacd.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajDiroutExists used by debian/libajax6/usr/lib/libacd.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajListPushAppend used by debian/libajax6/usr/lib/libacd.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajSeqoutDel used by debian/libajax6/usr/lib/libacd.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajListIterDel used by debian/libajax6/usr/lib/libacd.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: 312 other similar warnings have been skipped (use -v to see them all). dpkg-shlibdeps: warning: dependency on libz.so.1 could be avoided if "debian/libajax6/usr/lib/libeexpat.so.1.1.0 debian/libajax6/usr/lib/libajaxg.so.6.0.2 debian/libajax6/usr/lib/libensembl.so.6.0.2 debian/libajax6/usr/lib/libajaxdb.so.6.0.2 debian/libajax6/usr/lib/libezlib.so.1.1.0 debian/libajax6/usr/lib/libepcre.so.7.0.9 debian/libajax6/usr/lib/libajax.so.6.0.2 debian/libajax6/usr/lib/libacd.so.6.0.2" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libgd.so.2 could be avoided if "debian/libajax6/usr/lib/libeexpat.so.1.1.0 debian/libajax6/usr/lib/libajaxg.so.6.0.2 debian/libajax6/usr/lib/libensembl.so.6.0.2 debian/libajax6/usr/lib/libajaxdb.so.6.0.2 debian/libajax6/usr/lib/libezlib.so.1.1.0 debian/libajax6/usr/lib/libepcre.so.7.0.9 debian/libajax6/usr/lib/libajax.so.6.0.2 debian/libajax6/usr/lib/libacd.so.6.0.2" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libfreetype.so.6 could be avoided if "debian/libajax6/usr/lib/libeexpat.so.1.1.0 debian/libajax6/usr/lib/libajaxg.so.6.0.2 debian/libajax6/usr/lib/libensembl.so.6.0.2 debian/libajax6/usr/lib/libajaxdb.so.6.0.2 debian/libajax6/usr/lib/libezlib.so.1.1.0 debian/libajax6/usr/lib/libepcre.so.7.0.9 debian/libajax6/usr/lib/libajax.so.6.0.2 debian/libajax6/usr/lib/libacd.so.6.0.2" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libjpeg.so.62 could be avoided if "debian/libajax6/usr/lib/libeexpat.so.1.1.0 debian/libajax6/usr/lib/libajaxg.so.6.0.2 debian/libajax6/usr/lib/libensembl.so.6.0.2 debian/libajax6/usr/lib/libajaxdb.so.6.0.2 debian/libajax6/usr/lib/libezlib.so.1.1.0 debian/libajax6/usr/lib/libepcre.so.7.0.9 debian/libajax6/usr/lib/libajax.so.6.0.2 debian/libajax6/usr/lib/libacd.so.6.0.2" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libpng12.so.0 could be avoided if "debian/libajax6/usr/lib/libeexpat.so.1.1.0 debian/libajax6/usr/lib/libajaxg.so.6.0.2 debian/libajax6/usr/lib/libensembl.so.6.0.2 debian/libajax6/usr/lib/libajaxdb.so.6.0.2 debian/libajax6/usr/lib/libezlib.so.1.1.0 debian/libajax6/usr/lib/libepcre.so.7.0.9 debian/libajax6/usr/lib/libajax.so.6.0.2 debian/libajax6/usr/lib/libacd.so.6.0.2" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: symbol ajStrCmpCaseS used by debian/libnucleus6/usr/lib/libnucleus.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajStrRemoveWhiteExcess used by debian/libnucleus6/usr/lib/libnucleus.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajFeatTagAdd used by debian/libnucleus6/usr/lib/libnucleus.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajStrGetuniquePtr used by debian/libnucleus6/usr/lib/libnucleus.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajStrGetLen used by debian/libnucleus6/usr/lib/libnucleus.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajRangeSeqExtractPep used by debian/libnucleus6/usr/lib/libnucleus.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajListPushAppend used by debian/libnucleus6/usr/lib/libnucleus.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajSeqoutDel used by debian/libnucleus6/usr/lib/libnucleus.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajListIterDel used by debian/libnucleus6/usr/lib/libnucleus.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: symbol ajFeatReverse used by debian/libnucleus6/usr/lib/libnucleus.so.6.0.2 found in none of the libraries. dpkg-shlibdeps: warning: 340 other similar warnings have been skipped (use -v to see them all). dpkg-shlibdeps: warning: dependency on libz.so.1 could be avoided if "debian/libnucleus6/usr/lib/libnucleus.so.6.0.2" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libgd.so.2 could be avoided if "debian/libnucleus6/usr/lib/libnucleus.so.6.0.2" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libfreetype.so.6 could be avoided if "debian/libnucleus6/usr/lib/libnucleus.so.6.0.2" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libjpeg.so.62 could be avoided if "debian/libnucleus6/usr/lib/libnucleus.so.6.0.2" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libpng12.so.0 could be avoided if "debian/libnucleus6/usr/lib/libnucleus.so.6.0.2" were not uselessly linked against it (they use none of its symbols). dh_gencontrol -a dpkg-gencontrol: warning: Depends field of package libajax6-dev: unknown substitution variable ${shlibs:Depends} dpkg-gencontrol: warning: Depends field of package libnucleus6-dev: unknown substitution variable ${shlibs:Depends} Now search for the functions and where they should came form. libeplplot.so.3.2.7 for example needs libX11. libajaxg.so.6.0.2 needs libeplplot. So I've opened plplot/Makefile.am and changed < libeplplot_la_LDFLAGS = $(LINKFLAGS) > libeplplot_la_LDFLAGS = $(LINKFLAGS) -lX11 Now the auto* stuff must be regenerated. So at least libeplplot.so.3.2.7 should have less unresolved symbols. But as your package is broken (see #587170), I stop here. There are other things like that the test suite fails, but the package still claims that it builds fine. Best regards. Peter -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org