Actually you are right. Suse 11 ships with gcc4.3. I installed gcc4.1
manually. Gcc4.3 generated the same error and I thought I could fix this by using an earlier version of gcc. The building manual states that "version 3.3, 3.4, 4.0, 4.1 or 4.2" of gcc is needed.
4.3 works as well nowadays.
Unfortunately "make oldconfig" in ~/my-l4-build does not fix the problem. Still the same error. Should I consider checking out the module again?
That should not make a difference. Can you go to ~/my-l4-build, do "make V=1 oldconfig" and show the output? Normally, after doing oldconfig, the paths in ~/my-l4-build/Makeconf.bid.local should be updated to the current compiler. Hopefully it can be seen from the output why this might not work.
Adam -- Adam adam@os.inf.tu-dresden.de Lackorzynski http://os.inf.tu-dresden.de/~adam/
Here it is... All I can see is that "GCCLIB=/usr/lib/gcc/i586-suse-linux/4.3/libgcc.a" is set to the right path. But I still get the "g++: /usr/lib/gcc/i486-linux-gnu/4.2.3/crtbeginS.o: No such file or directory" errors. Strange...
stefan@linux-2gsj:~/Desktop/Fiasco/my-l4-build> make V=1 oldconfig PWD=/home/stefan/Desktop/Fiasco/svn/tudos/l4 make -C /home/stefan/Desktop/Fiasco/svn/tudos/l4 O=/home/stefan/Desktop/Fiasco/my-l4-build oldconfig make[1]: Entering directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4' install -d /home/stefan/Desktop/Fiasco/my-l4-build/include/l4/ DROPSCONF_TITLE='DROPS Configuration Tool' DROPSCONF_DEFCONFIG='./mk/defconfig/config.x86' DROPSCONF_CONFIG_IN='./mk/config.in' DROPSCONF_CONFIG='/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid' DROPSCONF_CONFIG_H='/home/stefan/Desktop/Fiasco/my-l4-build/include/l4/bid_config.h' DROPSCONF_MACRO='CONFIG_H_INCLUDED' DROPSCONF_HELPFILE='./mk/config.help' DROPSCONF_UNDEF='' DROPSCONF_LXDIALOG='/home/stefan/Desktop/Fiasco/my-l4-build/tool/config/lxdialog/lxdialog' ./tool/config/Configure -d # # Using defaults found in /home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid # * * Target Architecture * Target Architecture (x86, arm, amd64) [x86] defined BUILD_ARCH_x86 CPU type (CPU) [586] ABI (L4.Fiasco, Linux) [L4.Fiasco] defined BUILD_ABI_l4v2 * * Paths and Directories * DROPS_STDDIR (DROPS_STDDIR) [/home/drops] DROPS_INSTDIR (DROPS_INSTDIR) [$(DROPS_STDDIR)] * * Verboseness and Messages * Verbose dependency building (DEPEND_VERBOSE_SWITCH) [N/y/?] Verbose compilation and building (VERBOSE_SWITCH) [Y/n/?] Short messages for compilation (SHOWMESSAGES) [Y/n/?] Colored build-steps (BID_COLORED_PHASES) [Y/n/?] * * Compilers and Tools * Use special C-Compilers (BIDc_USE_SPECIAL_CC) [N/y/?] * * Tools * YACC (YACC) [byacc] LEX (LEX) [flex] CTAGS (CTAGS) [ctags] ETAGS (ETAGS) [etags] * * Options * System has ld.so (highly recommended if so) (HAVE_LDSO) [Y/n/?] Automatically determine internal gcc preprocessor names (INT_CPP_NAME_SWITCH) [Y/n/?] Automatically determine internal ld names (INT_LD_NAME_SWITCH) [Y/n/?] Strip binaries on install (BID_STRIP_PROGS) [N/y/?] Generate stabs-compatible debug Infos with gcc-3+ (BID_GSTAB_SW) [Y/n/?] GCC: Omit Frame-pointers (BID_GCC_OMIT_FP) [N/y/?] Generate Map-files for binaries (BID_GENERATE_MAPFILE) [N/y/?] Build doc directories (BID_BUILD_DOC) [Y/n/?] * * Advanced * Use system-call entry code in the KIP (absolute) (L4_CALL_SYSCALLS) [Y/n/?] Use hierarchical task system (EXPERIMENTAL) (USE_TASKLIB) [N/y/?] Enable RELEASE flag (RELEASE_MODE) [N/y/?] Do not build anything outside l4 directory (BID_BUILD_L4DIR_ONLY) [N/y/?] Configuration label (CONFIG_LABEL) [__none__] * * Paths * DDE-2.4 include path (DDE_INCDIR) (DDE_INCDIR) [$(OBJ_BASE)/include/$(ARCH)/l4/dde_linux $(DROPS_STDDIR)/include/$(ARCH)/l4/dde_linux] DDE-2.6 include path (DDE26_INCDIR) (DDE26_INCDIR) [$(OBJ_BASE)/include/$(ARCH)/l4/dde_linux26 $(DROPS_STDDIR)/include/$(ARCH)/l4/dde_linux26 $(OBJ_BASE)/include/l4/dde_linux26 $(DROPS_STDDIR)/include/l4/dde_linux26] SDL include path (SDL_INCDIR) (SDL_INCDIR) [$(OBJ_BASE)/include/l4/sdl $(DROPS_STDDIR)/include/l4/sdl]
*** End of configuration.
make[2]: Entering directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4' sed -e "s/(^[^= ]*=)'([^']*)'/\1\2/" \ </home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted
make DROPSCONF_CONFIG_MK_POST_HOOK make[3]: Entering directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4' make HOST_SYSTEM=linux libgendep make[4]: Entering directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4' if [ ! -r tool/gendep/Makefile ]; then \ echo "=== l4/tool/gendep missing! ==="; \ exit 1; \ fi PWD=/home/stefan/Desktop/Fiasco/svn/tudos/l4/tool/gendep make -C tool/gendep make[5]: Entering directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4/tool/gendep' make[5]: Für das Ziel »all« ist nichts zu tun. make[5]: Leaving directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4/tool/gendep' make[4]: Leaving directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4' make Makeconf.bid.local-helper || \ (rm -f /home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted /home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local /home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.indep; false) make[4]: Entering directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4' echo BUILD_SYSTEMS="x86_586 x86_586-l4v2" >> /home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted echo GCCDIR=/usr/lib/gcc/i586-suse-linux/4.3
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted;
echo GCCLIB=/usr/lib/gcc/i586-suse-linux/4.3/libgcc.a
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted;
echo GCCLIB_EH=/usr/lib/gcc/i586-suse-linux/4.3/libgcc_eh.a
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted;
echo GCCVERSION=4
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted;
echo GCCMAJORVERSION=4
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted;
echo GCCMINORVERSION=3
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted;
echo GCCSUBVERSION=3
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted;
echo GCCNOSTACKPROTOPT=-fno-stack-protector
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted;
echo BID_LIBGENDEP=/home/stefan/Desktop/Fiasco/my-l4-build/tool/gendep/libgendep.so
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted;
echo 'BUILD_PIC += $(BUILD_LOADER_PICS)'
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted
echo "HOST_SYSTEM=linux"
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted
echo "COLOR_TERMINAL=y"
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted
echo "LD_HAS_HASH_STYLE_OPTION=y"
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted
# we need to call make again, because HOST_SYSTEM (set above) must be # evaluated for LD_PRELOAD to be set, which we need in the following make Makeconf.bid.local-internal-names make[5]: Entering directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4' set -e; X="/home/stefan/Desktop/Fiasco/my-l4-build/tmp.$$$RANDOM.c" ; echo 'int main(void){}'>$X ; \ rm -f $X.out ; LD_PRELOAD=/home/stefan/Desktop/Fiasco/my-l4-build/tool/gendep/libgendep.so GENDEP_SOURCE=$X \ GENDEP_OUTPUT=$X.out gcc -m32 -c $X -o $X.o; \ test -e $X.out; echo INT_CPP_NAME=`cat $X.out` \
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted; \
rm -f $X $X.{o,out}; set -e; X="/home/stefan/Desktop/Fiasco/my-l4-build/tmp.$$$RANDOM.cc" ; echo 'int main(void){}'>$X; \ rm -f $X.out; LD_PRELOAD=/home/stefan/Desktop/Fiasco/my-l4-build/tool/gendep/libgendep.so GENDEP_SOURCE=$X \ GENDEP_OUTPUT=$X.out g++ -m32 -c $X -o $X.o; \ test -e $X.out; echo INT_CXX_NAME=`cat $X.out` \
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted; \
rm -f $X $X.{o,out}; set -e; echo INT_LD_NAME=$(ld 2>&1 | perl -p -e 's,^(.+/)?(.+):.+,$2,')
/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted
make[5]: Leaving directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4' sort </home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted
/home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.tmp
echo -e "# Automatically generated. Don't edit\n"
/home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.indep
grep -e ^BID_GENERATE_MAPFILE -e ^DEPEND_VERBOSE_SWITCH -e ^DEPEND_VERBOSE -e ^VERBOSE_SWITCH -e ^SHOWMESSAGES -e ^BID_COLORED_PHASES -e ^HAVE_LDSO -e ^INT_CPP_NAME_SWITCH -e ^BID_LIBGENDEP -e ^INT_CPP_.*_NAME -e ^INT_CXX_.*_NAME -e ^VERBOSE -e ^BID_STRIP_PROGS -e ^INT_LD_NAME_SWITCH -e ^INT_LD_.*_NAME \
</home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.tmp
/home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.indep
echo -e "# Automatically generated. Don't edit\n"
/home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.tmp2
grep -v -e ^$ -e ^# -e ^BID_GENERATE_MAPFILE -e ^DEPEND_VERBOSE_SWITCH -e ^DEPEND_VERBOSE -e ^VERBOSE_SWITCH -e ^SHOWMESSAGES -e ^BID_COLORED_PHASES -e ^HAVE_LDSO -e ^INT_CPP_NAME_SWITCH -e ^BID_LIBGENDEP -e ^INT_CPP_.*_NAME -e ^INT_CXX_.*_NAME -e ^VERBOSE -e ^BID_STRIP_PROGS -e ^INT_LD_NAME_SWITCH -e ^INT_LD_.*_NAME \
</home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.tmp
/home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.tmp2
echo -e 'include /home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.indep'
/home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.tmp2
if [ -e "/home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local" ]; then \ diff --brief /home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local /home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.tmp2 || \ mv /home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.tmp2 /home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local; \
else \ mv /home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.tmp2 /home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local; \ fi rm -f /home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.tmp /home/stefan/Desktop/Fiasco/my-l4-build/Makeconf.bid.local.tmp2 make[4]: Leaving directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4' ln -snf /home/stefan/Desktop/Fiasco/svn/tudos/l4 /home/stefan/Desktop/Fiasco/my-l4-build/source make[3]: Leaving directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4' make[2]: Leaving directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4' make[2]: Entering directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4' make[2]: »/home/stefan/Desktop/Fiasco/my-l4-build/.Makeconf.bid.converted« ist bereits aktualisiert. make[2]: Leaving directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4' make[1]: Leaving directory `/home/stefan/Desktop/Fiasco/svn/tudos/l4'
Kind Regards, Stefan
On Wed Jun 25, 2008 at 12:54:13 +0200, Stefan Kögel wrote:
Here it is... All I can see is that "GCCLIB=/usr/lib/gcc/i586-suse-linux/4.3/libgcc.a" is set to the right path. But I still get the "g++: /usr/lib/gcc/i486-linux-gnu/4.2.3/crtbeginS.o: No such file or directory" errors. Strange...
The output looks ok. The build system is using gcc (not g++) to get all the data. Are you sure that g++ is also working (i.e. is version 4.3)? Can you sucessfully compile a 'int main() { return 0; }' type of program with g++?
Adam
l4-hackers@os.inf.tu-dresden.de