Re: lintian question
Will Lowe <harpo@UDel.Edu> writes:
> Can anybody tell me what this means, and what to do about it?
>
> W: rosegarden: shared-lib-without-dependency-information
> usr/X11R6/lib/rosegarden/petal/Petal.so
If the code in Petal.so uses any C library calls, it has to say so for
Debian. (Some OSes don't support this dependency information.) The
library should be linked with whatever libraries it uses, probably by
adding `-lc' to the end of the link line.
> E: rosegarden: shlib-with-non-pic-code
> usr/X11R6/lib/rosegarden/petal/Petal.so
ELF shared libraries could be loaded anywhere in memory, so the C code
has to be compiled so that it doesn't depend on particular addresses
for code and data. If it isn't, the code doesn't get shared between
multiple processes using it.
You need to add something like `-fPIC' to the compilation, e.g.
gcc -O2 -c -fPIC foo.c
--
Carey Evans http://home.clear.net.nz/pages/c.evans/
"my cats are essentially my kids. 'cept I haven't known children to put on
dark clothing and lay on a dark rug between the door and the light switch."
- Ryan Tucker
Reply to: