This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hello, I've been trying to compile a gcc on my i686 with which I can then compile programs for an i586 single board computer. My workstation distro (Gentoo) has gcc-3.3.2 on it. The distro gcc is compiled as a native i686 only compiler with propolice built in to it: [seb@xerxes 20:08:46 toolchain]$ gcc --version gcc (GCC) 3.3.2 20031218 (Gentoo Linux 3.3.2-r5, propolice-3.3-7) Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. I have checked that this installed compiler will compile gcc 3.3.2, with the following commands (executed in my gcc-build directory) working perfectly: ../gcc-3.3.2/configure --program-prefix=i686- make I want to compile binutils and gcc according the the CrossGCC FAQ, which says do the following: # Configure, build and install binutils cd build-binutils ../binutils-2.9.1/configure --target=$target --prefix=$prefix -v make all install # Configure, build and install gcc cd ../build-gcc ../gcc-2.8.1/configure --target=$target --prefix=$prefix -v make all install Binutils v. 2.14 builds fine according to this scheme. However, gcc v3.3.2 is giving me problems. Here is how I've configured gcc: ../gcc-3.3.2/configure --target=i586-linux \ --prefix=/home/seb/crossenv/toolchain For this to work at all I've had to make the following symbolic links in /home/seb/crossenv/toolchain/i586-linux/: include -> /usr/include crti.o -> /usr/lib/crti.o crtn.o -> /usr/lib/crtn.o libc.a -> /usr/lib/libc.a libc.so -> /usr/lib/libc.so libc.so.5 -> /usr/lib/libc.so.5 The first stage of the gcc build then succeeds, but the resultant cross compiler "cannot create executables", as seen at the end of the configure step that the gcc build process runs for libiberty: Configuring in i586-linux/libiberty creating cache ../config.cache checking whether to enable maintainer-specific portions of Makefiles... no checking for makeinfo... makeinfo checking for perl... perl checking host system type... i586-pc-linux-gnu checking build system type... i686-pc-linux-gnu checking for i586-linux-ar... i586-linux-ar checking for i586-linux-ranlib... i586-linux-ranlib checking for gcc... /home/seb/crossenv/gcc-build/gcc/xgcc -B/home/seb/crossenv/gcc-build/gcc/ -B/home/seb/crossenv/toolchain/i586-linux/bin/ -B/home/seb/crossenv/toolchain/i586-linux/lib/ -isystem /home/seb/crossenv/toolchain/i586-linux/include checking whether we are using GNU C... yes checking whether /home/seb/crossenv/gcc-build/gcc/xgcc -B/home/seb/crossenv/gcc-build/gcc/ -B/home/seb/crossenv/toolchain/i586-linux/bin/ -B/home/seb/crossenv/toolchain/i586-linux/lib/ -isystem /home/seb/crossenv/toolchain/i586-linux/include accepts -g... yes checking whether /home/seb/crossenv/gcc-build/gcc/xgcc -B/home/seb/crossenv/gcc-build/gcc/ -B/home/seb/crossenv/toolchain/i586-linux/bin/ -B/home/seb/crossenv/toolchain/i586-linux/lib/ -isystem /home/seb/crossenv/toolchain/i586-linux/include and cc understand -c and -o together... yes checking for POSIXized ISC... no checking for working const... yes checking for inline... inline checking for a BSD compatible install... /usr/bin/install -c checking how to run the C preprocessor... /home/seb/crossenv/gcc-build/gcc/xgcc -B/home/seb/crossenv/gcc-build/gcc/ -B/home/seb/crossenv/toolchain/i586-linux/bin/ -B/home/seb/crossenv/toolchain/i586-linux/lib/ -isystem /home/seb/crossenv/toolchain/i586-linux/include -E checking for sys/file.h... yes checking for sys/param.h... yes checking for limits.h... yes checking for stdlib.h... yes checking for malloc.h... yes checking for string.h... yes checking for unistd.h... yes checking for strings.h... yes checking for sys/time.h... yes checking for time.h... yes checking for sys/resource.h... yes checking for sys/stat.h... yes checking for sys/mman.h... yes checking for fcntl.h... yes checking for alloca.h... yes checking for sys/pstat.h... no checking for sys/sysmp.h... no checking for sys/sysinfo.h... yes checking for machine/hal_sysinfo.h... no checking for sys/table.h... no checking for sys/sysctl.h... yes checking for sys/systemcfg.h... no checking for sys/wait.h that is POSIX.1 compatible... yes checking whether time.h and sys/time.h may both be included... yes checking whether errno must be declared... no checking for ANSI C header files... no checking for uintptr_t... no checking for pid_t... yes checking whether the C compiler ( /home/seb/crossenv/gcc-build/gcc/xgcc -B/home/seb/crossenv/gcc-build/gcc/ -B/home/seb/crossenv/toolchain/i586-linux/bin/ -B/home/seb/crossenv/toolchain/i586-linux/lib/ -isystem /home/seb/crossenv/toolchain/i586-linux/include -O2 -g -O2 ) works... no configure: error: installation or configuration problem: C compiler cannot create executables. make: *** [configure-target-libiberty] Error 1 [seb@xerxes 19:56:04 gcc-build]$ Does anyone have any ideas about why the C compiler that's been built can't create executables? Perhaps the propolice stuff is messing things up? How does the configure script check if the C compiler works here? Is libiberty not already built as part of binutils anyway? A few pointers about what to try next would be very helpful because I'm feeling a bit stuck here. With regards and thanks for reading, Seb James ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |