Need help with strange ldd output
I have compiled a package which contains the following shared lib:
/usr/lib/liballeg-3.9.33.so
I think there are a number of things which were done wrong here, and
would appreciate any hints. Please CC me on reply, I'm not on
deb-dev.
When I link something with it I get in ldd's output:
liballeg-3.9.33.so => /usr/lib/liballeg-3.9.33.so (0x40025000)
libc.so.6 => /lib/libc.so.6 (0x400d6000)
This syntax confuses dpkg-shlibdeps (and dh_makeshlibs did not look at
the file either). Did anyone already seen such a problem ? Was the
lib erroneously built, or is it just a symlink missing (I tried to
symlink it to liballeg.so.3.9.33, with no changes.
Also linitian reports the lib does not contain PIC, although .o files
are built with -fPIC, and the lib is linked with -shared. Only
suspect thing I found: a couple of .o files do not appear to have a
GOT, although they were compiled with -fPIC:
$ rm obj/unix/shared/alleg/lgfxdrv.o
$ make obj/unix/shared/alleg/lgfxdrv.o
gcc -DHAVE_CONFIG_H -Iinclude -Iinclude/allegro -I./include -I./include/allegro -I. -I/usr/X11R6/include -O3 -ffast-math -fomit-frame-pointer -Wall -fPIC -DALLEGRO_SHARED -c ./src/linux/lgfxdrv.c -o obj/unix/shared/alleg/lgfxdrv.o
$ objdump -x obj/unix/shared/alleg/lgfxdrv.o
obj/unix/shared/alleg/lgfxdrv.o: file format elf32-i386
obj/unix/shared/alleg/lgfxdrv.o
architecture: i386, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x00000000
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000000 00000000 00000000 00000034 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000054 00000000 00000000 00000034 2**2
CONTENTS, ALLOC, LOAD, RELOC, DATA
2 .bss 00000000 00000000 00000000 00000088 2**2
ALLOC
3 .note 00000014 00000000 00000000 00000088 2**0
CONTENTS, READONLY
4 .comment 0000002f 00000000 00000000 0000009c 2**0
CONTENTS, READONLY
SYMBOL TABLE:
00000000 l df *ABS* 00000000 lgfxdrv.c
00000000 l d .text 00000000
00000000 l d .data 00000000
00000000 l d .bss 00000000
00000000 l .text 00000000 gcc2_compiled.
00000000 l d .note 00000000
00000000 l d .comment 00000000
00000000 g O .data 00000054 _linux_gfx_driver_list
00000000 *UND* 00000000 gfx_fbcon
00000000 *UND* 00000000 gfx_vbeaf
00000000 *UND* 00000000 gfx_vga
00000000 *UND* 00000000 gfx_modex
00000000 *UND* 00000000 gfx_ggi
00000000 *UND* 00000000 gfx_svgalib
RELOCATION RECORDS FOR [.data]:
OFFSET TYPE VALUE
00000004 R_386_32 gfx_fbcon
00000010 R_386_32 gfx_vbeaf
0000001c R_386_32 gfx_vga
00000028 R_386_32 gfx_modex
00000034 R_386_32 gfx_ggi
00000040 R_386_32 gfx_svgalib
--
Yann Dirson <ydirson@altern.org> | Why make M$-Bill richer & richer ?
debian-email: <dirson@debian.org> | Support Debian GNU/Linux:
| Cheaper, more Powerful, more Stable !
http://ydirson.free.fr/ | Check <http://www.debian.org/>
Reply to: