Hello,
I am attempting to package igblast which I hoped to allow an optional
dependency on the NCBI vdb library. This fails at config stage because
of libncbi-vdb2.so* having undefined functions
$ /usr/local/bin/g++ -std=gnu++14 -msse4.2 -o conftest -Wall
-Wno-format-y2k -pthread -fopenmp -I/usr/include/ncbi-vdb -fPIC -g -O
-DNDEBUG -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE64_SOURCE -I/usr/include/ncbi-vdb -D_MT -D_REENTRANT
-D_THREAD_SAFE -I/os/linux -I/os/unix -I/cc/gcc/x86_64 -I/cc/gcc
-Wl,--enable-new-dtags -Wl,-export-dynamic -pthread -fopenmp -lmbedtls
-g -O a.cc -ldl -lm -lpthread -lncbi-vdb -lxml2 -lmbedtls -lmbedx509
-lmbedcrypto -lz -lnsl -lbz2 -lz -ldl
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libncbi-vdb.so:
undefined reference to `vdb_mbedtls_pk_decrypt'
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libncbi-vdb.so:
undefined reference to `vdb_mbedtls_ctr_drbg_random'
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libncbi-vdb.so:
undefined reference to `vdb_mbedtls_md_setup'
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libncbi-vdb.so:
undefined reference to `vdb_mbedtls_pk_parse_public_key'
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libncbi-vdb.so:
undefined reference to `vdb_mbedtls_pk_encrypt'
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libncbi-vdb.so:
undefined reference to `vdb_mbedtls_aes_setkey_dec'
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libncbi-vdb.so:
undefined reference to `vdb_mbedtls_md_hmac_update'
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libncbi-vdb.so:
undefined reference to `vdb_mbedtls_ctr_drbg_seed'
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libncbi-vdb.so:
undefined reference to `vdb_mbedtls_aes_crypt_cbc'
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libncbi-vdb.so:
undefined reference to `vdb_mbedtls_md_hmac_starts'
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libncbi-vdb.so:
undefined reference to `vdb_mbedtls_pk_parse_keyfile'
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libncbi-vdb.so:
undefined reference to `vdb_mbedtls_md_hmac_finish'
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libncbi-vdb.so:
undefined reference to `vdb_mbedtls_aes_setkey_enc'
collect2: error: ld returned 1 exit status
That is all a bit historic since vdb came with these flavours of the
real mbedtls and of course Debian uses the real thing. When grepping
through the source tree, none of these functions are found.
Anyone with an idea where to look?
Cheers,
Steffen