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

Michele Bucca michele.bucca at gmail.com
Sun Nov 20 14:50:55 PST 2016


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

it stops complaining about it only if I copy the file above inside the
include directory. (it still complains about other files)

what am I doing wrong? How can I fix this?
The problem is still present even with the --disable-libsatinizer switch to
the configure
The error is always the same
I'm attaching even the config.log file of gcc. I'll send them in clear text
if needed
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.clfs.org/pipermail/clfs-support-clfs.org/attachments/20161120/059b3d4c/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: uclibc.config
Type: application/octet-stream
Size: 6177 bytes
Desc: not available
URL: <http://lists.clfs.org/pipermail/clfs-support-clfs.org/attachments/20161120/059b3d4c/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gcc_config.log
Type: text/x-log
Size: 36917 bytes
Desc: not available
URL: <http://lists.clfs.org/pipermail/clfs-support-clfs.org/attachments/20161120/059b3d4c/attachment-0002.bin>


More information about the Clfs-support mailing list