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

Michele Bucca michele.bucca at gmail.com
Mon Nov 21 12:30:13 PST 2016


Il 21 nov 2016 7:13 PM, "Michele Bucca" <michele.bucca at gmail.com> ha
scritto:
>
> 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

Problem solved! wrong configure argument: i used --disable-libsatinizer
instead of --disable-libsanitizer !! Toolchain completed!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.clfs.org/pipermail/clfs-support-clfs.org/attachments/20161121/fe9f6a0f/attachment-0002.htm>


More information about the Clfs-support mailing list