# [solved] gcc-4.1.2 lässt sich nicht auf ARM bauen

## Hypfvieh

HI, ich bins mal wieder  :Smile: 

Ich versuch gerade mein ARMv4l Stage3 auf nen aktuelles Level zubringen. Da die Stage von 2005 ist hatte ich schon schwierigkeiten mit dem update von portage (siehe andere thread) das ich mittlerweile zum Glück hinbekommen hab.

Jetzt bleib ich am gcc hängen. Wenn ich versuche gcc auf Version 4.1.2 zu updaten bekomme ich nach ca 2 Stunden kompilern:

```

stage1/xgcc -Bstage1/ -B/usr/armv4l-unknown-linux-gnu/bin/   -O2 -pipe -mcpu=arm920 -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Wmissing-format-attribute     -DHAVE_CONFIG_H -DGENERATOR_FILE  -o build/genmodes \

         build/genmodes.o build/errors.o ../build-armv4l-unknown-linux-gnu/libiberty/libiberty.a

build/genmodes -h > tmp-modes.h

/bin/sh: line 1: 30839 Illegal instruction     (core dumped) build/genmodes -h > tmp-modes.h

make[2]: *** [s-modes] Error 132

make[2]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc'

make[1]: *** [stage2_build] Error 2

make[1]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc'

make: *** [bootstrap-lean] Error 2

 *

 * ERROR: sys-devel/gcc-4.1.2 failed.

 * Call stack:

 *               ebuild.sh, line   35:  Called src_compile

 *             environment, line 4483:  Called toolchain_src_compile

 *             environment, line 4946:  Called gcc_src_compile

 *             environment, line 2851:  Called gcc_do_make

 *             environment, line 2681:  Called die

 * The specific snippet of code:

 *       emake LDFLAGS="${LDFLAGS}" STAGE1_CFLAGS="${STAGE1_CFLAGS}" LIBPATH="${LIBPATH}" BOOT_CFLAGS="${BOOT_CFLAGS}" ${GCC_MAKE_TARGET} || diefunc "$FUNCNAME" "$LINENO" "$?" "emake failed with ${GCC_MAKE_TARGET}";

 *  The die message:

 *   emake failed with bootstrap-lean

 *

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/sys-devel/gcc-4.1.2/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sys-devel/gcc-4.1.2/temp/environment'.

 *

 * Messages for package sys-devel/gcc-4.1.2:

 * 

 * ERROR: sys-devel/gcc-4.1.2 failed.

 * Call stack:

 *               ebuild.sh, line   35:  Called src_compile

 *             environment, line 4483:  Called toolchain_src_compile

 *             environment, line 4946:  Called gcc_src_compile

 *             environment, line 2851:  Called gcc_do_make

 *             environment, line 2681:  Called die

 * The specific snippet of code:

 *       emake LDFLAGS="${LDFLAGS}" STAGE1_CFLAGS="${STAGE1_CFLAGS}" LIBPATH="${LIBPATH}" BOOT_CFLAGS="${BOOT_CFLAGS}" ${GCC_MAKE_TARGET} || diefunc "$FUNCNAME" "$LINENO" "$?" "emake failed with ${GCC_MAKE_TARGET}";

 *  The die message:

 *   emake failed with bootstrap-lean

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/sys-devel/gcc-4.1.2/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sys-devel/gcc-4.1.2/temp/environment'.

 * 

```

Er stoppt als bei "/bin/sh: line 1: 30839 Illegal instruction     (core dumped) build/genmodes -h > tmp-modes.h" was auch immer mir das sagen soll. Bis auf gcc und glibc ist alles bereits auf einem aktuellen stand.

Hab auch schon mit verschiedenen USE-Flags rumgespielt. Hat leider auch nichts gebracht.

Der vollständigkeit halber hier noch emerge --info

```

Portage 2.1.4_rc4 (default-linux/arm, gcc-3.4.4, glibc-2.3.5-r0, 2.6.15 armv4l)

=================================================================

System uname: 2.6.15 armv4l FA526id(wb) rev 1 (v4l)

Timestamp of tree: Thu, 29 Nov 2007 17:00:07 +0000

distcc 2.18.3 armv4l-unknown-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]

app-shells/bash:     3.2_p17

dev-lang/python:     2.3.5, 2.4.4-r6

dev-python/pycrypto: 2.0.1-r6

sys-apps/baselayout: 1.12.9-r2

sys-apps/sandbox:    1.2.18.1-r2

sys-devel/autoconf:  2.13, 2.61-r1

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5, 1.10

sys-devel/binutils:  2.17-r1

sys-devel/gcc-config: 1.3.16

sys-devel/libtool:   1.5.24

virtual/os-headers:  2.6.22-r2

ACCEPT_KEYWORDS="arm"

CBUILD="armv4l-unknown-linux-gnu"

CFLAGS="-O2 -pipe -mcpu=arm920"

CHOST="armv4l-unknown-linux-gnu"

CONFIG_PROTECT="/etc"

CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo"

CXXFLAGS="-O1 -pipe -mcpu=arm920"

DISTDIR="/usr/portage/distfiles"

FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="acl arm berkdb bitmap-fonts bzip2 cli cracklib crypt iconv ipv6 isdnlog midi mudflap ncurses nls openmp pam pcre perl pppd python readline reflection session spl ssl tcpd truetype-fonts type1-fonts xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="chips dummy fbdevglint mach64 mga nv r128 radeon s3 s3virge savage sisusb tdfx trident v4l vga voodoo"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

```

Kann jemand was mit dem Fehler anfangen und mir vll helfen?Last edited by Hypfvieh on Mon Jun 09, 2008 7:10 am; edited 1 time in total

----------

## Hypfvieh

ist zwar schon was her das ich das gefragt hab, aber der vollständigkeit halber, poste ich mal für die Nachwelt einen Workaround für das Problem:

Also erstmal sollte man versuchen den neusten GCC zu nutzen (zu diesem Zeitpunkt 2.4.2 ~arm). 

In der make.conf folgende Variablen auskommentieren (kann man nach dem bauen vom gcc wieder reinmachen):

CFLAGS

CHOST

CXXFLAGS

Als USE-Flag für den GCC sollte man vanilla aktivieren, zumindest hats bei mir nicht ohne funktioniert. Desweiteren darf man auf keinen Fall gcj aktivieren, da er sonst spätestens da das handtuch wirft.

Das wars im groben. Bei meiner ARM Büchse hat das compilern ca 20 Stunden gebraucht.

----------

