[lttng-dev] Compilation error with openwrt and uclibc 0.9.31

Arthur LAMBERT arthur.lambert at sagemcom.com
Thu Sep 26 06:38:21 EDT 2013


Hi

After some research about compilation error with uclibc relative to 
shm_open, I finally found a patch for my toolchain : 
http://lists.uclibc.org/pipermail/uclibc/2009-February/041886.html
This patch add missing file for uclibc 0.9.30.1...

This patch fix shm_open issue with 2.1.0 and 2.3.0 version of LTT.

Now just need to test if my work around in getcpu.h allow the tool to 
work correctly. So like often, just need to use the good key word in 
google to find a way out hehe.

Arthur.

On 25/09/2013 18:17, Jérémie Galarneau wrote:
> On Wed, Sep 25, 2013 at 7:06 AM, Arthur LAMBERT
> <arthur.lambert at sagemcom.com> wrote:
>> Hi,
>>
>> I am using backfire version of Openwrt and would like to try to use
>> profiling features bring by tools like lttng. I found some Makefile packages
>> on openwrt website to build lttng-tools and lttng-ust with recent version of
>> openwrt version but I am not able to compile lttng without error. with
>> mine..
>>
>> Environment :
>>
>> Openwrt Backfire
>> UCLIBC 0.9.31
>> Linux kernel 2.6.28
> Please note that kernel tracing is only available on kernels >= 2.6.38
> (or 2.6.32 if patched appropriately).
> I'm not an openwrt user, but it seems Makefiles are only provided for
> LTTng 2.1.0. Can you confirm whether or not the build succeeds for
> that version?
>
>> ARCH mips32
>> lttng version : 2.3.0
>> librcu version : 0.8
>>
>> First problem was related to lttng-ust-2.3.0/libringbuffer/getcpu.h. I get
>> an undefined reference to c variable in lttng_ust_get_cpu function. After
>> some research I was not able to find a solution about this point even if I
>> seem to be up to date since I found some patch related to issue with old
>> version of uclibc than 0.9.32. This patch seems to be already integrated in
>> my lttng ust version. Anyway, I found a workaround to check that the next
>> step on the compilation is find... but it is not...
>>
> Could you clarify what was the error and what is the workaround?
>
>> Compilation result :
>>
>> make package/lttng-tools/compile V=99
>>
>> make[1]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt'
>> make[2]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/feeds/tools/libs/liburcu'
>> make[2]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/feeds/tools/libs/liburcu'
>> make[2]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/package/e2fsprogs'
>> WARNING: skipping e2fsprogs -- package not selected
>> WARNING: skipping uuidgen -- package not selected
>> WARNING: skipping libext2fs -- package not selected
>> WARNING: skipping tune2fs -- package not selected
>> WARNING: skipping resize2fs -- package not selected
>> WARNING: skipping badblocks -- package not selected
>> WARNING: skipping blkid -- package not selected
>> make[2]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/package/e2fsprogs'
>> make[2]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/feeds/tools/devel/lttng-ust'
>> CFLAGS="-Os -pipe -mabi=32 -mtune=mips32 -fno-strict-aliasing -g3
>> -fhonour-copts -msoft-float
>> -I/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/target-mips_uClibc-0.9.30.1/usr/include
>> -I/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/target-mips_uClibc-0.9.30.1/include
>> -I/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/toolchain-mips_gcc-4.4.2_uClibc-0.9.30.1/usr/include
>> -I/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/toolchain-mips_gcc-4.4.2_uClibc-0.9.30.1/include
>> " CXXFLAGS="-Os -pipe -mabi=32 -mtune=mips32 -fno-strict-aliasing -g3
>> -fhonour-copts -msoft-float
>> -I/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/target-mips_uClibc-0.9.30.1/usr/include
>> -I/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/target-mips_uClibc-0.9.30.1/include
>> -I/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/toolchain-mips_gcc-4.4.2_uClibc-0.9.30.1/usr/include
>> -I/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/toolchain-mips_gcc-4.4.2_uClibc-0.9.30.1/include
>> "
>> LDFLAGS="-L/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/target-mips_uClibc-0.9.30.1/usr/lib
>> -L/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/target-mips_uClibc-0.9.30.1/lib
>> -L/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/toolchain-mips_gcc-4.4.2_uClibc-0.9.30.1/usr/lib
>> -L/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/toolchain-mips_gcc-4.4.2_uClibc-0.9.30.1/lib
>> " make  -j2 -C
>> /home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/.
>> AR=mips-openwrt-linux-uclibc-ar AS="mips-openwrt-linux-uclibc-gcc -c -Os
>> -pipe -mabi=32 -mtune=mips32 -fno-strict-aliasing -g3 -fhonour-copts
>> -msoft-float" LD=mips-openwrt-linux-uclibc-ld
>> NM=mips-openwrt-linux-uclibc-nm CC="mips-openwrt-linux-uclibc-gcc"
>> GCC="mips-openwrt-linux-uclibc-gcc" CXX="mips-openwrt-linux-uclibc-g++"
>> RANLIB=mips-openwrt-linux-uclibc-ranlib
>> STRIP=mips-openwrt-linux-uclibc-strip
>> OBJCOPY=mips-openwrt-linux-uclibc-objcopy
>> OBJDUMP=mips-openwrt-linux-uclibc-objdump
>> SIZE=mips-openwrt-linux-uclibc-size CROSS="mips-openwrt-linux-uclibc-"
>> ARCH="mips" ;
>> make[3]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0'
>> make  all-recursive
>> make[4]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0'
>> Making all in .
>> make[5]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0'
>> make[5]: Nothing to be done for `all-am'.
>> make[5]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0'
>> Making all in include
>> make[5]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/include'
>> make[5]: Nothing to be done for `all'.
>> make[5]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/include'
>> Making all in snprintf
>> make[5]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/snprintf'
>> make[5]: Nothing to be done for `all'.
>> make[5]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/snprintf'
>> Making all in libringbuffer
>> make[5]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/libringbuffer'
>> make[5]: Nothing to be done for `all'.
>> make[5]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/libringbuffer'
>> Making all in liblttng-ust-comm
>> make[5]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/liblttng-ust-comm'
>> make[5]: Nothing to be done for `all'.
>> make[5]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/liblttng-ust-comm'
>> Making all in liblttng-ust
>> make[5]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/liblttng-ust'
>> make[5]: Nothing to be done for `all'.
>> make[5]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/liblttng-ust'
>> Making all in liblttng-ust-ctl
>> make[5]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/liblttng-ust-ctl'
>> make[5]: Nothing to be done for `all'.
>> make[5]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/liblttng-ust-ctl'
>> Making all in liblttng-ust-fork
>> make[5]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/liblttng-ust-fork'
>> make[5]: Nothing to be done for `all'.
>> make[5]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/liblttng-ust-fork'
>> Making all in liblttng-ust-libc-wrapper
>> make[5]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/liblttng-ust-libc-wrapper'
>> make[5]: Nothing to be done for `all'.
>> make[5]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/liblttng-ust-libc-wrapper'
>> Making all in liblttng-ust-cyg-profile
>> make[5]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/liblttng-ust-cyg-profile'
>> make[5]: Nothing to be done for `all'.
>> make[5]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/liblttng-ust-cyg-profile'
>> Making all in tools
>> make[5]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/tools'
>> make[5]: Nothing to be done for `all'.
>> make[5]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/tools'
>> Making all in tests
>> make[5]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/tests'
>> Making all in utils
>> make[6]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/tests/utils'
>> make[6]: Nothing to be done for `all'.
>> make[6]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/tests/utils'
>> Making all in hello
>> make[6]: Entering directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/tests/hello'
>> /bin/bash ../../libtool  --tag=CC   --mode=link
>> mips-openwrt-linux-uclibc-gcc -Werror=old-style-definition -Wall -Os -pipe
>> -mabi=32 -mtune=mips32 -fno-strict-aliasing -g3 -fhonour-copts -msoft-float
>> -L/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/target-mips_uClibc-0.9.30.1/usr/lib
>> -L/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/target-mips_uClibc-0.9.30.1/lib
>> -L/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/toolchain-mips_gcc-4.4.2_uClibc-0.9.30.1/usr/lib
>> -L/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/toolchain-mips_gcc-4.4.2_uClibc-0.9.30.1/lib
>> -o hello hello-hello.o hello-tp.o ../../liblttng-ust/liblttng-ust.la -ldl
>> -lurcu-bp -lurcu-bp -lurcu-cds -lpthread
>> libtool: link: mips-openwrt-linux-uclibc-gcc -Werror=old-style-definition
>> -Wall -Os -pipe -mabi=32 -mtune=mips32 -fno-strict-aliasing -g3
>> -fhonour-copts -msoft-float -o .libs/hello hello-hello.o hello-tp.o
>> -L/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/target-mips_uClibc-0.9.30.1/usr/lib
>> -L/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/target-mips_uClibc-0.9.30.1/lib
>> -L/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/toolchain-mips_gcc-4.4.2_uClibc-0.9.30.1/usr/lib
>> -L/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/toolchain-mips_gcc-4.4.2_uClibc-0.9.30.1/lib
>> ../../liblttng-ust/.libs/liblttng-ust.so
>> /home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/liblttng-ust/.libs/liblttng-ust-tracepoint.so
>> -lrt -ldl -lurcu-bp -lurcu-cds -lpthread
>> ../../liblttng-ust/.libs/liblttng-ust.so: warning: the use of `mktemp' is
>> dangerous, better use `mkstemp'
>> /home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/toolchain-mips_gcc-4.4.2_uClibc-0.9.30.1/lib/gcc/mips-openwrt-linux-uclibc/4.4.2/../../../../mips-openwrt-linux-uclibc/bin/ld:
>> warning: liburcu-common.so.2, needed by
>> /home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/staging_dir/target-mips_uClibc-0.9.30.1/usr/lib/liburcu-bp.so,
>> not found (try using -rpath or -rpath-link)
>> ../../liblttng-ust/.libs/liblttng-ust.so: undefined reference to `shm_open'
>> ../../liblttng-ust/.libs/liblttng-ust.so: undefined reference to
>> `shm_unlink'
>> collect2: ld returned 1 exit status
>> make[6]: *** [hello] Error 1
>> make[6]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/tests/hello'
>> make[5]: *** [all-recursive] Error 1
>> make[5]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/tests'
>> make[4]: *** [all-recursive] Error 1
>> make[4]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0'
>> make[3]: *** [all] Error 2
>> make[3]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0'
>> make[2]: ***
>> [/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/build_dir/target-mips_uClibc-0.9.30.1/lttng-ust-2.3.0/.built]
>> Error 2
>> make[2]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt/feeds/tools/devel/lttng-ust'
>> make[1]: *** [package/feeds/tools/lttng-ust/compile] Error 2
>> make[1]: Leaving directory
>> `/home/g179168/middleware/dev/TELEFONICA_3_32_X/openwrt'
>> make: *** [package/lttng-ust/compile] Erreur 2
>>
>> I am not very confortable with autotools but I am not able to understand
>> this error. Is it relared to the missing liburcu-common.so.2 library ? shm
>> functions are define by uclibc ? missing include ?
>>
>> Thanks,
>> Arthur.
>>
>>
>> #
>> " Ce courriel et les documents qui lui sont joints peuvent contenir des
>> informations confidentielles ou ayant un caractè privéS'ils ne vous sont
>> pas destiné nous vous signalons qu'il est strictement interdit de les
>> divulguer, de les reproduire ou d'en utiliser de quelque maniè que ce
>> soit le contenu. Si ce message vous a é transmis par erreur, merci d'en
>> informer l'expéteur et de supprimer imméatement de votre systè
>> informatique ce courriel ainsi que tous les documents qui y sont attaché"
>>
>>
>>                                ******
>>
>> " This e-mail and any attached documents may contain confidential or
>> proprietary information. If you are not the intended recipient, you are
>> notified that any dissemination, copying of this e-mail and any attachments
>> thereto or use of their contents by any means whatsoever is strictly
>> prohibited. If you have received this e-mail in error, please advise the
>> sender immediately and delete this e-mail and all attached documents
>> from your computer system."
>> #
>>
>>
>> _______________________________________________
>> lttng-dev mailing list
>> lttng-dev at lists.lttng.org
>> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>
>


#
" Ce courriel et les documents qui lui sont joints peuvent contenir des
informations confidentielles ou ayant un caractè privéS'ils ne vous sont
pas destiné nous vous signalons qu'il est strictement interdit de les
divulguer, de les reproduire ou d'en utiliser de quelque maniè que ce
soit le contenu. Si ce message vous a é transmis par erreur, merci d'en
informer l'expéteur et de supprimer imméatement de votre systè
informatique ce courriel ainsi que tous les documents qui y sont attaché"


                               ******

" This e-mail and any attached documents may contain confidential or
proprietary information. If you are not the intended recipient, you are
notified that any dissemination, copying of this e-mail and any attachments
thereto or use of their contents by any means whatsoever is strictly
prohibited. If you have received this e-mail in error, please advise the
sender immediately and delete this e-mail and all attached documents
from your computer system."
#

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20130926/abc54f6a/attachment-0001.html>


More information about the lttng-dev mailing list