[darwinbuild] Error building gcc: abi_check for i386 on ppc host
Hi, I'm trying to build 7W98 on a MacOS 10.3.9 PowerPC host. While building gcc, I got the following: cc-i386-on-ppc/ -DHAVE_CONFIG_H -I. -I/SourceCache/gcc/gcc-1495/libstdc++-v3/libmath -I.. -arch i386 -no-cpp-precomp -B/private/var/tmp/gcc/gcc-1495.obj/cc-i386-on-ppc/ -O2 -pipe -g -c /SourceCache/gcc/gcc-1495/libstdc++-v3/libmath/signbitf.c /private/var/tmp/gcc/gcc-1495.obj/cc-i386-on-ppc/xgcc -B/private/var/tmp/gcc/gcc-1495.obj/cc-i386-on-ppc/ -DHAVE_CONFIG_H -I. -I/SourceCache/gcc/gcc-1495/libstdc++-v3/libmath -I.. -arch i386 -no-cpp-precomp -B/private/var/tmp/gcc/gcc-1495.obj/cc-i386-on-ppc/ -O2 -pipe -g -c /SourceCache/gcc/gcc-1495/libstdc++-v3/libmath/signbitf.c -o signbitf.o In file included from /SourceCache/gcc/gcc-1495/libstdc++-v3/libmath/signbitf.c:32: /SourceCache/gcc/gcc-1495/libstdc++-v3/libmath/mathconf.h:213: warning: use of `long double' type; its size may change in a future release /SourceCache/gcc/gcc-1495/libstdc++-v3/libmath/mathconf.h:213: warning: (Long double usage is reported only once for each file. /SourceCache/gcc/gcc-1495/libstdc++-v3/libmath/mathconf.h:213: warning: To disable this warning, use -Wno-long-double.) /SourceCache/gcc/gcc-1495/libstdc++-v3/libmath/signbitf.c:36: error: conflicting types for `__signbitf' /usr/include/architecture/i386/math.h:190: error: previous declaration of `__signbitf' gnumake[3]: *** [signbitf.lo] Error 1 gnumake[2]: *** [all-recursive] Error 1 gnumake[1]: *** [all-recursive-am] Error 2 + status=2 + command set +x + set +x ************************************************ * *** gnumake failed building libstdc++-v3 *** * ************************************************ I fixed this by changing the definition in signbitf.c to be "long" instead of "int". I then got: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Building libstdc++-v3 + + ------------------------------------------------------------ + + target = i386 + + cwd = /private/var/tmp/gcc/gcc-1495.obj/i386/libstdc++-v3 + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [snip] /private/var/tmp/gcc/gcc-1495.obj/cc-i386-on-ppc/g++ -B/private/var/tmp/gcc/gcc-1495.obj/cc-i386-on-ppc/ -arch i386 -B/private/var/tmp/gcc/gcc-1495.obj/cc-i386-on-ppc/ -O2 -o abi_check abi_check.o -L/private/var/tmp/gcc/gcc-1495.obj/i386/libstdc++-v3/src/.libs -L/private/var/tmp/gcc/gcc-1495.obj/i386/soft-float/libstdc++-v3/src/.libs ld: warning -L: directory name (/private/var/tmp/gcc/gcc-1495.obj/i386/soft-float/libstdc++-v3/src/.libs) does not exist ld: warning /usr/lib/crt1.o cputype (18, architecture ppc) does not match cputype (7) for specified -arch flag: i386 (file not loaded) ld: Undefined symbols: dyld_stub_binding_helper gnumake[3]: *** [abi_check] Error 1 gnumake[2]: *** [all-recursive] Error 1 gnumake[1]: *** [all-recursive-am] Error 2 + status=2 + command set +x + set +x ************************************************ * *** gnumake failed building libstdc++-v3 *** * ************************************************ This seems a little odd: it's trying to create an abi_check binary for the i386 library, even though this is a ppc host. It pulls in /usr/lib/crt1.o, which is compiled for ppc, which really doesn't seem like a good idea :) I modified the "make install" command line to include "TARGETS=ppc", and the build finished successfully. Finally, during the install phase (after the build script finishes), I see: /usr/bin/redo_prebinding: unknown option: -u Usage: /usr/bin/redo_prebinding [-c|-p|-d] [-i] [-z] [-r rootdir] [-e executable_path] [-seg_addr_table table_file_name] [-seg_addr_table_filename pathname] [-o output_file] input_file Another question: I see a lot of "make[1]: javaconfig: Command not found" complaints during builds. Does one of the projects provide javaconfig? Or should I just copy it over from MacOS to the BuildRoot? Cheers, dstn.
participants (1)
-
Dustin Lang