[Pkg-dpdk-devel] not-so-multiarch

Christian Ehrhardt christian.ehrhardt at canonical.com
Wed Jul 5 06:38:05 UTC 2017


On Wed, Jul 5, 2017 at 7:26 AM, Christian Ehrhardt <
christian.ehrhardt at canonical.com> wrote:

>
> So I'll spin  a few more tries around adapting OVS as needed.
> Current revision: http://paste.ubuntu.com/25023344/
>

That wasn't enough yet.
The compile works just fine, analyzing the build logs:

Old auto-detect vs pkg-config:
1. lost
   -I/usr/include
   -I/usr/local/include/dpdk
2. stays as-is
   -I/usr/include/dpdk
3. added:
   -I/usr/include/x86_64-linux-gnu/dpdk
   -include /usr/include/x86_64-linux-gnu/dpdk/rte_config.h

That should be just what we want and works.

But later it fails on linking:
Error is:
./libtool: line 7471: cd: -l: invalid option

Likely another double option ...

It has the same modification to the includes.
But then:
1 lost:
  -L/usr/lib
2. stays as-is
  It tails the options with -ldpdk -pcap in both cases
  Remember that pulls in the linker script which is fine to expand the
group.
3. it gained the pkg-config "libs"
  -L-lrte_acl -lrte_cfgfile -lrte_cmdline -lrte_cryptodev -lrte_distributor
-lrte_eal -lrte_ethdev -lrte_hash -lrte_ip_frag -lrte_jobstats -lrte_kni
-lrte_kvargs -lrte_lpm -lrte_mbuf -lrte_mempool -lrte_meter -lrte_net
-lrte_pdump -lrte_pipeline -lrte_pmd_af_packet -lrte_pmd_bnxt
-lrte_pmd_bond -lrte_pmd_cxgbe -lrte_pmd_e1000 -lrte_pmd_ena -lrte_pmd_enic
-lrte_pmd_fm10k -lrte_pmd_i40e -lrte_pmd_ixgbe -lrte_pmd_null
-lrte_pmd_null_crypto -lrte_pmd_pcap -lrte_pmd_qede -lrte_pmd_ring
-lrte_pmd_thunderx_nicvf -lrte_pmd_vhost -lrte_pmd_virtio
-lrte_pmd_vmxnet3_uio -lrte_pmd_xenvirt -lrte_port -lrte_power
-lrte_reorder -lrte_ring -lrte_sched -lrte_table -lrte_timer -lrte_vhost
-ldl -lm -lpthread -lz

Two things are wrong with that:
1. it again does combine args the wrong way "-L-lrte_acl" in
LDFLAGS="$LDFLAGS -L${DPDK_LIB_DIR}"
2. it seems it actually wanted a -L<path> and not real -l statements.
    Also it only wants that if it is a non standard path, and we clearly
are at a standard path.

For the path we would actually need more like:
pkg-config --variable=libdir libdpdk
But I don't know how to fetch that in acinclude m4 code.

Anyway we clearly use a default libdir path and unless we change we don't
need to mess with ovs's config of it.
So dropping DPDK_LIBS from our change actually should do it.
I also adapted a few more things to follow the coding style the overall
file has.

Next revision currently trying to build in ppas:
http://paste.ubuntu.com/25023546/



-- 
Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-dpdk-devel/attachments/20170705/66be4bd9/attachment.html>


More information about the Pkg-dpdk-devel mailing list