All of lore.kernel.org
 help / color / mirror / Atom feed
* making liburcu and lttng coexist in a LGPL'ed program
@ 2018-11-27 18:17 Jeff Layton
  0 siblings, 0 replies; 7+ messages in thread
From: Jeff Layton @ 2018-11-27 18:17 UTC (permalink / raw)
  To: lttng-dev; +Cc: Thomas Serlin, devel

The nfs-ganesha project has used lttng for quite some time to handle
tracing. Recently though, we decided to start building liburcu in as a
mandatory component, with an eye toward using it in certain areas.

Before this change, the code linked in liburcu-bp directly, but now we
just use liburcu. Unfortunately, when we enable tracepoints in the build
now, we get errors like this at link time:

--------------------8<----------------
[ 96%] Linking C executable ganesha.nfsd
/usr/bin/ld: libMainServices.a(nfs_worker_thread.c.o): undefined reference to symbol 'rcu_gp_bp'
/usr/bin/ld: //usr/lib64/liburcu-bp.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [MainNFSD/CMakeFiles/ganesha.nfsd.dir/build.make:308: MainNFSD/ganesha.nfsd] Error 1
make[1]: *** [CMakeFiles/Makefile2:2740: MainNFSD/CMakeFiles/ganesha.nfsd.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
--------------------8<----------------

nfs-ganesha defines _LGPL_SOURCE, and that makes lttng use the
redefinitions in tracepoint-rcu.h. If I disable _LGPL_SOURCE, it all
builds as expected.

I found a similar bug here:

    https://bugs.lttng.org/issues/1156

Any thoughts on the right fix for this? We'd like to eat our cake and
have it too, so that we can have _LGPL_SOURCE defined, lttng enabled,
and the urcu flavor be determined at runtime.

Many thanks,
-- 
Jeff Layton <jlayton@redhat.com>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-12-03 21:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <5fcdce0f9a2ed1f6e1337db191f3b97e872a8e2f.camel@redhat.com>
2018-11-28 22:06 ` making liburcu and lttng coexist in a LGPL'ed program Mathieu Desnoyers
     [not found] ` <1340598393.14672.1543442803749.JavaMail.zimbra@efficios.com>
2018-12-03 17:58   ` Jeff Layton
     [not found]   ` <30865b2cf91a657a0b599b7853201ef372585ee2.camel@redhat.com>
2018-12-03 18:25     ` Mathieu Desnoyers
     [not found]     ` <1370084463.18476.1543861523124.JavaMail.zimbra@efficios.com>
2018-12-03 18:43       ` Jeff Layton
     [not found]       ` <8b9b51d11d375d18b1472937090541e3e657360f.camel@redhat.com>
2018-12-03 19:13         ` Mathieu Desnoyers
     [not found]         ` <1522815873.18540.1543864399676.JavaMail.zimbra@efficios.com>
2018-12-03 21:55           ` Jeff Layton
2018-11-27 18:17 Jeff Layton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.