From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7D6A4A0A02; Fri, 4 Jun 2021 09:27:33 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 014F240147; Fri, 4 Jun 2021 09:27:33 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id 5475F4003C for ; Fri, 4 Jun 2021 09:27:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1622791650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=PJ+YpUUzMtyXz8YgWSblnV54M5ZObsnlMdP+wKEDoJ4=; b=VH8fQwlxXWAZ0ntuNMUn2WlPKU4fvtRiKsFfBLwEqiWBUfvNQ7jmjJCmOr0Fkh0/2FIoVd XPhH1c8S47160ORX9gtrBkOjR6eicowgWx9tSTRayD7xNmBO9/4894H9Uy4P6RD/+dqfOc 6SSMJBqsv3YuBdAmzlgakKHnSnO/1+o= Received: from mail-ua1-f72.google.com (mail-ua1-f72.google.com [209.85.222.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-162-u6zywsWwMAyMIC30QfkHCg-1; Fri, 04 Jun 2021 03:27:26 -0400 X-MC-Unique: u6zywsWwMAyMIC30QfkHCg-1 Received: by mail-ua1-f72.google.com with SMTP id y10-20020ab025ca0000b0290221adb2995aso3754192uan.8 for ; Fri, 04 Jun 2021 00:27:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=PJ+YpUUzMtyXz8YgWSblnV54M5ZObsnlMdP+wKEDoJ4=; b=inJxjvrATuCPjq3x1rsi6mwBmSJ6WslogqbIr2wfziKblJPvH7BvxFkr486mKkEG7d nihxVjW3eDQZ3kj99pWm6WDDes1KpJnjqJcJPIQGNTyNitcV22XOO4mQjKVSpYN6Fcwd 7jPbGrJzjNnkaNoNY/Yli1khS61Sh9emKv2Txl1XH1GOz3uGQ+w6Yd0yGVPRucjdkOkM KWfMVKx1C84qws9UdJ8M7RUKwgXOgDxfCEoVcEqnXth3Hw+F05s5oh2spbcvhEp1uEag scBvynbPbNfum35ogXMITo4LQ1jrjo1P4ZZRPRDwSUKEmgNgFoZX1KwIcoUIvGt6dnTM OkJg== X-Gm-Message-State: AOAM531k01+MEthSleAmGqDxmCWQUzFdiaJ2lkbM1sqUVv8eIQwWAWef 8mwnzGy2DiDapcsey94wf6cqcqI/azGLyi7yAO2uex5TDHsf5wOpRnZugjY96oGauSsc83Ffg2L YaSiYGNdF2gqjU5oeuQw= X-Received: by 2002:ab0:132a:: with SMTP id g39mr2147635uae.53.1622791646417; Fri, 04 Jun 2021 00:27:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwnzedyriRxe2sYZ+7UI4Zn1v/5axu3npMxo0xJ89bT4L5RCgKy07tEW7AekwaoU67MzhDFtxNvNhDfiAhs8mA= X-Received: by 2002:ab0:132a:: with SMTP id g39mr2147615uae.53.1622791646146; Fri, 04 Jun 2021 00:27:26 -0700 (PDT) MIME-Version: 1.0 References: <20210602095836.24901-1-david.marchand@redhat.com> <20210603165512.7357-1-david.marchand@redhat.com> <20210603165512.7357-3-david.marchand@redhat.com> <20210604012922.63574cff@sovereign> In-Reply-To: <20210604012922.63574cff@sovereign> From: David Marchand Date: Fri, 4 Jun 2021 09:27:15 +0200 Message-ID: To: Dmitry Kozlyuk Cc: dev , Igor Russkikh , Aaron Conole , Michael Santana , Bruce Richardson , Rasesh Mody , Shahed Shaikh , Qiming Yang , Qi Zhang , Heinrich Kuhn , Devendra Singh Rawat , Ray Kinsella , Neil Horman , Narcisa Ana Maria Vasile , Dmitry Malloy , Pallavi Kadam Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dmarchan@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH v2 2/2] eal: handle compressed firmwares X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Fri, Jun 4, 2021 at 12:29 AM Dmitry Kozlyuk wrote: > > 2021-06-03 18:55 (UTC+0200), David Marchand: > [...] > > diff --git a/config/meson.build b/config/meson.build > > index 017bb2efbb..c6985139b4 100644 > > --- a/config/meson.build > > +++ b/config/meson.build > > @@ -172,6 +172,13 @@ if libexecinfo.found() and cc.has_header('execinfo.h') > > dpdk_extra_ldflags += '-lexecinfo' > > endif > > > > +libarchive = dependency('libarchive', required: false, method: 'pkg-config') > > +if libarchive.found() > > + dpdk_conf.set('RTE_HAS_LIBARCHIVE', 1) > > + add_project_link_arguments('-larchive', language: 'c') > > + dpdk_extra_ldflags += '-larchive' > > +endif > > + > > Suggestion: > > diff --git a/config/meson.build b/config/meson.build > index c6985139b4..c3668798c1 100644 > --- a/config/meson.build > +++ b/config/meson.build > @@ -175,7 +175,6 @@ endif > libarchive = dependency('libarchive', required: false, method: 'pkg-config') > if libarchive.found() > dpdk_conf.set('RTE_HAS_LIBARCHIVE', 1) > - add_project_link_arguments('-larchive', language: 'c') > dpdk_extra_ldflags += '-larchive' > endif > > diff --git a/lib/eal/meson.build b/lib/eal/meson.build > index 1722924f67..5a018d97d6 100644 > --- a/lib/eal/meson.build > +++ b/lib/eal/meson.build > @@ -16,6 +16,7 @@ subdir(exec_env) > subdir(arch_subdir) > > deps += ['kvargs'] > +ext_deps += libarchive > if not is_windows > deps += ['telemetry'] > endif > I had tried something close when preparing v2 (only keeping RTE_HAS_LIBARCHIVE in config/meson.build and putting extra_ldflags and ext_deps in lib/eal/unix/meson.build) but both my try and your suggestion break static compilation for the helloworld example. $ ./devtools/test-meson-builds.sh -vv ... ## Building helloworld gmake: Entering directory '/home/dmarchan/builds/build-x86-generic/install/usr/local/share/dpdk/examples/helloworld' rm -f build/helloworld build/helloworld-static build/helloworld-shared test -d build && rmdir -p build || true cc -I/home/dmarchan/intel-ipsec-mb/install/include -O3 -I/home/dmarchan/builds/build-x86-generic/install/usr/local/include -include rte_config.h -march=nehalem -I/usr/usr/include -I/opt/isa-l/include -DALLOW_EXPERIMENTAL_API main.c -o build/helloworld-shared -L/home/dmarchan/intel-ipsec-mb/install/lib -Wl,--as-needed -L/home/dmarchan/builds/build-x86-generic/install/usr/local/lib -lrte_node -lrte_graph -lrte_bpf -lrte_flow_classify -lrte_pipeline -lrte_table -lrte_port -lrte_fib -lrte_ipsec -lrte_vhost -lrte_stack -lrte_security -lrte_sched -lrte_reorder -lrte_rib -lrte_regexdev -lrte_rawdev -lrte_pdump -lrte_power -lrte_member -lrte_lpm -lrte_latencystats -lrte_kni -lrte_jobstats -lrte_ip_frag -lrte_gso -lrte_gro -lrte_eventdev -lrte_efd -lrte_distributor -lrte_cryptodev -lrte_compressdev -lrte_cfgfile -lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer -lrte_hash -lrte_metrics -lrte_cmdline -lrte_pci -lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf -lrte_mempool -lrte_rcu -lrte_ring -lrte_eal -lrte_telemetry -lrte_kvargs -lbsd ln -sf helloworld-shared build/helloworld cc -I/home/dmarchan/intel-ipsec-mb/install/include -O3 -I/home/dmarchan/builds/build-x86-generic/install/usr/local/include -include rte_config.h -march=nehalem -I/usr/usr/include -I/opt/isa-l/include -DALLOW_EXPERIMENTAL_API main.c -o build/helloworld-static -L/home/dmarchan/intel-ipsec-mb/install/lib -Wl,--whole-archive -L/home/dmarchan/builds/build-x86-generic/install/usr/local/lib -l:librte_common_cpt.a -l:librte_common_dpaax.a -l:librte_common_iavf.a -l:librte_common_octeontx.a -l:librte_common_octeontx2.a -l:librte_bus_dpaa.a -l:librte_bus_fslmc.a -l:librte_bus_ifpga.a -l:librte_bus_pci.a -l:librte_bus_vdev.a -l:librte_bus_vmbus.a -l:librte_common_cnxk.a -l:librte_common_mlx5.a -l:librte_common_qat.a -l:librte_common_sfc_efx.a -l:librte_mempool_bucket.a -l:librte_mempool_cnxk.a -l:librte_mempool_dpaa.a -l:librte_mempool_dpaa2.a -l:librte_mempool_octeontx.a -l:librte_mempool_octeontx2.a -l:librte_mempool_ring.a -l:librte_mempool_stack.a -l:librte_net_af_packet.a -l:librte_net_af_xdp.a -l:librte_net_ark.a -l:librte_net_atlantic.a -l:librte_net_avp.a -l:librte_net_axgbe.a -l:librte_net_bnx2x.a -l:librte_net_bnxt.a -l:librte_net_bond.a -l:librte_net_cxgbe.a -l:librte_net_dpaa.a -l:librte_net_dpaa2.a -l:librte_net_e1000.a -l:librte_net_ena.a -l:librte_net_enetc.a -l:librte_net_enic.a -l:librte_net_failsafe.a -l:librte_net_fm10k.a -l:librte_net_hinic.a -l:librte_net_hns3.a -l:librte_net_i40e.a -l:librte_net_iavf.a -l:librte_net_ice.a -l:librte_net_igc.a -l:librte_net_ionic.a -l:librte_net_ipn3ke.a -l:librte_net_ixgbe.a -l:librte_net_kni.a -l:librte_net_liquidio.a -l:librte_net_memif.a -l:librte_net_mlx4.a -l:librte_net_mlx5.a -l:librte_net_netvsc.a -l:librte_net_nfp.a -l:librte_net_null.a -l:librte_net_octeontx.a -l:librte_net_octeontx2.a -l:librte_net_octeontx_ep.a -l:librte_net_pcap.a -l:librte_net_pfe.a -l:librte_net_qede.a -l:librte_net_ring.a -l:librte_net_sfc.a -l:librte_net_softnic.a -l:librte_net_szedata2.a -l:librte_net_tap.a -l:librte_net_thunderx.a -l:librte_net_txgbe.a -l:librte_net_vdev_netvsc.a -l:librte_net_vhost.a -l:librte_net_virtio.a -l:librte_net_vmxnet3.a -l:librte_raw_dpaa2_cmdif.a -l:librte_raw_dpaa2_qdma.a -l:librte_raw_ifpga.a -l:librte_raw_ioat.a -l:librte_raw_ntb.a -l:librte_raw_octeontx2_dma.a -l:librte_raw_octeontx2_ep.a -l:librte_raw_skeleton.a -l:librte_crypto_aesni_gcm.a -l:librte_crypto_aesni_mb.a -l:librte_crypto_bcmfs.a -l:librte_crypto_caam_jr.a -l:librte_crypto_ccp.a -l:librte_crypto_dpaa_sec.a -l:librte_crypto_dpaa2_sec.a -l:librte_crypto_kasumi.a -l:librte_crypto_nitrox.a -l:librte_crypto_null.a -l:librte_crypto_octeontx.a -l:librte_crypto_octeontx2.a -l:librte_crypto_openssl.a -l:librte_crypto_scheduler.a -l:librte_crypto_snow3g.a -l:librte_crypto_virtio.a -l:librte_crypto_zuc.a -l:librte_compress_isal.a -l:librte_compress_mlx5.a -l:librte_compress_octeontx.a -l:librte_compress_zlib.a -l:librte_regex_mlx5.a -l:librte_regex_octeontx2.a -l:librte_vdpa_ifc.a -l:librte_vdpa_mlx5.a -l:librte_event_cnxk.a -l:librte_event_dlb2.a -l:librte_event_dpaa.a -l:librte_event_dpaa2.a -l:librte_event_dsw.a -l:librte_event_octeontx2.a -l:librte_event_opdl.a -l:librte_event_skeleton.a -l:librte_event_sw.a -l:librte_event_octeontx.a -l:librte_baseband_acc100.a -l:librte_baseband_fpga_5gnr_fec.a -l:librte_baseband_fpga_lte_fec.a -l:librte_baseband_null.a -l:librte_baseband_turbo_sw.a -l:librte_node.a -l:librte_graph.a -l:librte_bpf.a -l:librte_flow_classify.a -l:librte_pipeline.a -l:librte_table.a -l:librte_port.a -l:librte_fib.a -l:librte_ipsec.a -l:librte_vhost.a -l:librte_stack.a -l:librte_security.a -l:librte_sched.a -l:librte_reorder.a -l:librte_rib.a -l:librte_regexdev.a -l:librte_rawdev.a -l:librte_pdump.a -l:librte_power.a -l:librte_member.a -l:librte_lpm.a -l:librte_latencystats.a -l:librte_kni.a -l:librte_jobstats.a -l:librte_ip_frag.a -l:librte_gso.a -l:librte_gro.a -l:librte_eventdev.a -l:librte_efd.a -l:librte_distributor.a -l:librte_cryptodev.a -l:librte_compressdev.a -l:librte_cfgfile.a -l:librte_bitratestats.a -l:librte_bbdev.a -l:librte_acl.a -l:librte_timer.a -l:librte_hash.a -l:librte_metrics.a -l:librte_cmdline.a -l:librte_pci.a -l:librte_ethdev.a -l:librte_meter.a -l:librte_net.a -l:librte_mbuf.a -l:librte_mempool.a -l:librte_rcu.a -l:librte_ring.a -l:librte_eal.a -l:librte_telemetry.a -l:librte_kvargs.a -Wl,--no-whole-archive -Wl,--export-dynamic -lIPSec_MB /usr/lib/gcc/x86_64-redhat-linux/10/../../../../lib64/librt.so -Wl,--as-needed -lrte_node -lrte_graph -lrte_bpf -lrte_flow_classify -lrte_pipeline -lrte_table -lrte_port -lrte_fib -lrte_ipsec -lrte_vhost -lrte_stack -lrte_security -lrte_sched -lrte_reorder -lrte_rib -lrte_regexdev -lrte_rawdev -lrte_pdump -lrte_power -lrte_member -lrte_lpm -lrte_latencystats -lrte_kni -lrte_jobstats -lrte_ip_frag -lrte_gso -lrte_gro -lrte_eventdev -lrte_efd -lrte_distributor -lrte_cryptodev -lrte_compressdev -lrte_cfgfile -lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer -lrte_hash -lrte_metrics -lrte_cmdline -lrte_pci -lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf -lrte_mempool -lrte_rcu -lrte_ring -lrte_eal -lrte_telemetry -lrte_kvargs -pthread -lm -ldl -lnuma -lfdt -larchive -lbsd -larchive -lacl -llzma -lzstd -llz4 -lbz2 -lz -lxml2 -L/usr/usr/lib64 -lmlx5 -lpthread -L/usr/usr/lib64 -lpthread -libverbs -lpthread -lcrypto -lz -ldl -pthread -lbpf -lz -lmlx4 -lpthread -L/usr/usr/lib64 -libverbs -lpthread -lpcap -Wl,-R/usr/lib64 -lsze2 -L/opt/isa-l/lib -lisal -lelf -lz -ljansson /usr/bin/ld: cannot find -lacl /usr/bin/ld: cannot find -llz4 /usr/bin/ld: cannot find -lbz2 collect2: error: ld returned 1 exit status gmake: *** [Makefile:43: build/helloworld-static] Error 1 gmake: Leaving directory '/home/dmarchan/builds/build-x86-generic/install/usr/local/share/dpdk/examples/helloworld' If it helps, here is what pkg-config reports: $ PKG_CONFIG_PATH=/opt/isa-l/lib/pkgconfig:$HOME/builds/build-x86-generic/install/usr/local/lib/pkgconfig pkg-config --static --libs libarchive -larchive -lcrypto -lacl -llzma -lzstd -llz4 -lbz2 -lz -lxml2 $ ls /lib*/lib{acl,lz4,bz2}* /lib64/libacl.so.1 /lib64/libacl.so.1.1.2253 /lib64/libbz2.so.1 /lib64/libbz2.so.1.0.8 /lib64/liblz4.so.1 /lib64/liblz4.so.1.9.1 $ PKG_CONFIG_PATH=/opt/isa-l/lib/pkgconfig:$HOME/builds/build-x86-generic/install/usr/local/lib/pkgconfig pkg-config --libs libdpdk -Wl,--as-needed -L/usr/local/lib -lrte_node -lrte_graph -lrte_bpf -lrte_flow_classify -lrte_pipeline -lrte_table -lrte_port -lrte_fib -lrte_ipsec -lrte_vhost -lrte_stack -lrte_security -lrte_sched -lrte_reorder -lrte_rib -lrte_regexdev -lrte_rawdev -lrte_pdump -lrte_power -lrte_member -lrte_lpm -lrte_latencystats -lrte_kni -lrte_jobstats -lrte_ip_frag -lrte_gso -lrte_gro -lrte_eventdev -lrte_efd -lrte_distributor -lrte_cryptodev -lrte_compressdev -lrte_cfgfile -lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer -lrte_hash -lrte_metrics -lrte_cmdline -lrte_pci -lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf -lrte_mempool -lrte_rcu -lrte_ring -lrte_eal -lrte_telemetry -lrte_kvargs -lbsd [dmarchan@wsfd-netdev66 dpdk]$ PKG_CONFIG_PATH=/opt/isa-l/lib/pkgconfig:$HOME/builds/build-x86-generic/install/usr/local/lib/pkgconfig pkg-config --static --libs libdpdk -Wl,--whole-archive -L/usr/local/lib -l:librte_common_cpt.a -l:librte_common_dpaax.a -l:librte_common_iavf.a -l:librte_common_octeontx.a -l:librte_common_octeontx2.a -l:librte_bus_dpaa.a -l:librte_bus_fslmc.a -l:librte_bus_ifpga.a -l:librte_bus_pci.a -l:librte_bus_vdev.a -l:librte_bus_vmbus.a -l:librte_common_cnxk.a -l:librte_common_mlx5.a -l:librte_common_qat.a -l:librte_common_sfc_efx.a -l:librte_mempool_bucket.a -l:librte_mempool_cnxk.a -l:librte_mempool_dpaa.a -l:librte_mempool_dpaa2.a -l:librte_mempool_octeontx.a -l:librte_mempool_octeontx2.a -l:librte_mempool_ring.a -l:librte_mempool_stack.a -l:librte_net_af_packet.a -l:librte_net_af_xdp.a -l:librte_net_ark.a -l:librte_net_atlantic.a -l:librte_net_avp.a -l:librte_net_axgbe.a -l:librte_net_bnx2x.a -l:librte_net_bnxt.a -l:librte_net_bond.a -l:librte_net_cxgbe.a -l:librte_net_dpaa.a -l:librte_net_dpaa2.a -l:librte_net_e1000.a -l:librte_net_ena.a -l:librte_net_enetc.a -l:librte_net_enic.a -l:librte_net_failsafe.a -l:librte_net_fm10k.a -l:librte_net_hinic.a -l:librte_net_hns3.a -l:librte_net_i40e.a -l:librte_net_iavf.a -l:librte_net_ice.a -l:librte_net_igc.a -l:librte_net_ionic.a -l:librte_net_ipn3ke.a -l:librte_net_ixgbe.a -l:librte_net_kni.a -l:librte_net_liquidio.a -l:librte_net_memif.a -l:librte_net_mlx4.a -l:librte_net_mlx5.a -l:librte_net_netvsc.a -l:librte_net_nfp.a -l:librte_net_null.a -l:librte_net_octeontx.a -l:librte_net_octeontx2.a -l:librte_net_octeontx_ep.a -l:librte_net_pcap.a -l:librte_net_pfe.a -l:librte_net_qede.a -l:librte_net_ring.a -l:librte_net_sfc.a -l:librte_net_softnic.a -l:librte_net_szedata2.a -l:librte_net_tap.a -l:librte_net_thunderx.a -l:librte_net_txgbe.a -l:librte_net_vdev_netvsc.a -l:librte_net_vhost.a -l:librte_net_virtio.a -l:librte_net_vmxnet3.a -l:librte_raw_dpaa2_cmdif.a -l:librte_raw_dpaa2_qdma.a -l:librte_raw_ifpga.a -l:librte_raw_ioat.a -l:librte_raw_ntb.a -l:librte_raw_octeontx2_dma.a -l:librte_raw_octeontx2_ep.a -l:librte_raw_skeleton.a -l:librte_crypto_aesni_gcm.a -l:librte_crypto_aesni_mb.a -l:librte_crypto_bcmfs.a -l:librte_crypto_caam_jr.a -l:librte_crypto_ccp.a -l:librte_crypto_dpaa_sec.a -l:librte_crypto_dpaa2_sec.a -l:librte_crypto_kasumi.a -l:librte_crypto_nitrox.a -l:librte_crypto_null.a -l:librte_crypto_octeontx.a -l:librte_crypto_octeontx2.a -l:librte_crypto_openssl.a -l:librte_crypto_scheduler.a -l:librte_crypto_snow3g.a -l:librte_crypto_virtio.a -l:librte_crypto_zuc.a -l:librte_compress_isal.a -l:librte_compress_mlx5.a -l:librte_compress_octeontx.a -l:librte_compress_zlib.a -l:librte_regex_mlx5.a -l:librte_regex_octeontx2.a -l:librte_vdpa_ifc.a -l:librte_vdpa_mlx5.a -l:librte_event_cnxk.a -l:librte_event_dlb2.a -l:librte_event_dpaa.a -l:librte_event_dpaa2.a -l:librte_event_dsw.a -l:librte_event_octeontx2.a -l:librte_event_opdl.a -l:librte_event_skeleton.a -l:librte_event_sw.a -l:librte_event_octeontx.a -l:librte_baseband_acc100.a -l:librte_baseband_fpga_5gnr_fec.a -l:librte_baseband_fpga_lte_fec.a -l:librte_baseband_null.a -l:librte_baseband_turbo_sw.a -l:librte_node.a -l:librte_graph.a -l:librte_bpf.a -l:librte_flow_classify.a -l:librte_pipeline.a -l:librte_table.a -l:librte_port.a -l:librte_fib.a -l:librte_ipsec.a -l:librte_vhost.a -l:librte_stack.a -l:librte_security.a -l:librte_sched.a -l:librte_reorder.a -l:librte_rib.a -l:librte_regexdev.a -l:librte_rawdev.a -l:librte_pdump.a -l:librte_power.a -l:librte_member.a -l:librte_lpm.a -l:librte_latencystats.a -l:librte_kni.a -l:librte_jobstats.a -l:librte_ip_frag.a -l:librte_gso.a -l:librte_gro.a -l:librte_eventdev.a -l:librte_efd.a -l:librte_distributor.a -l:librte_cryptodev.a -l:librte_compressdev.a -l:librte_cfgfile.a -l:librte_bitratestats.a -l:librte_bbdev.a -l:librte_acl.a -l:librte_timer.a -l:librte_hash.a -l:librte_metrics.a -l:librte_cmdline.a -l:librte_pci.a -l:librte_ethdev.a -l:librte_meter.a -l:librte_net.a -l:librte_mbuf.a -l:librte_mempool.a -l:librte_rcu.a -l:librte_ring.a -l:librte_eal.a -l:librte_telemetry.a -l:librte_kvargs.a -Wl,--no-whole-archive -Wl,--export-dynamic -lIPSec_MB /usr/lib/gcc/x86_64-redhat-linux/10/../../../../lib64/librt.so -Wl,--as-needed -lrte_node -lrte_graph -lrte_bpf -lrte_flow_classify -lrte_pipeline -lrte_table -lrte_port -lrte_fib -lrte_ipsec -lrte_vhost -lrte_stack -lrte_security -lrte_sched -lrte_reorder -lrte_rib -lrte_regexdev -lrte_rawdev -lrte_pdump -lrte_power -lrte_member -lrte_lpm -lrte_latencystats -lrte_kni -lrte_jobstats -lrte_ip_frag -lrte_gso -lrte_gro -lrte_eventdev -lrte_efd -lrte_distributor -lrte_cryptodev -lrte_compressdev -lrte_cfgfile -lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer -lrte_hash -lrte_metrics -lrte_cmdline -lrte_pci -lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf -lrte_mempool -lrte_rcu -lrte_ring -lrte_eal -lrte_telemetry -lrte_kvargs -pthread -lm -ldl -lnuma -lfdt -larchive -lbsd -larchive -lacl -llzma -lzstd -llz4 -lbz2 -lz -lxml2 -L/usr/usr/lib64 -lmlx5 -lpthread -L/usr/usr/lib64 -lpthread -libverbs -lpthread -lcrypto -lz -ldl -pthread -lbpf -lz -lmlx4 -lpthread -L/usr/usr/lib64 -libverbs -lpthread -lpcap -Wl,-R/usr/lib64 -lsze2 -L/opt/isa-l/lib -lisal -lelf -lz -ljansson -- David Marchand