Summary: | sys-devel/gcc-4.4.1 fails to rebuild itself on ARM | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Raúl Porcel (RETIRED) <armin76> |
Component: | [OLD] Core system | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | arm, laurent, marat, marcel, maxposedon, ryan |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | ARM | ||
OS: | Linux | ||
URL: | http://gcc.gnu.org/PR41500 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 278687 | ||
Attachments: |
config.log
gcc_strace config.log from gcc-4.3.4 |
Description
Raúl Porcel (RETIRED)
2009-09-24 15:45:19 UTC
Created attachment 205122 [details]
config.log
I've marked gcc-4.4.1 -arm meanwhile Bug is invalid, gcc compilation fails because of lacking of memory. I reproduced in on Sheevaplug(512Mb ram), then add 1G swap, and compilation was successfully done. Please at least return ~arm keyword! I'm also hit by this bug. The compiler seems to segfault when it encounters line 47 of /usr/include/bits/stdio.h: 44 __STDIO_INLINE int 45 getchar (void) 46 { 47 return _IO_getc (stdin); 48 } Will attach a strace of it. paludis 0.40.1 Paludis build information: Compiler: CXX: armv5tel-softfloat-linux-gnueabi-g++ 4.4.1 CXXFLAGS: -Os -march=armv5te -pipe -pedantic LDFLAGS: -Wl,-O1 DATE: 2009-09-20T07:53:28+0200 Libraries: C++ Library: GNU libstdc++ 20090722 Paths: DATADIR: /usr/share LIBDIR: /usr/lib LIBEXECDIR: /usr/libexec SYSCONFDIR: /etc PYTHONINSTALLDIR: RUBYINSTALLDIR: System: Linux stalker 2.6.31-openrd #7 PREEMPT Wed Sep 23 10:15:21 CEST 2009 armv5tel Feroceon 88FR131 rev 1 (v5l) Marvell OpenRD Client Board GNU/Linux Reduced Privs: reduced_uid: 101 reduced_uid->name: paludisbuild reduced_uid->dir: /var/tmp/paludis reduced_gid: 1000 reduced_gid->name: paludisbuild Environment: Format: paludis Config dir: /etc/paludis World file: /var/db/pkg/world Repository installed-virtuals: format: installed_virtuals root: / Repository virtuals: format: virtuals Repository gentoo: format: ebuild location: /data0/repositories/gentoo append_repository_name_to_write_cache: true binary_destination: false binary_keywords: binary_uri_prefix: builddir: /data0/builddir cache: /var/lib/repositories/gentoo/metadata/cache distdir: /data0/web/distfiles eapi_when_unknown: 0 eapi_when_unspecified: 0 eclassdirs: /var/lib/repositories/gentoo/eclass ignore_deprecated_profiles: false layout: traditional names_cache: /var/cache/paludis/names newsdir: /data0/repositories/gentoo/metadata/news profile_eapi_when_unspecified: 0 profiles: /var/lib/repositories/gentoo/profiles/default/linux/arm/2008.0/server /var/lib/repositories/local/profiles/base_override securitydir: /data0/repositories/gentoo/metadata/glsa setsdir: /var/lib/repositories/gentoo/sets sync: rsync://ftp.vectranet.pl/gentoo-portage sync_options: use_manifest: use write_cache: /var/cache/paludis/metadata Package information: app-admin/eselect-compiler: (none) app-shells/bash: 4.0_p33 dev-java/java-config: (none) dev-lang/python: 2.6.2-r2 dev-python/pycrypto: (none) dev-util/ccache: (none) dev-util/cmake: (none) dev-util/confcache: (none) sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.4.3-r3 sys-apps/sandbox: 2.1 sys-devel/autoconf: 2.63-r1 sys-devel/automake: 1.10.2 1.11 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.30-r1 (for sys-kernel/linux-headers::installed) Repository installed: format: vdb location: /var/db/pkg builddir: /data0/builddir eapi_when_unknown: 0 names_cache: /var/cache/paludis/names provides_cache: /var/cache/paludis/provides root: / Repository installed-unpackaged: format: installed_unpackaged location: /var/db/unpackaged root: / Repository arachnist_overlay: format: ebuild location: /data0/repositories/local append_repository_name_to_write_cache: true binary_destination: false binary_keywords: binary_uri_prefix: builddir: /data0/builddir cache: /var/empty distdir: /data0/web/distfiles eapi_when_unknown: 0 eapi_when_unspecified: 0 eclassdirs: /var/lib/repositories/gentoo/eclass /var/lib/repositories/local/eclass ignore_deprecated_profiles: false layout: traditional master_repository: gentoo names_cache: /var/cache/paludis/names newsdir: /var/lib/repositories/local/metadata/news profile_eapi_when_unspecified: 0 profiles: /var/lib/repositories/gentoo/profiles/default/linux/arm/2008.0/server /var/lib/repositories/local/profiles/base_override securitydir: /var/lib/repositories/local/metadata/glsa setsdir: /var/lib/repositories/local/sets sync: git://github.com/arachnist/arachnist-ebuilds.git sync_options: use_manifest: use write_cache: /var/cache/paludis/metadata Package sys-devel/gcc-4.4.1::installed: [32;01m>>>[0m Running ebuild phase killold as paludisbuild:paludisbuild... [32;01m>>>[0m Starting builtin_killold [32;01m>>>[0m Done builtin_killold [32;01m>>>[0m Completed ebuild phase killold [32;01m>>>[0m Running ebuild phases initmisc infovars info as paludisbuild:paludisbuild... [32;01m>>>[0m Starting builtin_initmisc [32;01m>>>[0m Done builtin_initmisc [32;01m>>>[0m Starting builtin_infovars ACCEPT_KEYWORDS= CBUILD=armv5tel-softfloat-linux-gnueabi CFLAGS=-march=armv5te -pipe -O2 CHOST=armv5tel-softfloat-linux-gnueabi CONFIG_PROTECT= CONFIG_PROTECT_MASK= CPPFLAGS= CTARGET=armv5tel-softfloat-linux-gnueabi CXXFLAGS=-march=armv5te -pipe -O2 DISTDIR=/var/db/pkg/sys-devel/gcc-4.4.1 FEATURES=distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch FFLAGS= GENTOO_MIRRORS= INSTALL_MASK= LANG= LC_ALL=C LDFLAGS=-Wl,-O1 LINGUAS= MAKEOPTS=-j2 PORTAGE_COMPRESS= PORTAGE_COMPRESS_FLAGS= PORTAGE_CONFIGROOT= PORTAGE_RSYNC_EXTRA_OPTS= PORTAGE_RSYNC_OPTS= PORTAGE_TMPDIR=/data0/builddir PORTDIR=/var/db/pkg/sys-devel/gcc-4.4.1 PORTDIR_OVERLAY= SYNC= USE=arm elibc_glibc kernel_linux nptl openmp userland_GNU Created attachment 205501 [details]
gcc_strace
Strace of gcc failing
Btw, I'm on a openrd-client (which also has 512MB of ram). Looks like gcc-4.4.1 fails to rebuild also gcc-4.3.4. In the config.log it looks identically as the 4.4 failure. make[3]: Leaving directory `/data0/builddir/sys-devel-gcc-4.3.4/work/build/gcc' mkdir -p -- armv5tel-softfloat-linux-gnueabi/libgcc Checking multilib configuration for libgcc... Configuring stage 1 in armv5tel-softfloat-linux-gnueabi/libgcc configure: creating cache ./config.cache checking for --enable-version-specific-runtime-libs... no checking for a BSD-compatible install... /usr/bin/install -c checking for gawk... gawk checking build system type... armv5tel-softfloat-linux-gnueabi checking host system type... armv5tel-softfloat-linux-gnueabi checking for armv5tel-softfloat-linux-gnueabi-ar... /usr/armv5tel-softfloat-linux-gnueabi/bin/ar checking for armv5tel-softfloat-linux-gnueabi-lipo... lipo checking for armv5tel-softfloat-linux-gnueabi-nm... /data0/builddir/sys-devel-gcc-4.3.4/work/build/./gcc/nm checking for armv5tel-softfloat-linux-gnueabi-ranlib... /usr/armv5tel-softfloat-linux-gnueabi/bin/ranlib checking for armv5tel-softfloat-linux-gnueabi-strip... /usr/armv5tel-softfloat-linux-gnueabi/bin/strip checking whether ln -s works... yes checking for armv5tel-softfloat-linux-gnueabi-gcc... /data0/builddir/sys-devel-gcc-4.3.4/work/build/./gcc/xgcc -B/data0/builddir/sys-devel-gcc-4.3.4/work/build/./gcc/ -B/usr/armv5tel-softfloat-linux-gnueabi/bin/ -B/usr/armv5tel-softfloat-linux-gnueabi/lib/ -isystem /usr/armv5tel-softfloat-linux-gnueabi/include -isystem /usr/armv5tel-softfloat-linux-gnueabi/sys-include checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile See `config.log' for more details. make[2]: Leaving directory `/data0/builddir/sys-devel-gcc-4.3.4/work/build' make[1]: Leaving directory `/data0/builddir/sys-devel-gcc-4.3.4/work/build' make[2]: *** [configure-stage1-target-libgcc] Error 1 make[1]: *** [stage1-bubble] Error 2 make: *** [bootstrap-lean] Error 2 /usr/libexec/paludis/utils/emake: emake returned error 2 !!! ERROR in sys-devel/gcc-4.3.4::gentoo: !!! In gcc_do_make at line 3953 !!! emake failed with bootstrap-lean Created attachment 205561 [details]
config.log from gcc-4.3.4
Filed upstream as http://gcc.gnu.org/PR41500 (In reply to comment #3) > Bug is invalid, gcc compilation fails because of lacking of memory. > > I reproduced in on Sheevaplug(512Mb ram), then add 1G swap, and compilation was > successfully done. > > Please at least return ~arm keyword! > Since everyone at upstream is looking at this comment, i'll provide more info wrt it: Maksim 'max_posedon' Melnikau on irc said: Sep 26 23:38:49 <max_posedon> armin76, reproduced Sep 26 23:39:04 <max_posedon> {standard input}: Assembler messages: Sep 26 23:39:04 <max_posedon> {standard input}:49835: Warning: end of file not at end of a line; newline inserted Sep 26 23:39:04 <max_posedon> xgcc: Internal error: Killed (program cc1) Sep 26 23:39:04 <max_posedon> Please submit a full bug report. Sep 26 23:39:04 <max_posedon> See <http://bugs.gentoo.org/> for instructions. Sep 27 00:48:45 <max_posedon> armin76, I just checked dmesg I understand that RAM is key to problems Sep 27 00:48:59 <max_posedon> 512Mb sheevaplug isn't enough, retrying with 1G swap Later, he said: Sep 27 21:32:04 <max_posedon> armin76, hi! Sep 27 21:32:21 <max_posedon> so, I confirm that gcc compilation problem is because of memory Sep 27 21:32:33 <max_posedon> with 1G swap it recompiled successfully Sep 27 21:32:39 <max_posedon> lu Sep 27 21:32:42 <max_posedon> <luke-jr> max_posedon: try memory limits on GCC? Sep 27 21:32:53 <max_posedon> hi, luke-jr !, how I can do it/ Sep 27 21:32:54 <max_posedon> ? Sep 27 21:37:12 <max_posedon> armin76, returm me ~arm for gcc-4.4.1!) Sep 27 21:39:05 <kolla> luke-jr: why? Sep 27 21:40:32 <max_posedon> armin76, if it works with -j3 it doesn't prove that it will works with -j2, so, -j1 is only correct workaround(about python/ppc/etc) So, if thats the error he got, its not related to this one. This one is obviously about a segfault, not a process being killed by the kernel due to running out of memory. I've tried this on a box with 3GB of RAM(Marvell Discovery Innovation), and on the dmesg there is *NO* error regarding it running out of memory. As i've said on the upstream bug report, it works if instead of using: make LDFLAGS=-Wl,-O1 STAGE1_CFLAGS=-O LIBPATH=/usr/lib/gcc/armv5tel-softfloat-linux-gnueabi/4.4.1 'BOOT_CFLAGS= -march=armv5te -pipe -O2' bootstrap-lean as the make command, i use make LDFLAGS=-Wl,-O1 STAGE1_CFLAGS=-O2 LIBPATH=/usr/lib/gcc/armv5tel-softfloat-linux-gnueabi/4.4.1 'BOOT_CFLAGS= -march=armv5te -pipe -O2' bootstrap-lean That is, replacing STAGE1_CFLAGS=-O with -O2. gcc-4.4.2 works fine, closing *** Bug 295024 has been marked as a duplicate of this bug. *** |