On Friday 16 November 2007 17:58:59 James Keenan wrote:

> Failed tonight on Linux.  The failures appear to follow a pattern.
> Here is output of 'prove -v':
>
> [li11-226:parrot] 514 $ prove -v t/src/intlist.t
> t/src/intlist....1..4
> # 'cc  -L/usr/local/lib -Wl,-E  t/src/intlist_1.o src/parrot_config.o
> -o t/src/intlist_1 -Wl,-rpath=/home/jimk/work/parrot/blib/lib -Lblib/
> lib -lparrot  -lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt' failed
> with exit code 1
> # Failed to build 't/src/intlist_1': t/src/intlist_1.o: In function
> `main':
> # t/src/intlist_1.c:13: undefined reference to `intlist_new'
> # t/src/intlist_1.c:16: undefined reference to `intlist_push'
> # t/src/intlist_1.c:17: undefined reference to `intlist_get'
> # collect2: ld returned 1 exit status

...

Confirmed; r22845 exposed this.

Then again, I see no reason to export these symbols, and I'm very curious as 
to why this test needs to poke into the shared library to test the code.

I'm even more curious why the tests *pass* on x86 Darwin.  Perhaps GCC there 
isn't actually hiding symbols appropriately.  Coke?

If I knew the correct Darwin/BSD version of the nm utility to list exported 
symbols in a shared library, I'd ask you to run that.  However, I don't.

Why is this test passing anywhere?

-- c

Reply via email to