On 12/7/21 13:52, taoyunupt wrote:
>     Thanks Ilya, you are right, it works. I missed libmnl-devel.
> 
>    I get another error today, "undefined reference to `rte_eth_from_rings' " 
>    In my code , rte_eth_from_rings  was called in netdev-dpdk.c, and I have 
> include <rte_eth_ring.h>, and when I compile dpdk with make , not meson ,it 
> works well.
>    It is weird.

Weird indeed.

To be clear, linking with meson-built DPDK is not tested enough
in OVS 2.13/2.14 and is not a recommended way to link with DPDK,
so there might be some problems.  I'd guess that meson disables
some libs/drivers during the build due to missing dependencies
or something like that, so they are not available while liking
with OVS.  You may check the meson configuration logs.
But ring driver doesn't seem to have any extra dependencies,
unless you're trying to build on Windows, so I'm not sure.
Or maybe the readers are picked up from the incorrect location.

>    
>     Hope to get your advice.
>     Thanks,
>      YUN
>  
> 
>   
> 
> At 2021-12-06 22:18:01, "Ilya Maximets" <i.maxim...@ovn.org> wrote:
>>On 12/6/21 14:09, taoyunupt wrote:
>>> Hi ben and Ilya,
>>>      I meet some compile error,  hope to get your advice.
>>>       My OS is centos7.6,kernel version is 3.10.0-957.el7.x86_64, in X86 
>>> arch.   I compiled  dpdk19.11 by meson , and it seems work, the compiled 
>>> lib stays  in /usr/local/lin64.
>>> 
>>>      When I compile DPDK lib with OVS by make , it failed with log "unable 
>>> to find libmnl, install the dependency package",but actually I have 
>>> installed libmnl-1.0.3-7.el7.x86_64
>>
>>Do you have libmnl-devel installed?
>>
>>>     
>>>       Thanks   for yor  advices.
>>>       YUN
>>> 
>>>      The dpdk compile script is:
>>>        export DPDK_DIR=$(pwd)
>>>        cd $DPDK_DIR
>>>        #configure and install DPDK using Meson
>>> 
>>>        #build and install the DPDK library:
>>> 
>>>        export DPDK_BUILD=$DPDK_DIR/build
>>>        meson build
>>>        ninja -C build
>>>        ninja -C build install
>>>        ldconfig
>>> 
>>>     
>>>      The ovs compile script is :
>>>       export DPDK_DIR=/usr/local
>>>       export DPDK_TARGET=lib64
>>>       export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET
>>> 
>>>       export OVS_DIR=/root/rpmbuild/SOURCES/openvswitch
>>> 
>>>        cd $OVS_DIR
>>>       ./boot.sh
>>> 
>>>       ./configure --with-dpdk=$DPDK_BUILD --prefix= --localstatedir=/var 
>>> --datarootdir=/usr/share CFLAGS='-O0 -g' LIBS='-lfdt'
>>> 
>>>       make -j 32
>>>       make install
>>> 
> 

_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to