[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: