[ovs-dev] [PATCH] travis: fix DPDK build

Daniele Di Proietto ddiproietto at vmware.com
Wed Sep 10 16:22:30 UTC 2014


On 9/10/14, 7:54 AM, "Thomas Graf" <tgraf at noironetworks.com> wrote:

>On 09/09/14 at 10:45pm, Daniele Di Proietto wrote:
>> I¹ll try to figure out what¹s wrong an post another patch.
>
>Daniele,
>
>I have a patchset to properly enable the DPDK build, fix CFLAGS
>and disable some errors to make -Werror work. The only thing left
>is resolving this linker error:
>
>/bin/bash ./libtool  --tag=CC   --mode=link env REAL_CC="gcc -std=gnu99"
>CHECK="sparse -I ./include/sparse -m64 -I /usr/local/include -I
>/usr/include/x86_64-linux-gnu  " cgcc -target=x86_64 -Wstrict-prototypes
>-Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat-security
>-Wno-format-zero-length -Wswitch-enum -Wunused-parameter
>-Wstrict-aliasing -Wbad-function-cast -Wcast-align -Wmissing-prototypes
>-Wmissing-field-initializers -I./dpdk-1.7.0/build/include  -Werror
>-Wno-error=bad-function-cast  -L./dpdk-1.7.0/build/lib   -o
>tests/ovsclient tests/ovs_client/ovs_client.o lib/libopenvswitch.la
>-lintel_dpdk -Wl,--whole-archive,-ldl,--no-whole-archive -lpthread -lrt
>-lm  -lintel_dpdk -Wl,--whole-archive,-ldl,--no-whole-archive -lpthread
>-lrt -lm 
>libtool: link: env "REAL_CC=gcc -std=gnu99" "CHECK=sparse -I
>./include/sparse -m64 -I /usr/local/include -I
>/usr/include/x86_64-linux-gnu  " cgcc -target=x86_64 -Wstrict-prototypes
>-Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat-security
>-Wno-format-zero-length -Wswitch-enum -Wunused-parameter
>-Wstrict-aliasing -Wbad-function-cast -Wcast-align -Wmissing-prototypes
>-Wmissing-field-initializers -I./dpdk-1.7.0/build/include -Werror
>-Wno-error=bad-function-cast -o tests/ovsclient
>tests/ovs_client/ovs_client.o -Wl,--whole-archive -Wl,-ldl
>-Wl,--no-whole-archive -Wl,--whole-archive -Wl,-ldl
>-Wl,--no-whole-archive  -L./dpdk-1.7.0/build/lib
>lib/.libs/libopenvswitch.a -lssl -lcrypto -lintel_dpdk -lpthread -lrt -lm
>./dpdk-1.7.0/build/lib/libintel_dpdk.so: undefined reference to `dlopen'
>./dpdk-1.7.0/build/lib/libintel_dpdk.so: undefined reference to `dlerror'

That’s great,

I see that -Wl,--whole-archive -Wl,-ldl -Wl,--no-whole-archive is used
when building ovs_client. That should not happen on master
(-Wl,--whole-archive is used only when we need to link all the pmd
drivers, i.e. when linking ovs-vswitchd). Can you please provide what you
have so far so that we can work on the top of that?

Thanks,

Daniele



More information about the dev mailing list