# gcc-3.3.5 nach gcc-3.4.3 kompilier fehler

## TheCurse

Hallo, 

ich wollte vom gcc-3.3.5 auf gcc-3.4.3.20050110 umsteigen. deshalb habe ich erst mal gcc, glibc und noch eins mit ~x86 gekennzeichnet. Dann habe ich glibc geemerged (erfolgreich) und wollte daraufhin gcc emergen. Dabei kam eine immer reproduzierbarer Fehler. Hier die ausgabe:

```
checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ANSI C... none needed

checking how to run the C preprocessor... /lib/cpp

configure: error: C preprocessor "/lib/cpp" fails sanity check

See `config.log' for more details.

make: *** [configure-libiberty] Fehler 1

!!! ERROR: sys-devel/gcc-3.4.3.20050110 failed.

!!! Function gcc_do_make, Line 1079, Exitcode 2

!!! make failed with profiledbootstrap

!!! If you need support, post the topmost build error, NOT this status message.

```

Wenn ich jetzt irgendetwas anderes emergen will kommt genau der selbe Fehler!

Hier noch meine emerge info:

```
Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20041102-r0, 2.6.11-rc2-mm2 i686)

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

System uname: 2.6.11-rc2-mm2 i686 AMD Sempron(tm) 2200+

Gentoo Base System version 1.4.16

