How to reproduce: Just set crypto lib to be no instead of yes: """ CONFIG_RTE_LIBRTE_CRYPTODEV=n """ Then compile. The compilation error log: """ /download/dpdk/lib/librte_security/rte_security.h:57:24: fatal error: rte_crypto.h: No such file or directory compilation terminated. /download/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'rte_security.o' failed make[5]: *** [rte_security.o] Error 1 make[5]: *** Waiting for unfinished jobs.... CC rte_distributor_match_sse.o CC rte_pdump.o CC rte_kni.o CC gso_tunnel_tcp4.o CC rte_distributor.o /download/dpdk/mk/rte.subdir.mk:35: recipe for target 'librte_security' failed make[4]: *** [librte_security] Error 2 make[4]: *** Waiting for unfinished jobs.... SYMLINK-FILE include/rte_gso.h CC gso_common.o CC rte_gso.o CC gso_tcp4.o SYMLINK-FILE include/rte_ip_frag.h CC rte_ipv6_fragmentation.o CC rte_ipv4_reassembly.o CC rte_ipv4_fragmentation.o CC rte_ipv6_reassembly.o CC ip_frag_internal.o CC rte_ip_frag_common.o /download/dpdk/lib/librte_vhost/vhost_crypto.c:8:27: fatal error: rte_cryptodev.h: No such file or directory compilation terminated. /download/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'vhost_crypto.o' failed make[5]: *** [vhost_crypto.o] Error 1 make[5]: *** Waiting for unfinished jobs.... AR librte_bitratestats.a INSTALL-LIB librte_bitratestats.a AR librte_latencystats.a INSTALL-LIB librte_latencystats.a AR librte_gro.a INSTALL-LIB librte_gro.a AR librte_eventdev.a INSTALL-LIB librte_eventdev.a AR librte_ip_frag.a INSTALL-LIB librte_ip_frag.a AR librte_rawdev.a INSTALL-LIB librte_rawdev.a AR librte_gso.a INSTALL-LIB librte_gso.a AR librte_kni.a INSTALL-LIB librte_kni.a AR librte_pdump.a INSTALL-LIB librte_pdump.a AR librte_distributor.a INSTALL-LIB librte_distributor.a /download/dpdk/mk/rte.subdir.mk:35: recipe for target 'librte_vhost' failed make[4]: *** [librte_vhost] Error 2 /download/dpdk/mk/rte.sdkbuild.mk:49: recipe for target 'lib' failed make[3]: *** [lib] Error 2 /download/dpdk/mk/rte.sdkroot.mk:100: recipe for target 'all' failed make[2]: *** [all] Error 2 /download/dpdk/mk/rte.sdkinstall.mk:85: recipe for target 'pre_install' failed make[1]: *** [pre_install] Error 2 /download/dpdk/mk/rte.sdkroot.mk:79: recipe for target 'install' failed make: *** [install] Error 2 """
I think cryptodev, among other libraries such as EAL, mbuf, mempool, etc. are core libraries and should not be disabled, as many libraries depend on these. Actually, I would go for removing the option of disabling these libraries.
Since cryptodev is a core library, are you ok with Pablo's suggestion and not disabling it? If yes, can we please close the bug.
With v18.11 and CONFIG_RTE_LIBRTE_CRYPTODEV disabled, DPDK cannot be built (but it worked with v18.08): == Build lib/librte_port CC rte_port_sym_crypto.o In file included from /home/fcoiffier/dpdk/develop/build/dpdkBuild-prefix/src/dpdkBuild/lib/librte_port/rte_port_sym_crypto.c:9: /home/fcoiffier/dpdk/develop/build/dpdkBuild-prefix/src/dpdkBuild/lib/librte_port/rte_port_sym_crypto.h:23:10: fatal error: rte_cryptodev.h: No such file or directory #include <rte_cryptodev.h> ^~~~~~~~~~~~~~~~~ compilation terminated.
I think it should have been fixed. But it did not happen, and we are going to remove the makefiles. With meson, we don't disable libraries. That's why I close it as WONTFIX.