You are not logged in.
Hello,
I try to build a Dreamcast toolchain. I need firstly to build a toolchain using this script before compiling KallistiOS itself. I successfuly compiled binutils (v2.19, because 2.18 or 2.20.1 gave errors), newlib v1.18 and the first pass of gcc, but not the second pass, which is this part in the makefile:
@echo "+++ Building $(src_dir) to $(build) (pass 2)..."
-mkdir -p $(build)
> $(log)
cd $(build); ../$(src_dir)/configure --target=$(target) --prefix=$(prefix) --with-newlib \
--enable-threads=$(thread_model) --enable-languages=c,c++ $(to_log)
make -C $(build) all install DESTDIR=$(DESTDIR) $(to_log)
$(clean_up)
Which gave me in a terminal
+++ Building gcc-4.4.4 to build-gcc-sh-elf-4.4.4 (pass 2)...
mkdir -p build-gcc-sh-elf-4.4.4
> /home/dreamkey/Programmation/Dreamcast/SDK/kos/utils/dc-chain/logs/build-gcc-sh-elf-4.4.4-pass2.log
cd build-gcc-sh-elf-4.4.4; ../gcc-4.4.4/configure --target=sh-elf --prefix=/home/dreamkey/Programmation/Dreamcast/SDK/sh-elf --with-newlib \
--enable-threads=posix --enable-languages=c,c++ >> /home/dreamkey/Programmation/Dreamcast/SDK/kos/utils/dc-chain/logs/build-gcc-sh-elf-4.5.1-pass2.log 2>&1
I tried to compile gcc v4.5.0, v4.5.1, v4.4.4 using gcc or gcc-3.4 but I always obtain those errors (from the log file "build-gcc-sh-elf-4.4.4-pass2"):
[...]
/home/dreamkey/Programmation/Dreamcast/kos/utils/dc-chain/build-gcc-sh-elf-4.5.1/./gcc/xgcc -B/home/dreamkey/Programmation/Dreamcast/kos/utils/dc-chain/build-gcc-sh-elf-4.5.1/./gcc/ -B/home/dreamkey/Programmation/Dreamcast/sh-elf/sh-elf/bin/ -B/home/dreamkey/Programmation/Dreamcast/sh-elf/sh-elf/lib/ -isystem /home/dreamkey/Programmation/Dreamcast/sh-elf/sh-elf/include -isystem /home/dreamkey/Programmation/Dreamcast/sh-elf/sh-elf/sys-include -g -O2 -ml -O2 -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -mieee -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../.././gcc -I../../../../gcc-4.5.1/libgcc -I../../../../gcc-4.5.1/libgcc/. -I../../../../gcc-4.5.1/libgcc/../gcc -I../../../../gcc-4.5.1/libgcc/../include -DHAVE_CC_TLS -o _df_to_usi.o -MT _df_to_usi.o -MD -MP -MF _df_to_usi.dep -DFINE_GRAINED_LIBRARIES -DL_df_to_usi -c ../../.././gcc/dp-bit.c
/home/dreamkey/Programmation/Dreamcast/kos/utils/dc-chain/build-gcc-sh-elf-4.5.1/./gcc/xgcc -B/home/dreamkey/Programmation/Dreamcast/kos/utils/dc-chain/build-gcc-sh-elf-4.5.1/./gcc/ -B/home/dreamkey/Programmation/Dreamcast/sh-elf/sh-elf/bin/ -B/home/dreamkey/Programmation/Dreamcast/sh-elf/sh-elf/lib/ -isystem /home/dreamkey/Programmation/Dreamcast/sh-elf/sh-elf/include -isystem /home/dreamkey/Programmation/Dreamcast/sh-elf/sh-elf/sys-include -g -O2 -ml -O2 -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -mieee -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../.././gcc -I../../../../gcc-4.5.1/libgcc -I../../../../gcc-4.5.1/libgcc/. -I../../../../gcc-4.5.1/libgcc/../gcc -I../../../../gcc-4.5.1/libgcc/../include -DHAVE_CC_TLS -o _usi_to_df.o -MT _usi_to_df.o -MD -MP -MF _usi_to_df.dep -DFINE_GRAINED_LIBRARIES -DL_usi_to_df -c ../../.././gcc/dp-bit.c
/home/dreamkey/Programmation/Dreamcast/kos/utils/dc-chain/build-gcc-sh-elf-4.5.1/./gcc/xgcc -B/home/dreamkey/Programmation/Dreamcast/kos/utils/dc-chain/build-gcc-sh-elf-4.5.1/./gcc/ -B/home/dreamkey/Programmation/Dreamcast/sh-elf/sh-elf/bin/ -B/home/dreamkey/Programmation/Dreamcast/sh-elf/sh-elf/lib/ -isystem /home/dreamkey/Programmation/Dreamcast/sh-elf/sh-elf/include -isystem /home/dreamkey/Programmation/Dreamcast/sh-elf/sh-elf/sys-include -g -O2 -ml -O2 -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -mieee -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../.././gcc -I../../../../gcc-4.5.1/libgcc -I../../../../gcc-4.5.1/libgcc/. -I../../../../gcc-4.5.1/libgcc/../gcc -I../../../../gcc-4.5.1/libgcc/../include -DHAVE_CC_TLS -o unwind-dw2.o -MT unwind-dw2.o -MD -MP -MF unwind-dw2.dep -fexceptions -c ../../../../gcc-4.5.1/libgcc/../gcc/unwind-dw2.c
In file included from ../../.././gcc/gthr-default.h:1:0,
from ../../../../gcc-4.5.1/libgcc/../gcc/gthr.h:162,
from ../../../../gcc-4.5.1/libgcc/../gcc/unwind-dw2.c:37:
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h:128:1: error: 'sched_yield' undeclared here (not in a function)
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h:128:1: warning : type defaults to 'int' in declaration of '__gthrw_sched_yield'
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h:133:21: error: operator '>=' has no left operand
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h:151:1: error: 'pthread_mutexattr_settype' undeclared here (not in a function)
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h:151:1: warning : type defaults to 'int' in declaration of '__gthrw_pthread_mutexattr_settype'
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h: In function '__gthread_yield':
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h:709:32: error: called object '__gthrw_sched_yield' is not a function
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h: Hors de toute fonction :
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h:773:21: error: operator '>=' has no left operand
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h: In function '__gthread_recursive_mutex_init_function':
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h:807:10: error: 'PTHREAD_MUTEX_RECURSIVE' undeclared (first use in this function)
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h:807:10: note: each undeclared identifier is reported only once for each function it appears in
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h:806:44: error: called object '__gthrw_pthread_mutexattr_settype' is not a function
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h: Hors de toute fonction :
../../../../gcc-4.5.1/libgcc/../gcc/gthr-posix.h:831:21: error: operator '>=' has no left operand
make[5]: *** [unwind-dw2.o] error 1
make[5]: quittant le répertoire « /home/dreamkey/Programmation/Dreamcast/kos/utils/dc-chain/build-gcc-sh-elf-4.5.1/sh-elf/ml/libgcc »
make[4]: *** [multi-do] error 1
make[4]: quittant le répertoire « /home/dreamkey/Programmation/Dreamcast/kos/utils/dc-chain/build-gcc-sh-elf-4.5.1/sh-elf/libgcc »
make[3]: *** [all-multi] error 2
make[3]: quittant le répertoire « /home/dreamkey/Programmation/Dreamcast/kos/utils/dc-chain/build-gcc-sh-elf-4.5.1/sh-elf/libgcc »
make[2]: *** [all-target-libgcc] error 2
make[2]: quittant le répertoire « /home/dreamkey/Programmation/Dreamcast/kos/utils/dc-chain/build-gcc-sh-elf-4.5.1 »
make[1]: *** [all] error 2
make[1]: quittant le répertoire « /home/dreamkey/Programmation/Dreamcast/kos/utils/dc-chain/build-gcc-sh-elf-4.5.1 »
Here are lines of gthr-posix.h that give me errors:
(128) __gthrw(sched_yield)
(132) #ifdef _POSIX_TIMEOUTS
(133) #if _POSIX_TIMEOUTS >= 0
(134) __gthrw(pthread_mutex_timedlock)
(151) __gthrw(pthread_mutexattr_settype)
(706) static inline int
(707) __gthread_yield (void)
(708) {
(709) return __gthrw_(sched_yield) ();
(710) }
(807) if (!__r)
(807) __r = __gthrw_(pthread_mutexattr_settype) (&__attr,
(807) PTHREAD_MUTEX_RECURSIVE);
(830) #ifdef _POSIX_TIMEOUTS
(830) #if _POSIX_TIMEOUTS >= 0
For example, I don't understand why "_POSIX_TIMEOUTS" works with the ifdef on line 132 but not on line 133...
Do you know what should I do?
Thanks
PS: I running archlinux x86_64, I don't know if it can be the problem.
Offline
I just try to compile using Arch 32bits on a virtual machine, but it failed with the same errors. I saw that the Makefile applies few patches, but I didn't think that it's the source of my problems...
Nobody wants to compile on his machine to check that?
Offline