Python:              dev-lang/python-2.3.4 [2.3.4 (#1, Jan 31 2005, 16:21:26)]

ccache version 2.3 [enabled]

dev-lang/python:     2.3.4

sys-devel/autoconf:  2.13, 2.59-r6

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

sys-devel/binutils:  2.15.92.0.2-r1

sys-devel/libtool:   1.5.10-r4

virtual/os-headers:  2.6.8.1-r2

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe -mfpmath=sse -mmmx -msse m3dnow "

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"

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

CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe -mfpmath=sse -mmmx -msse m3dnow "

DISTDIR="/usr/portage/distfiles"

FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"

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

LANG="de_DE.utf8"

LC_ALL="de_DE.utf8"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

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

USE="3dnow X acpi apache2 audiofile avi bash-completition berkdb bitmap-fonts bonobo cdr crypt dga dio divx4linux dvd dvdr encode esd exif f77 fam fbcon font-server fortran ftp gb gd gdbm gif gnome gphoto2 gstreamer gtk gtk2 icq imap imlib innodb iodbc java jpeg libg++ libwww mad mikmod mime mmx motif mozilla mpeg mysql mysqli ncurses nls nptl nptlonly odbc ogg oggvorbis opengl oscar pam pdflib perl php pic pie png posix python quicktime readline scanner sdl slang spell spl sse ssl svga symlink sysvipc tcpd tiff truetype truetype-fonts type1-fonts unicode usb videos wmf x86 xine xml2 xmms xv xvid zlib"

Unset:  ASFLAGS, CBUILD, CTARGET, LDFLAGS, PORTDIR_OVERLAY

```

Hoffe, mir kann geholfen werden.

MfG

TheCurse

----------

## hds

wie oft kommt die frage noch?

https://forums.gentoo.org/viewtopic.php?t=278649

ersetze einfach singemaess die versionen, dann klapts mit dem sticky howto.

also fix_libtool und gcc-config machen. da gibts aber wirklich etliche threads zu..

bei mir gings ohne fix_libtool einfach so:

http://www.en-total.de/modules.php?name=Forums&file=viewtopic&p=264#264

----------

## TheCurse

Nun ja, da hatte ich bereits geschaut, aber es schien nicht direkt mit meinem Problem zu tun zu haben.

Ich habe also erstmal ein

fix_libtool_files.sh 3.3.5 gemacht, keine besserung.

Dann das mit gcc-config, keine besserung.

Habe mit fix_libtool_files.sh ein wenig rumgespielt (3.3.4 etc.), weil irgendwer in dem post das meinte, keine besserung. Was also jetzt?

MfG

TheCurse

----------

## hds

was sagt denn gcc-config -l

?

ach, momentmal, missverstaendniss   :Embarassed: 

du kriegst den 3.4 garnicht erst installiert?

----------

## TheCurse

gcc-config -l:

```
[1] i686-pc-linux-gnu-3.3.5 *

[2] i686-pc-linux-gnu-3.3.5-hardened

[3] i686-pc-linux-gnu-3.3.5-hardenednopie

[4] i686-pc-linux-gnu-3.3.5-hardenednossp

```

Wie gesagt habe ich das update ja noch gar nicht machen können, nur die glibc ist aktualisiert.

----------

## hds

 *TheCurse wrote:*   

> 
> 
> Wie gesagt habe ich das update ja noch gar nicht machen können, nur die glibc ist aktualisiert.

 

ja, darum hatte ich das missverstanden.. warum hast du den die glibc neu gemacht, bevor du den gcc updatest? das war total ueberfluessig.

egal, hat aber mit deinem problem nix zu tun. komisch..

ps: aus meiner /etc/portage/package.keywords:

```

#

sys-devel/gcc ~x86

sys-libs/libstdc++-v3 ~x86

#

```

hast du das auch so?

ps: ne ~x86 glibc hab ich uebrigens nicht genommen, wozu auch..

----------

## TheCurse

Meine /etc/portage/package.keywords:

```
sys-kernel/mm-sources ~x86

sys-devel/gcc ~x86

sys-libs/libstdc++-v3 ~x86

sys-libs/glibc ~x86
```

Nun ja, hab ich irgendwo gelesen (oder hat mir ein Arbeitskollege erzählt), dass man die unstable glibc braucht für gcc-3.4.x.

----------

## hds

nee, die stable glibc geht. hmm, verstehe ich das richtig, das, nachdem du die glibc updated hast, nun nix mehr geht?

uebel uebel.. faellt mir auf die schnelle nix zu ein. backup gemacht, diskimage oder so? dann wuerde ich das aufspielen, und nur gcc 3.4 sowie libstd ~x86 emergen.

----------

## TheCurse

Ne, kein Backup, ist aber auch nur ein Testsystem auf Reiser4 etc., und wollte halt ein paar unstable sachen ausprobieren. 

Aber seltsam finde ich das trotzdem.

Ach ja, eigentlich geht ja alles, nur kompilieren geht halt nicht

----------

## hds

 *TheCurse wrote:*   

> 
> 
> Ach ja, eigentlich geht ja alles, nur kompilieren geht halt nicht

 

was natuerlich bei gentoo nicht grade trivial ist  :Laughing: 

naja, vielleicht findet sich ja jemand, der das gleiche problem hat(te).

und sorry nochmals, das ich das anfangs missverstanden haette. aber das leidige thema mit dem gcc-update kann ich langsam aber sicher nicht mehr sehen.

betrifft wie gesagt ja garnicht dich, sorry!

----------

## c07

Was sagt denn die config.log (bitte nur die Teile posten, die mit dem cpp zu tun haben)? U.U. gehts mit

```
CPP=/usr/bin/cpp emerge gcc
```

gcc-config ausführen und/oder remergen wär auch noch eine Möglichkeit.

----------

## zielscheibe

Na dann ist es ja nicht ganz so schlimm.

Noch eine Anmerkung für das weitere Experimentieren mit dem 3.4er gcc.

Es reicht den "gcc" und die "libstdc++" in die Keywords aufzunehmen, die Freischaltung der hart maskierten Versionen von "gcc" und "glibc", endet nach eigener Erfahrung meist in riesigen Problemen. Für ein Produktivsystem gibt es kaum einen _effektiveren_ Weg sich ins Bein zu schießen.

----------

## c07

Außerdem haben deine CFLAGS einen Fehler. Wahrscheinlich ist das der Grund.

----------

## hds

 *c07 wrote:*   

> Außerdem haben deine CFLAGS einen Fehler. Wahrscheinlich ist das der Grund.

 

wie gut das du ihm den fehler genannt hast.   :Evil or Very Mad: 

ich tippe mal auf

```

m3dnow "

```

should be

```

-m3dnow"

```

wobei ich mal denke die mmx und 3dnow flags sind bereits eh in "-march=athlon-xp" included und somit redundant?

----------

## rbaer

Also, da war was mit dem Einchecken in nicht richtiger Reihenfolge

und wir hatten alle zum dummen Zeitpunkt emerge sync gemacht

https://bugs.gentoo.org/show_bug.cgi?id=80591

Mit folgendem laesst es sich kitten:

emerge sync 

export CPATH=/usr/include/gentoo-multilib/default 

emerge glibc

----------

## TheCurse

Also das mit dem m3dnow hatte definitiv nichts damit zu tun, denn auch wenn ich das entfernt hatte bekam ich den selben fehler.

Den Rest kann ich jetzt leider nicht mehr ausprobieren, ich bin gerade wieder beim emerge system. Hab dann doch alles von vorne gemacht.

MfG

TheCurse

----------

## c07

 *TheCurse wrote:*   

> Also das mit dem m3dnow hatte definitiv nichts damit zu tun, denn auch wenn ich das entfernt hatte bekam ich den selben fehler.

 

Stimmt, die gcc-Ebuilds filtern die CFLAGS mehrfach. Das überleben die meisten Flags nicht.

 *TheCurse wrote:*   

> Hab dann doch alles von vorne gemacht.

 

Warum fragst du dann eigentlich?

----------

## TheCurse

Ich habe noch gefragt, als ich dachte, eine Antwort käme schneller, als das System neu zu machen. Schien mir irgendwann nicht mehr so, deshalb hatte ichs halt neu gemacht. Außerdem ist es ja immernoch interessant, wie das gehen könnte, falls es nochmal passiert.

MfG

TheCurse

----------

