hello, mentors This mail to speak about a problematic issue that I have when packaging a new package for debian tango-7.0.2. http://tango-controls.org
you can find this package on mentors: dget http://mentors.debian.net/debian/pool/main/t/tango/tango_7.0.2-1.dsc lintian complain about non pic code in the shlib E: libtango7: shlib-with-non-pic-code usr/lib/libtango.so.7.0.2 here I put all the lintian message for you to understand what I am saying. E: libtango7: shlib-with-non-pic-code usr/lib/libtango.so.7.0.2 N: N: The listed shared libraries contain object code that was compiled N: without -fPIC. All object code in shared libraries should be recompiled N: separately from the static libraries with the -fPIC option. N: N: Another common mistake that causes this problem is linking with gcc N: -Wl,-shared instead of gcc -shared. N: N: In some cases, exceptions to this rule are warranted. If this is such a N: case, follow the procedure outlined in Policy and then please document N: the exception by adding a lintian override to this package. N: N: To check whether a shared library has this problem, run readelf -d on N: the shared library. If a tag of type TEXTREL is present, the shared N: library contains non-PIC code. N: N: Refer to Debian Policy Manual section 10.2 (Libraries) for details. N: N: Severity: serious, Certainty: certain N: So I looked for gcc called with -Wl,-shared as explained, but nothing... So I ran the `readelf -d` command as explained in the message: pi...@grisette:~/Debian/tango/tango$ readelf -d lib/cpp/server/.libs/libtango.so.7 Dynamic section at offset 0x39a074 contains 35 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [liblog4tango.so.4] 0x00000001 (NEEDED) Shared library: [libdl.so.2] 0x00000001 (NEEDED) Shared library: [libomniORB4.so.1] 0x00000001 (NEEDED) Shared library: [libomniDynamic4.so.1] 0x00000001 (NEEDED) Shared library: [libCOS4.so.1] 0x00000001 (NEEDED) Shared library: [libnsl.so.1] 0x00000001 (NEEDED) Shared library: [libomnithread.so.3] 0x00000001 (NEEDED) Shared library: [libpthread.so.0] 0x00000001 (NEEDED) Shared library: [libstdc++.so.6] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x00000001 (NEEDED) Shared library: [libgcc_s.so.1] 0x0000000e (SONAME) Library soname: [libtango.so.7] 0x0000000f (RPATH) Library rpath: [/home/picca/Debian/tango/tango/lib/cpp/log4tango/src/.libs] 0x0000000c (INIT) 0x8337c 0x0000000d (FINI) 0x31e818 0x00000004 (HASH) 0xd4 0x6ffffef5 (GNU_HASH) 0x99b4 0x00000005 (STRTAB) 0x29b7c 0x00000006 (SYMTAB) 0x1384c 0x0000000a (STRSZ) 269687 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000003 (PLTGOT) 0x39a918 0x00000002 (PLTRELSZ) 19488 (bytes) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x7e75c 0x00000011 (REL) 0x6e69c 0x00000012 (RELSZ) 65728 (bytes) 0x00000013 (RELENT) 8 (bytes) 0x00000016 (TEXTREL) 0x0 <-------- 0x6ffffffe (VERNEED) 0x6e55c 0x6fffffff (VERNEEDNUM) 6 0x6ffffff0 (VERSYM) 0x6b8f4 0x6ffffffa (RELCOUNT) 470 0x00000000 (NULL) 0x0 and yes we can find this TEXTREL in the library. I dont know what the hell this is all about. Nevertheless this seems to be a real error so I googled a little bit and found a few messages about TEXTREL that told to run `eu-findtextrel` pi...@grisette:~/Debian/tango/tango$ eu-findtextrel lib/cpp/server/.libs/libtango.so.7 /home/picca/Debian/tango/tango/lib/cpp/server/jpeg/jpeg_color_mmx.cpp not compiled with -fpic/-fPIC /home/picca/Debian/tango/tango/lib/cpp/server/jpeg/jpeg_dct_mmx.cpp not compiled with -fpic/-fPIC So it seems that the mmx code cause this TEXTREL problem. I looked at the build log but it seems that the code was compiled with the -fpic arguments. In fact you can find on google lots of other opensource library TEXTREL problem with asm code in C files. So it seems that this is fixable but I don't know how. Is someone on this mailing have the assembly skills to help me, and the upstream, solve this problem. I already contact the main upstream but it does not know how to solve this. thanks Frederic -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org