From: "Verbeiren, David" <david.verbeiren@intel.com>
To: "Traynor, Kevin" <kevin.traynor@intel.com>,
IñakiMurillo <inaki.murilloa@ehu.eus>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Undefined reference to FUSE
Date: Wed, 18 Mar 2015 09:37:11 +0000 [thread overview]
Message-ID: <E1593C396FB6564D9825B2CD97E930A66CC6FFF9@IRSMSX101.ger.corp.intel.com> (raw)
In-Reply-To: <BC0FEEC7D7650749874CEC11314A88F7306C9727@IRSMSX104.ger.corp.intel.com>
>> 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
prev parent reply other threads:[~2015-03-18 9:37 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-13 11:49 IñakiMurillo
2015-03-13 12:09 ` De Lara Guarch, Pablo
2015-03-13 14:38 ` IñakiMurillo
2015-03-13 14:43 ` Traynor, Kevin
2015-03-16 9:47 ` IñakiMurillo
2015-03-16 13:56 ` Traynor, Kevin
2015-03-16 16:37 ` IñakiMurillo
2015-03-16 18:42 ` Traynor, Kevin
2015-03-18 9:37 ` Verbeiren, David [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E1593C396FB6564D9825B2CD97E930A66CC6FFF9@IRSMSX101.ger.corp.intel.com \
--to=david.verbeiren@intel.com \
--cc=dev@dpdk.org \
--cc=inaki.murilloa@ehu.eus \
--cc=kevin.traynor@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).