Source: intel-ipsec-mb
Version: 0.52-1
Severity: important
Tags: patch

Dear Maintainer,

Building an application using libIPSec_MB.a fails because it has no
symbols:

/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-
gnu/libIPSec_MB.a: error adding symbols: archive has no index; run
ranlib to add one

$ nm -s /usr/lib/x86_64-linux-gnu/libIPSec_MB.a | head -n3
nm: aes128_cbc_dec_by4_sse.o: no symbols

aes128_cbc_dec_by4_sse.o:
nm: aes128_cbc_dec_by4_sse_no_aesni.o: no symbolsnm -s 
/usr/lib/x86_64-linux-gnu/libIPSec_MB.a | head -n3
nm: aes128_cbc_dec_by4_sse.o: no symbols

aes128_cbc_dec_by4_sse.o:
nm: aes128_cbc_dec_by4_sse_no_aesni.o: no symbols

This is because debian/rules calls install using -s, which strips the
archive:

--- debian/rules
+++ debian/rules
@@ -26,8 +26,8 @@
 override_dh_auto_install:
        # Install the library
        install -d ${DESTDIR}${LIBDIR}
-       install -m 0644 -s $$(pwd)/libIPSec_MB.a ${DESTDIR}${LIBDIR}
-       install -m 0644 -s 
$$(pwd)/libIPSec_MB.so.${VERSION_MAJOR}.${VERSION_MINOR} ${DESTDIR}${LIBDIR}
+       install -m 0644 $$(pwd)/libIPSec_MB.a ${DESTDIR}${LIBDIR}
+       install -m 0644 
$$(pwd)/libIPSec_MB.so.${VERSION_MAJOR}.${VERSION_MINOR} ${DESTDIR}${LIBDIR}
        ln -s ${LIBDIR}/libIPSec_MB.so.${VERSION_MAJOR}.${VERSION_MINOR} 
${DESTDIR}${LIBDIR}/libIPSec_MB.so.${VERSION_MAJOR}
        ln -s ${LIBDIR}/libIPSec_MB.so.${VERSION_MAJOR} 
${DESTDIR}${LIBDIR}/libIPSec_MB.so
 


The fix is simply to avoid using -s, as dh_strip already takes care of
stripping binaries. This is also required by Debian policy version
4.3.0:

https://www.debian.org/doc/packaging-manuals/upgrading-checklist.txt

Please consider fixing this before the buster freeze, as it makes it
impossible to do static builds of all reverse dependencies of this
library, which includes all DPDK applications.

Thank you!

-- 
Kind regards,
Luca Boccassi

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to