[Clfs-support] UClibc ARM toolchain: GCC Pass 2 fail. (problems with libsatinizer)

Michele Bucca michele.bucca at gmail.com
Mon Nov 21 10:13:48 PST 2016


Il 21 nov 2016 2:58 PM, "Andrew Bradford" <andrew at bradfordembedded.com> ha
scritto:
>
> Hi Michele,
>
> On 11/20 23:50, Michele Bucca wrote:
> > Hello, I've made some progress building the toolchain.
> >
> > I've installed the linux headers
> >
> > make mrproper
> > make ARCH=arm headers_check
> > make ARCH=arm
> > INSTALL_HDR_PATH=/home/michele/uclibc-arm/arm-none-linux-uclibcgnueabi
> > headers_install
> >
> >
> > Then I've installed uClibc with the following commands:
> >
> > make defconfig
> > make menuconfig (configured manually, I've attached the config file)
> > make CROSS_COMPILE=arm-none-linux-uclibcgnueabi-
> > make CROSS_COMPILE=arm-none-linux-uclibcgnueabi-
> > PREFIX=/home/michele/uclibc-arm/arm-none-linux-uclibcgnueabi install_dev
> > make CROSS_COMPILE=arm-none-linux-uclibcgnueabi-
> > PREFIX=/home/michele/uclibc-arm/arm-none-linux-uclibcgnueabi install
> >
> >
> > Now i'm trying to build GCC for the second time with
> >
> >
> > ../configure --prefix=/home/michele/uclibc-arm
> > --build=x86_64-cross-linux-gnu --host=x86_64-cross-linux-gnu
> > --target=arm-unknown-linux-uclibcgnueabi
> > --with-sysroot=/home/michele/uclibc-arm/arm-unknown-linux-uclibcgnueabi
> > --disable-nls --enable-languages=c,c++ --enable-c99 --enable-long-long
> > --disable-libmudflap --disable-multilib --with-arch=armv6
--with-float=soft
> >
> > However make gives me the error shown in the screenshot. Something
about a
> > ucontext.h file that is missing.
> >
> > /gcc-6.2.0/build/./gcc/xgcc -shared-libgcc
> > -B/home/michele/tmp/uclibc-toolchain/gcc-6.2.0/build/./gcc -nostdinc++
> >
-L/home/michele/tmp/uclibc-toolchain/gcc-6.2.0/build/arm-unknown-linux-uclibcgnueabi/libstdc++-v3/src
> >
-L/home/michele/tmp/uclibc-toolchain/gcc-6.2.0/build/arm-unknown-linux-uclibcgnueabi/libstdc++-v3/src/.libs
> >
-L/home/michele/tmp/uclibc-toolchain/gcc-6.2.0/build/arm-unknown-linux-uclibcgnueabi/libstdc++-v3/libsupc++/.libs
> > -B/home/michele/uclibc-arm/arm-unknown-linux-uclibcgnueabi/bin/
> > -B/home/michele/uclibc-arm/arm-unknown-linux-uclibcgnueabi/lib/ -isystem
> > /home/michele/uclibc-arm/arm-unknown-linux-uclibcgnueabi/include
-isystem
> > /home/michele/uclibc-arm/arm-unknown-linux-uclibcgnueabi/sys-include
> > -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
> > -D__STDC_LIMIT_MACROS  -DHAVE_RPC_XDR_H=1 -DHAVE_TIRPC_RPC_XDR_H=0 -I.
> > -I../../../../libsanitizer/sanitizer_common -I..  -I
> > ../../../../libsanitizer/include -isystem
> > ../../../../libsanitizer/include/system  -Wall -W -Wno-unused-parameter
> > -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin
-fno-exceptions
> > -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden
> > -Wno-variadic-macros -I../../libstdc++-v3/include
> > -I../../libstdc++-v3/include/arm-unknown-linux-uclibcgnueabi
> > -I../../../../libsanitizer/../libstdc++-v3/libsupc++ -std=gnu++11
> > -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE -I
> > ../../../../libsanitizer/../libbacktrace -I ../libbacktrace -I
> > ../../../../libsanitizer/../include -include
> > ../../../../libsanitizer/libbacktrace/backtrace-rename.h -g -O2
> > -D_GNU_SOURCE -MT sanitizer_linux.lo -MD -MP -MF
.deps/sanitizer_linux.Tpo
> > -c -o sanitizer_linux.lo
> > ../../../../libsanitizer/sanitizer_common/sanitizer_linux.cc
> > libtool: compile:
> > /home/michele/tmp/uclibc-toolchain/gcc-6.2.0/build/./gcc/xgcc
> > -shared-libgcc
-B/home/michele/tmp/uclibc-toolchain/gcc-6.2.0/build/./gcc
> > -nostdinc++
> >
-L/home/michele/tmp/uclibc-toolchain/gcc-6.2.0/build/arm-unknown-linux-uclibcgnueabi/libstdc++-v3/src
> >
-L/home/michele/tmp/uclibc-toolchain/gcc-6.2.0/build/arm-unknown-linux-uclibcgnueabi/libstdc++-v3/src/.libs
> >
-L/home/michele/tmp/uclibc-toolchain/gcc-6.2.0/build/arm-unknown-linux-uclibcgnueabi/libstdc++-v3/libsupc++/.libs
> > -B/home/michele/uclibc-arm/arm-unknown-linux-uclibcgnueabi/bin/
> > -B/home/michele/uclibc-arm/arm-unknown-linux-uclibcgnueabi/lib/ -isystem
> > /home/michele/uclibc-arm/arm-unknown-linux-uclibcgnueabi/include
-isystem
> > /home/michele/uclibc-arm/arm-unknown-linux-uclibcgnueabi/sys-include
> > -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
> > -D__STDC_LIMIT_MACROS -DHAVE_RPC_XDR_H=1 -DHAVE_TIRPC_RPC_XDR_H=0 -I.
> > -I../../../../libsanitizer/sanitizer_common -I.. -I
> > ../../../../libsanitizer/include -isystem
> > ../../../../libsanitizer/include/system -Wall -W -Wno-unused-parameter
> > -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin
-fno-exceptions
> > -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden
> > -Wno-variadic-macros -I../../libstdc++-v3/include
> > -I../../libstdc++-v3/include/arm-unknown-linux-uclibcgnueabi
> > -I../../../../libsanitizer/../libstdc++-v3/libsupc++ -std=gnu++11
> > -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE -I
> > ../../../../libsanitizer/../libbacktrace -I ../libbacktrace -I
> > ../../../../libsanitizer/../include -include
> > ../../../../libsanitizer/libbacktrace/backtrace-rename.h -g -O2
> > -D_GNU_SOURCE -MT sanitizer_linux.lo -MD -MP -MF
.deps/sanitizer_linux.Tpo
> > -c ../../../../libsanitizer/sanitizer_common/sanitizer_linux.cc  -fPIC
> > -DPIC -o .libs/sanitizer_linux.o
> > ../../../../libsanitizer/sanitizer_common/sanitizer_linux.cc:57:22:
fatal
> > error: ucontext.h: No such file or directory
> >  #include <ucontext.h>
> >                       ^
> > compilation terminated.
> > Makefile:477: set di istruzioni per l'obiettivo "sanitizer_linux.lo" non
> > riuscito
> > make[4]: *** [sanitizer_linux.lo] Errore 1
> > make[4]: uscita dalla directory
> >
"/home/michele/tmp/uclibc-toolchain/gcc-6.2.0/build/arm-unknown-linux-uclibcgnueabi/libsanitizer/sanitizer_common"
> > Makefile:466: set di istruzioni per l'obiettivo "all-recursive" non
riuscito
> > make[3]: *** [all-recursive] Errore 1
> > make[3]: uscita dalla directory
> >
"/home/michele/tmp/uclibc-toolchain/gcc-6.2.0/build/arm-unknown-linux-uclibcgnueabi/libsanitizer"
> > Makefile:336: set di istruzioni per l'obiettivo "all" non riuscito
> > make[2]: *** [all] Errore 2
> > make[2]: uscita dalla directory
> >
"/home/michele/tmp/uclibc-toolchain/gcc-6.2.0/build/arm-unknown-linux-uclibcgnueabi/libsanitizer"
> > Makefile:11688: set di istruzioni per l'obiettivo
"all-target-libsanitizer"
> > non riuscito
> > make[1]: *** [all-target-libsanitizer] Errore 2
> > make[1]: uscita dalla directory
> > "/home/michele/tmp/uclibc-toolchain/gcc-6.2.0/build"
> > Makefile:885: set di istruzioni per l'obiettivo "all" non riuscito
> > make: *** [all] Errore 2
> >
> > ​
> > However the file is present in
> >
> > $HOME/uclibc-arm/arm-unknown-linux-uclibcgnueabi/include/sys/ucontext.h
> >
$HOME/uclibc-arm/arm-unknown-linux-uclibcgnueabi/include/asm-generic/ucontext.h
>
> On a glibc based system, there is a /usr/include/ucontext.h file which
> comes from glibc as well as a /usr/include/sys/ucontext.h and
> /usr/include/asm-generic/ucontext.h file.  I don't have enough
> experience to know if a uClibc install should have this similar setup,
> but in uClibc is the same /usr/include/ucontext.h file as glibc ships
> (the headers say the file is from the GNU C Library, even).
>
> Can you try doing your build to this point again but using a triplet of
> arm-unknown-linux-uclibceabi?  I'm not confident this will fix your
> issue, but it's worth trying as a first easy thing to try.
>
> During your install of uClibc, do you see the installed header files
> have a file which matches the uClibc tarball's include/ucontext.h file?
> That's the ucontext.h file that should be in /usr/include/ directly.
>

I've added all the files that it asked for but at a certain point I can't
find the required files inside the tarball...
> <snip>
>
> Thanks,
> Andrew
> _______________________________________________
> Clfs-support mailing list
> Clfs-support at lists.clfs.org
> http://lists.clfs.org/listinfo.cgi/clfs-support-clfs.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.clfs.org/pipermail/clfs-support-clfs.org/attachments/20161121/b226f250/attachment-0002.htm>


More information about the Clfs-support mailing list