Hi All,

As Radu suggested, after updating libtool from source it works fine.

Thanks a lot everyone.

Br
Yusuf

On 24-Feb-2017 1:49 PM, "Chen, Zhaoyan" <zhaoyan.c...@intel.com> wrote:

> Met the same issue.
>
>
>
> Vpp uses its “libtool” under “./build-root/build-vpp-native/vpp/libtool”
> (version is 2.4.6)
>
> Quickly workaround is that modify this libtool, “link_all_deplibs=no” =>
> “link_all_deplibs=yes”
>
>
>
> Then “make run-release” again.
>
>
>
> Tested under Ubuntu 16.04, in VM.
>
>
>
>
>
> /Zhaoyan
>
>
>
>
>
> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] *On
> Behalf Of *Nicolau, Radu
> *Sent:* Thursday, February 23, 2017 6:06 PM
> *To:* Tkachuk, Georgii <georgii.tkac...@intel.com>; Lu, Patrick <
> patrick...@intel.com>; yusuf khan <yusuf.at...@gmail.com>;
> vpp-dev@lists.fd.io
> *Subject:* Re: [vpp-dev] dpdk sw crypto- build error
>
>
>
> If the issue appears on Ubuntu and other Debian based distros then the
> root of the problem is libtool, which is patched to set link_all_deplibs=no
> in the libtool script, effectively making libtool ignore library
> dependencies – the dependency_libs section in the .la files.
>
>
>
> A quick workaround is to install libtool from sources.
>
>
>
> Regards,
>
> Radu
>
> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io
> <vpp-dev-boun...@lists.fd.io>] *On Behalf Of *Tkachuk, Georgii
> *Sent:* Wednesday, February 22, 2017 6:10 PM
> *To:* Lu, Patrick <patrick...@intel.com>; yusuf khan <
> yusuf.at...@gmail.com>; vpp-dev@lists.fd.io
> *Subject:* Re: [vpp-dev] dpdk sw crypto- build error
>
>
>
> We worked around this by adding extra compile flags to prevent the IPSec
> lib from being stripped from the compiler command:
>
> Also, we proactively placed the libIPSec_MB.a into /usr/lib/. so that we
> don’t have to provide the path.
>
>
>
> diff --git a/build-data/platforms/vpp.mk b/build-data/platforms/vpp.mk
>
> index 401a383..b5b2369 100644
>
> --- a/build-data/platforms/vpp.mk
>
> +++ b/build-data/platforms/vpp.mk
>
> @@ -54,7 +54,7 @@ vpp_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG
> -DFORTIFY_SOURCE=2 -march=$(MARCH) \
>
>         -fstack-protector-all -fPIC -Werror
>
>
>
>  vpp_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH)
> -mtune=$(MTUNE) \
>
> -       -fstack-protector -fPIC -Werror
>
> +       -fstack-protector -fPIC -Werror -Wl,--whole-archive,-l:
> libIPSec_MB.a,--no-whole-archive
>
>  vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH)
> -mtune=$(MTUNE) \
>
>         -fstack-protector -fPIC -Werror
>
>
>
> If you don’t want to modify the vpp.mk it should also be possible to add
> the change to the vpp by guarding the IPSec lib as above in this bit:
>
>
>
> if WITH_DPDK_CRYPTO_SW
>
> DPDK_LD_ADD = -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_MB
>
> endif
>
>
>
> Regards,
>
> George
>
>
>
> *From:* Lu, Patrick
> *Sent:* Wednesday, February 22, 2017 11:02 AM
> *To:* yusuf khan <yusuf.at...@gmail.com>; vpp-dev@lists.fd.io
> *Cc:* Tkachuk, Georgii <georgii.tkac...@intel.com>
> *Subject:* RE: [vpp-dev] dpdk sw crypto- build error
>
>
>
> Hi Yusuf,
>
>
>
> We saw the same issue. Copying George for workaround.
>
>
>
> Thanks,
>
>
>
> Patrick
>
>
>
> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io
> <vpp-dev-boun...@lists.fd.io>] *On Behalf Of *yusuf khan
> *Sent:* Wednesday, February 22, 2017 8:50 AM
> *To:* vpp-dev@lists.fd.io
> *Subject:* [vpp-dev] dpdk sw crypto- build error
>
>
>
> Hi,
>
>
>
> I am trying to build latest vpp with vpp_uses_dpdk_cryptodev_sw = yes
> option to enable vpp sw crypto.
>
> Initilia steps of downloading/compiling aesni-mb and isal-crypto works
> fine.
>
> But during linking stage i am getting below errors...
>
>
>
> CCLD     bin/vpp
>   CCLD     vpp_api_test
>   CCLD     pcap2pg
> ./.libs/libvnet.so: undefined reference to `aesni_gcm256_init'
> ./.libs/libvnet.so: undefined reference to `aes_xcbc_expand_key_avx'
> ./.libs/libvnet.so: undefined reference to `submit_job_sse'
> ./.libs/libvnet.so: undefined reference to `sha1_one_block_sse'
> ./.libs/libvnet.so: undefined reference to `flush_job_avx2'
> ./.libs/libvnet.so: undefined reference to `sha512_one_block_avx'
> ./.libs/libvnet.so: undefined reference to `aesni_gcm256_dec_finalize'
> ./.libs/libvnet.so: undefined reference to `aesni_gcm128_enc_update'
> ./.libs/libvnet.so: undefined reference to `aesni_gcm128_pre'
> ./.libs/libvnet.so: undefined reference to `sha1_one_block_avx'
> ./.libs/libvnet.so: undefined reference to `sha256_one_block_sse'
> ./.libs/libvnet.so: undefined reference to `aes_xcbc_expand_key_sse'
> ./.libs/libvnet.so: undefined reference to `sha224_one_block_avx'
> ./.libs/libvnet.so: undefined reference to `sha256_one_block_avx'
> ./.libs/libvnet.so: undefined reference to `init_mb_mgr_avx2'
> ./.libs/libvnet.so: undefined reference to `aesni_gcm128_init'
> ./.libs/libvnet.so: undefined reference to `sha384_one_block_sse'
> ./.libs/libvnet.so: undefined reference to `submit_job_avx2'
> ./.libs/libvnet.so: undefined reference to `aesni_gcm256_dec_update'
> ./.libs/libvnet.so: undefined reference to `flush_job_avx'
> ./.libs/libvnet.so: undefined reference to `submit_job_avx512'
> ./.libs/libvnet.so: undefined reference to `aes_keyexp_256_avx'
> ./.libs/libvnet.so: undefined reference to `aesni_gcm128_dec_finalize'
> ./.libs/libvnet.so: undefined reference to `aes_keyexp_192_avx'
> ./.libs/libvnet.so: undefined reference to `init_mb_mgr_sse'
> ./.libs/libvnet.so: undefined reference to `aes_keyexp_256_sse'
> ./.libs/libvnet.so: undefined reference to `aesni_gcm256_enc_finalize'
> ./.libs/libvnet.so: undefined reference to `init_mb_mgr_avx'
> ./.libs/libvnet.so: undefined reference to `aes_keyexp_128_sse'
> ./.libs/libvnet.so: undefined reference to `sha512_one_block_sse'
> ./.libs/libvnet.so: undefined reference to `aes_keyexp_128_avx'
> ./.libs/libvnet.so: undefined reference to `init_mb_mgr_avx512'
> ./.libs/libvnet.so: undefined reference to `aesni_gcm128_dec_update'
> ./.libs/libvnet.so: undefined reference to `flush_job_avx512'
> ./.libs/libvnet.so: undefined reference to `sha384_one_block_avx'
> ./.libs/libvnet.so: undefined reference to `sha224_one_block_sse'
> ./.libs/libvnet.so: undefined reference to `md5_one_block_sse'
> ./.libs/libvnet.so: undefined reference to `aesni_gcm256_enc_update'
> ./.libs/libvnet.so: undefined reference to `aesni_gcm128_enc_finalize'
> ./.libs/libvnet.so: undefined reference to `aesni_gcm256_pre'
> ./.libs/libvnet.so: undefined reference to `aes_keyexp_192_sse'
> ./.libs/libvnet.so: undefined reference to `submit_job_avx'
> ./.libs/libvnet.so: undefined reference to `flush_job_sse'
> collect2: error: ld returned 1 exit status
> Makefile:4651: recipe for target 'bin/vpp' failed
>
>
>
> Most probably libvnet links with some dpdk.a , which inturn links to
> aes*-crypto libs but its undefined.
>
> I tried nm on  build-root/install-vpp-native/
> dpdk/lib/librte_pmd_aesni_gcm.a  and i get same undefined .
>
>
>
> root@VPP:~/sample/vpp# nm build-root/install-vpp-native/
> dpdk/lib/librte_pmd_aesni_gcm.a |grep U
>                  U aesni_gcm128_dec_finalize
>                  U aesni_gcm128_dec_update
>                  U aesni_gcm128_enc_finalize
>                  U aesni_gcm128_enc_update
>                  U aesni_gcm128_init
>                  U aesni_gcm128_pre
>                  U aesni_gcm256_dec_finalize
>                  U aesni_gcm256_dec_update
>                  U aesni_gcm256_enc_finalize
>                  U aesni_gcm256_enc_update
>                  U aesni_gcm256_init
>                  U aesni_gcm256_pre
>
>
>
> Let me know if this is known issue?
>
> BTW i am building on ubuntu xenial native, no vm.
>
>
>
> Br,
>
> Yusuf
>
_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to