Extraneous /lib appended after the ipp-crypto libdir
- Dominant language
- C
- Stars
- 443
- Forks
- 137
- PR merge metrics
- No merged PRs in 30d
Description
While building 0.6.19 against ipp-crypto I got a link error indicating -lcrypto_mb not found. I looked at the build command line and found this:
```
willy@sdp:~/src/QAT_Engine$ ls -la /bin/bash ./libtool --tag=CC --mode=link gcc -fPIC -Wall -Wformat -Wformat-security -O2 -D_FORTIFY_SOURCE=2 -fno-delete-null-pointer-checks -fwrapv -fstack-protector -fno-strict-overflow -DQAT_OPENSSL_3 -DOPENSSL_SUPPRESS_DEPRECATED -DQAT_SW -DQAT_SW_IPSEC -DENABLE_QAT_SW_RSA -DENABLE_QAT_SW_ECX -DENABLE_QAT_SW_ECDSA -DENABLE_QAT_SW_ECDH -DENABLE_QAT_SW_GCM -DDISABLE_QAT_HW_DH -DDISABLE_QAT_HW_DSA -DDISABLE_QAT_HW_CIPHERS -DDISABLE_QAT_HW_PRF -DDISABLE_QAT_HW_HKDF -DDISABLE_QAT_HW_SHA3 -DDISABLE_QAT_HW_CHACHAPOLY -DENABLE_QAT_SW_SM2 -g -O2 -module -no-undefined -avoid-version -shared -Wl,-rpath,/home/willy/local/ipp-crypto//lib -L/home/willy/local/ipp-crypto//lib -lcrypto_mb -Wl,-rpath,/home/willy/local/lib -L/home/willy/local/lib -lIPSec_MB -o qatengine.la -rpath /home/willy/local/openssl30-qatsw/lib64/engines-3 e_qat.lo qat_fork.lo qat_events.lo qat_utils.lo qat_evp.lo qat_prov_err.lo qat_sw_init.lo qat_sw_polling.lo qat_sw_freelist.lo qat_sw_queue.lo qat_sw_rsa.lo qat_sw_ecx.lo qat_sw_ec.lo qat_sw_sm2.lo qat_sw_sm3.lo qat_sw_sm4_cbc.lo qat_sw_sm4_gcm.lo qat_sw_gcm.lo qat_sw_ipsec_inf.lo
```
My ipp-crypto dir looks like this after "make install" from the component:
```
$ ls -la ~/local/ipp-crypto/lib/
total 20
drwxrwxr-x 5 willy willy 4096 Mar 13 08:24 .
drwxrwxr-x 5 willy willy 4096 Mar 13 07:45 ..
drwxrwxr-x 3 willy willy 4096 Mar 13 07:45 cmake
drwxrwxr-x 2 willy willy 4096 Mar 13 08:23 intel64
drwxrwxr-x 2 willy willy 4096 Mar 13 07:45 pkgconfig
$ ls -la ~/local/ipp-crypto/lib/intel64/
total 38424
drwxrwxr-x 2 willy willy 4096 Mar 13 07:45 .
drwxrwxr-x 5 willy willy 4096 Mar 13 07:45 ..
-rw-r--r-- 1 willy willy 1575946 Mar 13 07:30 libcrypto_mb.a
lrwxrwxrwx 1 willy willy 18 Mar 13 07:45 libcrypto_mb.so -> libcrypto_mb.so.11
lrwxrwxrwx 1 willy willy 20 Mar 13 07:45 libcrypto_mb.so.11 -> libcrypto_mb.so.11.5
-rw-r--r-- 1 willy willy 1276992 Mar 13 07:30 libcrypto_mb.so.11.5
-rw-r--r-- 1 willy willy 24048976 Mar 13 07:33 libippcp.a
lrwxrwxrwx 1 willy willy 14 Mar 13 07:45 libippcp.so -> libippcp.so.11
lrwxrwxrwx 1 willy willy 16 Mar 13 07:45 libippcp.so.11 -> libippcp.so.11.5
-rw-r--r-- 1 willy willy 12428280 Mar 13 07:33 libippcp.so.11.5
```
So there's a sub-component "intel64" after lib, I'm not seeing an easy way to pass it (or to remove it from ipp-crypto). Again, both from latest github's masters from today.
As a workaround, creating a symlink from `ipp-crypto/lib/libcrypto_mb.a` to `intel64/libcrypto_mb.a` does fix the problem.
Contributor guide
Assessment
This issue has not been assessed yet.