libnice on PPC64

David Woodhouse dwmw2 at
Sat Aug 13 10:53:33 UTC 2011

On Sat, 2011-08-13 at 13:11 +0400, Peter Lemenkov wrote:
> The libnice package constantly fails to pass at least one test (
> ./ - test for properly exported symbols ) on ppc64. I'm
> sure that the problem is with wrong path to some scripts of binaries
> while executing this test. 

The test is just buggy. Let's look at its output...

symbols for .libs/ changed
    T nice_address_copy_to_sockaddr
    D nice_address_copy_to_sockaddr

The difference happens because PPC64 has function descriptors, so the
exported symbols end up in the Data section not the Text section. Hence
having a 'D' not a 'T' and not matching what the test expects.

This would "fix" it for ppc64, buit should really be fixed properly.I
think libtool already has autohell magic for working out what a symbol
would look like (which section, whether it has an underscore prefixed,
etc.)... or maybe just run the libnice-symbols list through
's/\(.*\)/void \1(void);/', compile it, and run 'nm' on the output.

--- nice/	2009-08-14 23:46:12.000000000 +0100
+++ nice/	2011-08-13 11:21:09.000000000 +0100
@@ -39,7 +39,7 @@
 libnice.symbols: libnice.sym Makefile
 	rm -f $@
-	while read s; do echo "T $$s"; done < $< > $@
+	while read s; do echo "D $$s"; done < $< > $@
 CLEANFILES += libnice.symbols

This bug was introduced into libnice in commit f0666047, allegedly by
Kai Vehmanen <first.surname at>. I've added a more sensible email
address for Kai to Cc...


More information about the ppc mailing list