Bug#558847: Resolve unresolved symbols in shared libraries
Peter Fritzsche
peter.fritzsche at gmx.de
Wed Dec 2 18:48:35 UTC 2009
tags 558847 + patch
thanks
Jaromír Mikeš wrote:
> > dpkg-shlibdeps: warning: symbol _ZN8P_threadC2Ev used by
> > debian/libclxclient3/usr/lib/libclxclient.so.3.6.1 found in none of the
> > libraries.
> > dpkg-shlibdeps: warning: symbol _ZN8P_threadD2Ev used by
> > debian/libclxclient3/usr/lib/libclxclient.so.3.6.1 found in none of the
> > libraries.
> > dpkg-shlibdeps: warning: symbol _ZTI8P_thread used by
> > debian/libclxclient3/usr/lib/libclxclient.so.3.6.1 found in none of the
> > libraries.
> > dpkg-shlibdeps: warning: symbol _ZN8ITC_ip1q9get_eventEj used by
> > debian/libclxclient3/usr/lib/libclxclient.so.3.6.1 found in none of the
> > libraries.
> > dpkg-shlibdeps: warning: symbol _ZN8P_thread9thr_startEiim used by
> > debian/libclxclient3/usr/lib/libclxclient.so.3.6.1 found in none of the
> > libraries.
>
> Hi,
>
> If I understand well I should add "-ldl" to the linking command in the
> Makefile. Can you please do it for me in attached makefile?
> This help me understand what I should do in other packages.
-ldl... why that? _ZN8P_threadC2Ev and other symbols you are using are
provided by libclthreads. So adding -lclthreads is the right way. I found it
by installing all dependencies of your source package and then ran
`grep -l _ZN8P_threadC2Ev /usr/lib/*.so`
You have to check twice with `readelf -s /usr/lib/libclthreads.so` if the file
is really providing the symbol (global symbol and so on).
> Is there something more I should care about?
Yes, don't link to more libraries than you need. Patch is attached to fix the
two mentioned problems.
You should also fix the problem that exit is called inside a library. This is
bad.... baaaaaaaaad library design. If the application thinks that it cannot
recover from an error then the application must stop and not the library kill
the application.
Patches 1 and 3 are only raw patches and you will probably change your source
format to 3 (quilt) and add them with dep3 headers to debian/patches with a
series file. See
http://wiki.debian.org/Projects/DebSrc3.0#Howtoconvertasourcepackage.3F
and
http://dep.debian.net/deps/dep3/
Best regards,
Peter
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Build-against-all-needed-shared-objects.patch
Type: text/x-patch
Size: 1179 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20091202/7fa9a8f5/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Use-correct-dependency-for-dev-package.patch
Type: text/x-patch
Size: 868 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20091202/7fa9a8f5/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-Don-t-call-exit-when-alloc_font-fails.patch
Type: text/x-patch
Size: 669 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20091202/7fa9a8f5/attachment-0002.bin>
More information about the pkg-multimedia-maintainers
mailing list