[oe-issues] [Bug 1630] New: GCC-Cross-4.x fails on x86 when HOST is x86_64
bugzilla-daemon at tinman.treke.net
bugzilla-daemon at tinman.treke.net
Fri Dec 1 09:37:10 CET 2006
http://bugs.openembedded.org/show_bug.cgi?id=1630
Summary: GCC-Cross-4.x fails on x86 when HOST is x86_64
Product: Openembedded
Version: unspecified
Platform: Other
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Build
AssignedTo: openembedded-issues at lists.openembedded.org
ReportedBy: skoroneos at digital-opsis.com
QAContact: tinderbox-oe at gmx.net
NOTE: package gcc-cross-4.0.2: started
NOTE: package gcc-cross-4.0.2-r1: task do_fetch: started
NOTE: package gcc-cross-4.0.2-r1: task do_fetch: completed
NOTE: package gcc-cross-4.0.2-r1: task do_unpack: started
NOTE: Unpacking /home/stelios/sources/gcc-4.0.2.tar.bz2 to
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/x86/build/tmp/work/i486-linux/gcc-cross-4.0.2-r1/
NOTE: package gcc-cross-4.0.2-r1: task do_unpack: completed
NOTE: package gcc-cross-4.0.2-r1: task do_patch: started
NOTE: Applying patch 'arm-nolibfloat.patch'
NOTE: Applying patch 'arm-softfloat.patch'
NOTE: Applying patch 'ldflags.patch'
NOTE: Applying patch 'GCOV_PREFIX_STRIP-cross-profile_4.1.patch'
NOTE: Applying patch 'zecke-xgcc-cpp.patch'
NOTE: Applying patch '100-uclibc-conf.patch'
NOTE: Applying patch '200-uclibc-locale.patch'
NOTE: Applying patch '301-missing-execinfo_h.patch'
NOTE: Applying patch '302-c99-snprintf.patch'
NOTE: Applying patch '303-c99-complex-ugly-hack.patch'
NOTE: Applying patch '800-arm-bigendian.patch'
NOTE: Applying patch 'zecke-host-cpp-ac-hack.patch'
NOTE: Applying patch 'zecke-no-host-includes.patch'
NOTE: package gcc-cross-4.0.2-r1: task do_patch: completed
NOTE: package gcc-cross-4.0.2-r1: task do_configure: started
NOTE: SITE files
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/org.openembedded.dev/site/endian-little
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/org.openembedded.dev/site/x86_64-linux
NOTE: package gcc-cross-4.0.2-r1: task do_configure: completed
NOTE: package gcc-cross-4.0.2-r1: task do_compile: started
NOTE: SITE files
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/org.openembedded.dev/site/endian-little
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/org.openembedded.dev/site/x86_64-linux
ERROR: function do_compile failed
ERROR: log data follows
(/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/x86/build/tmp/work/i486-linux/gcc-cross-4.0.2-r1/temp/log.do_compile.14321)
| NOTE: make ARCH_FLAGS_FOR_TARGET=
| Configuring in fastjar
| configure: loading site script
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/org.openembedded.dev/site/endian-little
| configure: loading site script
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/org.openembedded.dev/site/x86_64-linux
| configure: creating cache ./config.cache
| checking for a BSD-compatible install... /usr/bin/install -c
| checking whether build environment is sane... yes
| checking for gawk... gawk
| checking whether make sets $(MAKE)... yes
| checking for x86_64-linux-gcc... ccache gcc
| checking for C compiler default output file name... a.out
| checking whether the C compiler works... yes
| checking whether we are cross compiling... no
| checking for suffix of executables...
| checking for suffix of object files... o
| checking whether we are using the GNU C compiler... yes
| checking whether ccache gcc accepts -g... yes
| checking for ccache gcc option to accept ANSI C... none needed
| checking for style of include used by make... GNU
| checking dependency style of ccache gcc... gcc3
| checking for a BSD-compatible install... /usr/bin/install -c
| checking for rm... /bin/rm
| checking for cp... /bin/cp
| checking for strip... /usr/bin/strip
| checking for chmod... /bin/chmod
| checking whether to enable maintainer-specific portions of Makefiles... no
| checking for dirent.h that defines DIR... yes
| checking for library containing opendir... none required
| checking how to run the C preprocessor... gcc -E
| checking for egrep... grep -E
| checking for ANSI C header files... yes
| checking whether struct tm is in sys/time.h or time.h... time.h
| checking for sys/types.h... yes
| checking for sys/stat.h... yes
| checking for stdlib.h... yes
| checking for string.h... yes
| checking for memory.h... yes
| checking for strings.h... yes
| checking for inttypes.h... yes
| checking for stdint.h... yes
| checking for unistd.h... yes
| checking fcntl.h usability... yes
| checking fcntl.h presence... yes
| checking for fcntl.h... yes
| checking for unistd.h... (cached) yes
| checking sys/param.h usability... yes
| checking sys/param.h presence... yes
| checking for sys/param.h... yes
| checking for stdlib.h... (cached) yes
| checking limits.h usability... yes
| checking limits.h presence... yes
| checking for limits.h... yes
| checking for ftruncate... yes
| checking for _chsize... no
| checking for off_t... yes
| checking whether struct tm is in sys/time.h or time.h... (cached) time.h
| checking if mkdir takes one argument... no
| checking size of char... (cached) 1
| checking size of short... (cached) 2
| checking size of int... (cached) 4
| checking size of long... (cached) 8
| checking for long long... yes
| checking size of long long... (cached) 8
| checking whether byte ordering is bigendian... (cached) no
| checking whether to place generated files in the source directory... no
| updating cache ./config.cache
| configure: creating ./config.status
| config.status: creating Makefile
| config.status: creating install-defs.sh
| config.status: creating config.h
| config.status: executing depfiles commands
| Configuring in zlib
| configure: loading site script
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/org.openembedded.dev/site/endian-little
| configure: loading site script
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/org.openembedded.dev/site/x86_64-linux
| configure: creating cache ./config.cache
| checking build system type... x86_64-pc-linux-gnu
| checking host system type... x86_64-pc-linux-gnu
| checking target system type... i486-pc-linux-gnu
| checking for a BSD-compatible install... /usr/bin/install -c
| checking whether build environment is sane... yes
| checking for gawk... gawk
| checking whether make sets $(MAKE)... yes
| checking whether to enable maintainer-specific portions of Makefiles... no
| checking for x86_64-linux-gcc... ccache gcc
| checking for C compiler default output file name... a.out
| checking whether the C compiler works... yes
| checking whether we are cross compiling... no
| checking for suffix of executables...
| checking for suffix of object files... o
| checking whether we are using the GNU C compiler... yes
| checking whether ccache gcc accepts -g... yes
| checking for ccache gcc option to accept ANSI C... none needed
| checking for style of include used by make... GNU
| checking dependency style of ccache gcc... gcc3
| checking for ld used by GCC... ld
| checking if the linker (ld) is GNU ld... yes
| checking for ld option to reload object files... -r
| checking for BSD-compatible nm... nm
| checking whether ln -s works... yes
| checking how to recognise dependant libraries... pass_all
| checking for x86_64-linux-ranlib... ranlib
| checking for x86_64-linux-strip... strip
| updating cache ./config.cache
| loading cache ./config.cache within ltconfig
| checking whether -lc should be explicitly linked in... no
| checking for objdir... .libs
| checking for ccache option to produce PIC... -fPIC -DPIC
| checking if ccache PIC flag -fPIC -DPIC works... yes
| checking if ccache static flag -static works... yes
| finding the maximum length of command line arguments... 49153
| checking if ccache supports -c -o file.o... yes
| checking if ccache supports -fno-rtti -fno-exceptions ... no
| checking whether the linker (ld -m elf_x86_64) supports shared libraries...
yes
| checking how to hardcode library paths into programs... immediate
| checking whether stripping libraries is possible... yes
| checking dynamic linker characteristics... GNU/Linux ld.so
| checking command to parse nm output... ok
| checking if libtool supports shared libraries... yes
| checking whether to build shared libraries... yes
| checking whether to build static libraries... yes
| creating libtool
| updating cache ./config.cache
| configure: loading cache ./config.cache
| checking how to run the C preprocessor... gcc -E
| checking for egrep... grep -E
| checking for ANSI C header files... yes
| checking for sys/types.h... yes
| checking for sys/stat.h... yes
| checking for stdlib.h... yes
| checking for string.h... yes
| checking for memory.h... yes
| checking for strings.h... yes
| checking for inttypes.h... yes
| checking for stdint.h... yes
| checking for unistd.h... yes
| checking for stdlib.h... (cached) yes
| checking for unistd.h... (cached) yes
| checking for getpagesize... yes
| checking for working mmap... yes
| checking for memcpy... yes
| checking for strerror... yes
| checking for unistd.h... (cached) yes
| updating cache ./config.cache
| configure: creating ./config.status
| config.status: creating Makefile
| config.status: executing default-1 commands
| Adding multilib support to Makefile in
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/x86/build/tmp/work/i486-linux/gcc-cross-4.0.2-r1/gcc-4.0.2/zlib
| multidirs=32
| with_multisubdir=
| Running configure in multilib subdirs 32
| pwd:
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/x86/build/tmp/work/i486-linux/gcc-cross-4.0.2-r1/gcc-4.0.2/build.x86_64-linux.i486-linux/zlib
| Running configure in multilib subdir 32
| pwd:
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/x86/build/tmp/work/i486-linux/gcc-cross-4.0.2-r1/gcc-4.0.2/build.x86_64-linux.i486-linux
| mkdir 32
| configure: loading site script
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/org.openembedded.dev/site/endian-little
| configure: loading site script
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/org.openembedded.dev/site/x86_64-linux
| configure: creating cache ./config.cache
| checking build system type... x86_64-pc-linux-gnu
| checking host system type... x86_64-pc-linux-gnu
| checking target system type... i486-pc-linux-gnu
| checking for a BSD-compatible install... /usr/bin/install -c
| checking whether build environment is sane... yes
| checking for gawk... gawk
| checking whether make sets $(MAKE)... yes
| checking whether to enable maintainer-specific portions of Makefiles... no
| checking for x86_64-linux-gcc... ccache gcc -m32
| checking for suffix of object files... o
| checking whether we are using the GNU C compiler... yes
| checking whether ccache gcc -m32 accepts -g... yes
| checking for ccache gcc -m32 option to accept ANSI C... none needed
| checking for style of include used by make... GNU
| checking dependency style of ccache gcc -m32... gcc3
| checking for ld used by GCC... ld -m elf_x86_64
| checking if the linker (ld -m elf_x86_64) is GNU ld... yes
| checking for ld -m elf_x86_64 option to reload object files... -r
| checking for BSD-compatible nm... nm
| checking whether ln -s works... yes
| checking how to recognise dependant libraries... pass_all
| checking for x86_64-linux-ranlib... ranlib
| checking for x86_64-linux-strip... strip
| updating cache ./config.cache
| loading cache ./config.cache within ltconfig
| checking whether -lc should be explicitly linked in... no
| checking for objdir... .libs
| checking for ccache option to produce PIC... -fPIC -DPIC
| checking if ccache PIC flag -fPIC -DPIC works... yes
| checking if ccache static flag -static works... no
| finding the maximum length of command line arguments... 49153
| checking if ccache supports -c -o file.o... yes
| checking if ccache supports -fno-rtti -fno-exceptions ... no
| checking whether the linker (ld -m elf_x86_64 -m elf_i386) supports shared
libraries... yes
| checking how to hardcode library paths into programs... immediate
| checking whether stripping libraries is possible... yes
| checking dynamic linker characteristics... GNU/Linux ld.so
| checking command to parse nm output... failed
| checking if libtool supports shared libraries... yes
| checking whether to build shared libraries... yes
| checking whether to build static libraries... yes
| creating libtool
| updating cache ./config.cache
| configure: loading cache ./config.cache
| checking how to run the C preprocessor... gcc -E
| checking for memcpy... configure: error: Link tests are not allowed after
GCC_NO_EXECUTABLES.
| make: *** [configure-zlib] Error 1
| FATAL: oe_runmake failed
NOTE: Task failed:
/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/x86/build/tmp/work/i486-linux/gcc-cross-4.0.2-r1/temp/log.do_compile.14321
NOTE: package gcc-cross-4.0.2-r1: task do_compile: failed
ERROR: TaskFailed event exception, aborting
NOTE: package gcc-cross-4.0.2: failed
ERROR: Build of task-base failed
gcc-cross-4.x fails to build when using x86 machine and generic distro if the
host is an x86_64
My build machine is x86_64 (AMD) running Ubuntu
Although the log comes from gcc-cross-4.0.2 the same problem occurs with all
gcc-cross-4.x packages
After some search and trial i figured out that the problem is that gcc was
trying to build using multilibs and Ubuntu did not have them.
The quick fix was to add --disable-multilib in gcc3-cross-build.inc
EXTRA_OECONF_PATHS = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
--with-gxx-include-dir=${CROSS_DIR}/${TARGET_SYS}/include/c++ \
--disable-multilib"
The best way (i think) would be to test if the host is an X86_64 and then apply
it.
Another option would be to add the 32bit libs in Ubuntu, but i have not tried
it.
I would appreciate any feeback on this
--
Configure bugmail: http://bugs.openembedded.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the Openembedded-issues
mailing list