unable to build gcc 4.9.0 for i686-elf target with posix threads

Ragnar Rüütel ragnar.ruutel@gmail.com
Wed Jul 2 12:44:00 GMT 2014


Hi,

I've been trying to wrap my head around this for weeks and I'm almost
ready to give up. I need a i686-elf compiler to build generic linux
binaries. So, first I created native compiler (like advised here:
http://wiki.osdev.org/Building_GCC) into
/home/ragnar/cpp-tools/compiler/local/gcc. Then exported these:

export CC="/home/ragnar/cpp-tools/compiler/local/gcc/bin/gcc"
export CXX="/home/ragnar/cpp-tools/compiler/local/gcc/bin/g++"
export CPP="/home/ragnar/cpp-tools/compiler/local/gcc/bin/cpp"
export LD="/home/ragnar/cpp-tools/compiler/local/gcc/bin/ld"
export PATH="/home/ragnar/cpp-tools/compiler/local/gcc/bin:$PATH"
export LD_LIBRARY_PATH="/home/ragnar/cpp-tools/compiler/local/gcc/lib32"

and started to build i686-elf compiler (as advised here
http://wiki.osdev.org/GCC_Cross-Compiler) with following commands:

#GMP
$gmp_src/configure
--prefix="/home/ragnar/cpp-tools/compiler/linux32/gcc" --enable-cxx
--disable-shared
make CPPFLAGS="-fexceptions"
make install
#MPFR
$mpfr_src/configure
--prefix="/home/ragnar/cpp-tools/compiler/linux32/gcc"
--with-gmp="/home/ragnar/cpp-tools/compiler/linux32/gcc"
--disable-shared
make
make install
#MPC
$mpc_src/configure
--prefix="/home/ragnar/cpp-tools/compiler/linux32/gcc"
--with-gmp="/home/ragnar/cpp-tools/compiler/linux32/gcc"
--with-mpfr="/home/ragnar/cpp-tools/compiler/linux32/gcc"
--disable-shared
make
make install
export LD_LIBRARY_PATH="/home/ragnar/cpp-tools/compiler/linux32/gcc/lib:$LD_LIBRARY_PATH"
#BINUTILS
$binutils_src/configure
--prefix="/home/ragnar/cpp-tools/compiler/linux32/gcc"
--target=i686-elf --disable-multilib
--with-gmp="/home/ragnar/cpp-tools/compiler/linux32/gcc"
--with-mpfr="/home/ragnar/cpp-tools/compiler/linux32/gcc"
--with-mpc="/home/ragnar/cpp-tools/compiler/linux32/gcc" --disable-nls
--disable-shared --disable-werror
make
make check
make install
#GCC
$gcc_src/configure
--prefix="/home/ragnar/cpp-tools/compiler/linux32/gcc"
--target=i686-elf --enable-32bit --disable-64bit
--enable-languages="c,c++" --disable-multilib --enable-libssp
--enable-threads=posix --disable-nls --disable-shared
--with-gmp="/home/ragnar/cpp-tools/compiler/linux32/gcc"
--with-mpfr="/home/ragnar/cpp-tools/compiler/linux32/gcc"
--with-mpc="/home/ragnar/cpp-tools/compiler/linux32/gcc"
--enable-checking=release --enable-lto
--enable-version-specific-runtime-libs
make all-gcc
make all-target-libgcc

while building libcc I get following error message:
...
/home/ragnar/cpp-tools/compiler/cpp-build-tools/build-linux32/gcc/./gcc/xgcc
-B/home/ragnar/cpp-tools/compiler/cpp-build-tools/build-linux32/gcc/./gcc/
-B/home/ragnar/cpp-tools/compiler/cpp-build-tools/../linux32/gcc/i686-elf/bin/
-B/home/ragnar/cpp-tools/compiler/cpp-build-tools/../linux32/gcc/i686-elf/lib/
-isystem /home/ragnar/cpp-tools/compiler/cpp-build-tools/../linux32/gcc/i686-elf/include
-isystem /home/ragnar/cpp-tools/compiler/cpp-build-tools/../linux32/gcc/i686-elf/sys-include
   -g -O2 -O2  -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition  -isystem ./include
-fpic -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector
-Dinhibit_libc  -fpic -I. -I. -I../.././gcc
-I/home/ragnar/cpp-tools/compiler/cpp-build-tools/sources/gcc/libgcc
-I/home/ragnar/cpp-tools/compiler/cpp-build-tools/sources/gcc/libgcc/.
-I/home/ragnar/cpp-tools/compiler/cpp-build-tools/sources/gcc/libgcc/../gcc
-I/home/ragnar/cpp-tools/compiler/cpp-build-tools/sources/gcc/libgcc/../include
 -DHAVE_CC_TLS  -o unwind-dw2.o -MT unwind-dw2.o -MD -MP -MF
unwind-dw2.dep -fexceptions -c
/home/ragnar/cpp-tools/compiler/cpp-build-tools/sources/gcc/libgcc/unwind-dw2.c
-fvisibility=hidden -DHIDE_EXPORTS
In file included from
/home/ragnar/cpp-tools/compiler/cpp-build-tools/sources/gcc/libgcc/gthr.h:148:0,
                 from
/home/ragnar/cpp-tools/compiler/cpp-build-tools/sources/gcc/libgcc/unwind-dw2.c:37:
./gthr-default.h:35:21: fatal error: pthread.h: No such file or directory
 #include <pthread.h>
                     ^
compilation terminated.
make[1]: *** [unwind-dw2.o] Error 1
make[1]: Leaving directory
`/home/ragnar/cpp-tools/compiler/cpp-build-tools/build-linux32/gcc/i686-elf/libgcc'
make: *** [all-target-libgcc] Error 2

when I seach for phtread.h I get following results:
/home/ragnar/cpp-tools/compiler/cpp-build-tools/sources/gcc-4.9.0/fixincludes/tests/base/pthread.h
/home/ragnar/cpp-tools/compiler/cpp-build-tools/sources/gcc-4.9.0/fixincludes/tests/base/sys/pthread.h
/home/ragnar/cpp-tools/compiler/cpp-build-tools/sources/gcc-4.9.0/gcc/config/openbsd-libpthread.h
/home/ragnar/cpp-tools/compiler/cpp-build-tools/sources/gcc-4.9.0/gcc/config/i386/mingw-pthread.h
/usr/include/pthread.h

I've attached config.log from
/home/ragnar/cpp-tools/compiler/cpp-build-tools/build-linux32/gcc/i686-elf/libgcc

Any help is greatly appreciated.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config.log
Type: text/x-log
Size: 61892 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-help/attachments/20140702/1e519de5/attachment.bin>


More information about the Gcc-help mailing list