[lttng-dev] lttng-ust cross compile broken for demo-tracef

Jérémie Galarneau jeremie.galarneau at efficios.com
Mon Apr 7 12:32:18 EDT 2014


On Mon, Apr 7, 2014 at 10:29 AM, Jan Glauber <jan.glauber at gmail.com> wrote:
> Yes:
> $ which arm-linux-gnueabihf-gcc
> /usr/bin/arm-linux-gnueabihf-gcc
>
> IIRC the examples have not been build by default in the past, right?

They have been for around a year. I think I found the issue:
lttng-gen-tp doesn't expect the CC variable to contain command line
arguments.

Can you apply and test the following diff?

diff --git a/tools/lttng-gen-tp b/tools/lttng-gen-tp
index a3a01f2..b62cd99 100755
--- a/tools/lttng-gen-tp
+++ b/tools/lttng-gen-tp
@@ -94,7 +94,7 @@ class ObjFile:
         if 'CC' in os.environ:
             cc = os.environ['CC']
             try:
-                subprocess.call(cc,
+                subprocess.call(cc.split(),
                                 stdout=subprocess.PIPE,
                                 stderr=subprocess.PIPE)
             except OSError as msg:


Thanks,
Jérémie

>
>
> 2014-04-07 16:20 GMT+02:00 Jérémie Galarneau
> <jeremie.galarneau at efficios.com>:
>
>> On Mon, Apr 7, 2014 at 10:10 AM, Jan Glauber <jan.glauber at gmail.com>
>> wrote:
>> > Sure, it looks like there is a problem with python in lttng-get-tp:
>> >
>> > | make[4]: Entering directory
>> >
>> > `/home/jang/temp/p4/JGlauber_hal_share/poky/build/tmp/work/armv7ahf-vfp-neon-elina-linux-gnueabi/lttng-ust-2.4-r0/git/doc/examples/gen-tp'
>> > | ../../../tools/lttng-gen-tp -o sample_tracepoint.c
>> > sample_tracepoint.tp
>> > |
>> >
>> > CPPFLAGS="-isystem/home/jang/temp/p4/JGlauber_hal_share/poky/../toolchain//arm-linux-gnueabihf/include
>> >
>> > -isystem/home/jang/temp/p4/JGlauber_hal_share/poky/../toolchain//arm-linux-gnueabihf/include
>> > -I../../../include/ -I../../../include/" \
>> > |       CFLAGS="-Wall
>> >
>> > -isystem/home/jang/temp/p4/JGlauber_hal_share/poky/../toolchain//arm-linux-gnueabihf/include
>> > -O2 -pipe -g -feliminate-unused-debug-types -fno-omit-frame-pointer
>> > -Wall
>> >
>> > -isystem/home/jang/temp/p4/JGlauber_hal_share/poky/../toolchain//arm-linux-gnueabihf/include
>> > -O2 -pipe -g -feliminate-unused-debug-types -fno-omit-frame-pointer" \
>> > |
>> >
>> > LDFLAGS="-L/home/jang/temp/p4/JGlauber_hal_share/poky/../toolchain//arm-linux-gnueabihf/lib
>> >
>> > -Wl,-rpath-link,/home/jang/temp/p4/JGlauber_hal_share/poky/../toolchain//arm-linux-gnueabihf/lib
>> > -Wl,-O1 -Wl,--hash-style=gnu
>> >
>> > -L/home/jang/temp/p4/JGlauber_hal_share/poky/../toolchain//arm-linux-gnueabihf/lib
>> >
>> > -Wl,-rpath-link,/home/jang/temp/p4/JGlauber_hal_share/poky/../toolchain//arm-linux-gnueabihf/lib
>> > -Wl,-O1 -Wl,--hash-style=gnu -L../../../liblttng-ust/.libs/
>> >
>> > -Wl,-rpath="/home/jang/temp/p4/JGlauber_hal_share/poky/build/tmp/work/armv7ahf-vfp-neon-elina-linux-gnueabi/lttng-ust-2.4-r0/git/doc/examples/../../liblttng-ust/.libs/""
>> > \
>> > |       CC="arm-linux-gnueabihf-gcc  -march=armv7-a
>> > -mthumb-interwork
>> > -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15
>> >
>> > --sysroot=/home/jang/temp/p4/JGlauber_hal_share/poky/build/tmp/sysroots/omap5"
>> > \
>> > |       ../../../tools/lttng-gen-tp -o sample_tracepoint.o
>> > sample_tracepoint.tp
>> > | Invalid CC environment variable
>>
>> Okay, this means that subprocess.call(cc, ...) (lttng-gen-tp:108)
>> fails while trying to run your CC variable. Is arm-linux-gnueabihf-gcc
>> in your PATH?
>>
>> Jérémie
>>
>> > | Traceback (most recent call last):
>> > |   File "../../../tools/lttng-gen-tp", line 315, in <module>
>> > |     sys.exit(main())
>> > |   File "../../../tools/lttng-gen-tp", line 309, in main
>> > |     dotobj.write()
>> > |   File "../../../tools/lttng-gen-tp", line 132, in write
>> > |     raise RuntimeError("No C Compiler detected")
>> > | RuntimeError: No C Compiler detected
>> > | make[4]: *** [sample_tracepoint.o] Error 1
>> > | rm sample_tracepoint.c
>> > | make[4]: Leaving directory
>> >
>> > `/home/jang/temp/p4/JGlauber_hal_share/poky/build/tmp/work/armv7ahf-vfp-neon-elina-linux-gnueabi/lttng-ust-2.4-r0/git/doc/examples/gen-tp'
>> > | make[3]: *** [all-local] Error 1
>> >
>> > --Jan
>> >
>> >
>> > 2014-04-07 15:57 GMT+02:00 Jérémie Galarneau
>> > <jeremie.galarneau at efficios.com>:
>> >
>> >> Hi Jan,
>> >>
>> >> Can you post the errors you get if you set the "CC=gcc" line in
>> >> demo-tracef/Makefile by
>> >>
>> >> ifdef AM_CC
>> >>     CC = $(AM_CC)
>> >> endif
>> >>
>> >> Regards,
>> >> Jérémie
>> >>
>> >> On Mon, Apr 7, 2014 at 7:43 AM, Jan Glauber <jan.glauber at gmail.com>
>> >> wrote:
>> >> > Hi list,
>> >> >
>> >> > I get a compile error with current git head of lttng-ust if I
>> >> > cross-compile (bitbake):
>> >> >
>> >> > | make[4]: Entering directory
>> >> >
>> >> > `/home/jang/temp/p4/JGlauber_hal_share/poky/build/tmp/work/armv7ahf-vfp-neon-elina-linux-gnueabi/lttng-ust-2.4-r0/git/doc/examples/demo-tracef'
>> >> > | arm-linux-gnueabihf-gcc  -march=armv7-a     -mthumb-interwork
>> >> > -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15
>> >> >
>> >> > --sysroot=/home/jang/temp/p4/JGlauber_hal_share/poky/build/tmp/sysroots/omap5
>> >> > -L/home/jang/te
>> >> > |               -o demo-tracef demo-tracef.o -ldl -llttng-ust
>> >> > | demo-tracef.o: file not recognized: File format not recognized
>> >> > | collect2: error: ld returned 1 exit status
>> >> > | make[4]: *** [demo-tracef] Error 1
>> >> >
>> >> > Looks like the demo-tracef Makefile sets CC hard to gcc. But if I fix
>> >> > this I get more
>> >> > errors which I don't undertand. Am I the only one running into this?
>> >> >
>> >> > thx, Jan
>> >> > ---
>> >> > Harman Becker Automotive GmbH
>> >> > System Profiling & Optimizing Team
>> >> >
>> >> > _______________________________________________
>> >> > lttng-dev mailing list
>> >> > lttng-dev at lists.lttng.org
>> >> > http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>> >>
>> >>
>> >>
>> >> --
>> >> Jérémie Galarneau
>> >> EfficiOS Inc.
>> >> http://www.efficios.com
>> >
>> >
>>
>>
>>
>> --
>> Jérémie Galarneau
>> EfficiOS Inc.
>> http://www.efficios.com
>
>



-- 
Jérémie Galarneau
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list