Build broken on Debian Testing (linker trouble)

Moritz Lenz moritz at faui2k3.org
Sat Jun 9 14:53:15 UTC 2012


On some Debian Testing systems, the linking of parrot fails:

cc -shared -O2 -L/usr/local/lib -fstack-protector -fPIC
-fstack-protector -L/usr/local/lib  -o blib/lib/libparrot.so.4.3.0
-Wl,-soname=libparrot.so.4.3.0 \
                src/string/api.o src/ops/core_ops.o src/core_pmcs.o
...
compilers/imcc/pbc.o compilers/imcc/parser_util.o compilers/imcc/pcc.o
compilers/imcc/api.o -lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt -lgmp
-lreadline  -lffi   -fPIE -pie -Wl,-z,relro -Wl,-z,now  -ldl -lm
-L/usr/lib/x86_64-linux-gnu  -licuuc -licudata  -ldl -lm
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
0 has invalid symbol index 11
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
1 has invalid symbol index 12
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
2 has invalid symbol index 2
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
3 has invalid symbol index 2
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
4 has invalid symbol index 11
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
5 has invalid symbol index 13
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
6 has invalid symbol index 13
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
7 has invalid symbol index 13
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
8 has invalid symbol index 2
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
9 has invalid symbol index 2
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
10 has invalid symbol index 12
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
11 has invalid symbol index 13
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info):
relocrelocation 12 has invalid symbol index 13
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
13 has invalid symbol index 13
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
14 has invalid symbol index 13
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
15 has invalid symbol index 13
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
16 has invalid symbol index 13
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
17 has invalid symbol index 13
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
18 has invalid symbol index 13
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
19 has invalid symbol index 13
/usr/bin/ld:
/usr/lib/debug/usr/lib/x86_64-linux-gnu/Scrt1.o(.debug_info): relocation
20 has invalid symbol index 21
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/Scrt1.o: In
function `_start':
(.text+0x20): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [blib/lib/libparrot.so.4.3.0] Error 1

Interestingly I've tested it on a partially upgraded system where gcc
was already new (4.6) but libc was old, and the build worked on that system.

Any idea how to fix that?

Cheers,
Moritz


More information about the parrot-dev mailing list