On Sat, 2011-08-13 at 13:11 +0400, Peter Lemenkov wrote:
The libnice package constantly fails to pass at least one test (
./test-symbols.sh - 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/libnice.so changed
missing:
T nice_address_copy_to_sockaddr
…
extra:
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/Makefile.am~ 2009-08-14 23:46:12.000000000 +0100
+++ nice/Makefile.am 2011-08-13 11:21:09.000000000 +0100
@@ -39,7 +39,7 @@ test-symbols.sh::
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(a)nokia.com>. I've added a more sensible email
address for Kai to Cc...
--
dwmw2