[lttng-dev] [LTTNG][LTTng-ust] "Out of system" building patches.

Jimmy Durand Wesolowski jimmy.durand.wesolowski at gmail.com
Mon Aug 26 03:43:49 EDT 2013


2013/8/24 Jimmy Durand <jimmy.durand.wesolowski at gmail.com>

> 2013/8/24 Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
>
>> * Jimmy Durand (jimmy.durand.wesolowski at gmail.com) wrote:
>> > 2013/8/22 Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
>> >
>> > > * Jimmy Durand Wesolowski (jimmy.durand.wesolowski at gmail.com) wrote:
>> > > > Hi,
>> > > >
>> > > >
>> > > > Here are some patches to allow installing LTTng-ust out of the
>> system
>> > > > directories, ie building with "./configure --prefix", without
>> having to
>> > > set
>> > > > C/CPP/LDFLAGS at both the configure and the make building steps.
>> > >
>> > > Usually, setting CPPFLAGS/CFLAGS/LDFLAGS at configure time is enough,
>> > > e.g.:
>> > >
>> > > LDFLAGS=/usr/local/lib ./configure
>> > >
>> > > What feature is this patchset adding that is not covered by the usual
>> > > approach ? Or what is it fixing ?
>> > >
>> > Actually, this is enough for a regular system build, but if you wish to
>> > build
>> > it in another directory with --prefix=<PATH>, which is the case for
>> cross-
>> > compiling, this not enough.
>>
>> It might be a failure of my imagination but.. why is
>> CPPFLAGS/CFLAGS/LDFLAGS not enough to get UST to fetch the dependencies
>> it needs (e.g. userspace RCU) when they have been installed in
>> non-standard paths (because e.g. userspace RCU has been configured with
>> a --prefix path for sake of cross-compiling).
>>
> When building the doc/examples source directories, it seems that the
> Makefiles are
> not using the compiler and the flags set during the './configure' stage.
>
> Can you give a more detailed use-case that CPPFLAGS/CFLAGS/LDFLAGS fail
>> to cover ?
>>
> Yes, I will send it a complete use case Monday morning (UTC+1).
>

Here is a quick test, without any of my modifications. I had to pass both
CFLAGS and LDFLAGS to "./configure", as said earlier, which can be
considered
a normal process:
CFLAGS="-I<URCU_BUILD_PATH>/include" \
  CPPFLAGS="-I<URCU_BUILD_PATH>/include" \
  LDFLAGS="-L<URCU_BUILD_PATH>/lib" \
  ./configure --prefix=${PWD}/build

Now, running "make all install", I would expect the build to succeed. But,
in
the "doc/examples" subdirectories, for example "easy-ust", I have the
following error:
../../../include/lttng/tracepoint-rcu.h:26:27: fatal error:
urcu/compiler.h: \
No such file or directory

I have to run "make all" with the CFLAGS set to have a successful build
(actually I even had to add a -I${PWD}/include to the "./configure" step,
'sample_tracepoint.o' would not build otherwise).


Thank you,
-- 
Jimmy Durand Wesolowski
OpenWide R&D engineer
OneAccess
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20130826/eb7f66e0/attachment.html>


More information about the lttng-dev mailing list