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