>> I have done what you said but it does not work. I did it in the >> server I usually use and in a VM, in both of them appears the error. >> To be clear, I have followed the next instructions: >> >> apt-get install fuse >> apt-get install libfuse-dev >> download dpdk-1.8.0 >> modify common_linuxapp: >> +CONFIG_RTE_BUILD_COMBINE_LIBS=y >> +CONFIG_RTE_LIBRTE_VHOST=y >> make config T=x86_64-native-linuxapp-gcc make install >> T=x86_64-native-linuxapp-gcc >> >> git clone ovs >> apply next patch: >> http://openvswitch.org/pipermail/dev/2015-March/052061.html >> ./boot.sh >> ./configure --with-dpdk=$DPDK_BUILD >> make >> >> Is anything wrong with it? > > I don't see anything obvious that's wrong. I've just checked it now on my own > system with the commit I rebased against and it's compiling ok. > I'm on F20 with 3.16. The part of the patch that adds the fuse library is > below, so you could check to make sure it has applied ok. > > diff --git a/lib/automake.mk b/lib/automake.mk index 2acfe18..594dec4 100644 > --- a/lib/automake.mk > +++ b/lib/automake.mk > @@ -346,6 +346,7 @@ lib_libopenvswitch_la_SOURCES += \ endif > > if DPDK_NETDEV > +lib_libopenvswitch_la_LDFLAGS += -lfuse > > > After that I'm not really sure where to go. I'll try it on the head of master > when I'm back in the office on Wednesday.
I can confirm this problem, at least on Ubuntu (14.10). I believe it is due to the fact that dependencies on shared objects (-lfuse) are not captured in .la files. Hence when executables are linked with libopenvswitch.a, the -lfuse link flag doesn't get added automatically. I've seen this on another project but I'm not sure what is the proper solution. The difference with other shared objects (e.g. -ldl) is that those get added during configure step and land into $(LIBS) that then gets widely applied. The easy workaround though is to add -lfuse to LIBS at ovs make invocation time: make LIBS=-lfuse