# GCC 3.4   FAQ

## bennixview

Hi Geeks,

wann kommt den der gcc 3.4 in den Portagetree ??

Und wie siehts dann mit dem compilieren aus?

Kann ich dann einfach mein system darauf neu bauen?

z.B. wollte ich damit warten um dann damit das KDE 3.2.2 zu bauen. 

Wie siehts damit aus? Haben die KDE entwickler das berücksichtigt??

MFG Benni

----------

## Inte

Mach mal einen emerge sync. Dann solltest Du auch das ebuild haben

```
/usr/portage/sys-devel/gcc/gcc-3.4.0_pre20040416.ebuild
```

Das ebuild ist sicherlich noch maskiert. Schlag einfach im Portage-Handbuch nach, wie Du es trotzdem installieren kannst.

Rein theoretisch kannst Du Dein System mit dem neuen gcc rekompilieren. An Deiner Stelle würde ich die Platte spiegeln und es dann einfach mal drauf ankommen lassen. Aber ohne Backup - Finger weg!

Was sollten die KDE-Entwickler denn berücksichtigen? Wenn sauber geschrieben wurde (d.h. keine <=gcc-3.3-Eigenheiten ausgenutzt werden) wird mit dem 3.4er schnellerer Code erzeugt.

Gruß, Inte.

PS.: Ich für meinen Teil warte bis der 3.4er nicht mehr maskiert ist. gcc und glibc fasse ich nur mit der Kneifzange an  :Wink: 

----------

## ruth

hi zusammen,

na zum beispiel das da sollten _alle_ entwickler berücksichtigen:

```

--snip--

GCC no longer accepts the options -fvolatile, -fvolatile-global and -fvolatile-static. It is unlikely that they worked correctly in any 3.x release.

GCC no longer ships <varargs.h>. Use <stdarg.h> instead.

--snip--

```

d.h, dass z.b.  jedes programm, welches 

```

#include <varargs.h> 

```

beinhaltet, sich unter gcc 3.4 nicht übersetzen lassen wird;

kannst ja mal die kde sources + die glibc greppen und anpassen... *grins*

oder alternativ einen link von varargs.h auf stdarg.h setzen...  :Wink: 

grundsätzlich ist die changes.txt aber lang...

sodass sicher ein (grosser???) teil der software angepasst werden mus...

kannst ja mal einfach in einer chroot() versuchen zu bauen...

gruss

rootshell

----------

## amne

 *Inte wrote:*   

> 
> 
> PS.: Ich für meinen Teil warte bis der 3.4er nicht mehr maskiert ist. gcc und glibc fasse ich nur mit der Kneifzange an 

 

Feig! Feig!

Ich allerdings auch.

----------

## ruth

hi,

so, hab mich mal aufn paar listen umgesehen...  :Wink: 

also es gibt wohl (??) probleme mit:

kernel (!!), gnome-terminal, libSDL, kde, mplayer, ...

das ist jetzt so aus dem gedächtnis, was ich grad gelesen habe.

wohlgemerkt _NICHT_ selbst versucht...  :Wink: 

ich denke, bis alle packete aus dem portage-tree sauber mit gcc3.4 gebaut werden können,

wird wohl einige zeit vergehen... *gg*

aber lassen wir uns überraschen...

ach ja:

wenns jemand versucht mit dem ding:

e bissl feedback wäre schön...  :Wink: 

gruss

rootshell

----------

## sirro

 *rootshell wrote:*   

> kannst ja mal einfach in einer chroot() versuchen zu bauen...

 

Genau das werde ich jetzt mal probieren  :Wink:  Ein Arbeitssystem wäre mir zu schade dafür...

Feedback gibts dann natürlich auch von meiner Seite.

 *gcc-3.4.0_pre20040416.ebuild wrote:*   

> # Install this and I cannot be held responsible for system failure, random
> 
> # bugs, or sudden onset of insanity. YOU HAVE BEEN WARNED!! (though, really,
> 
> # 3.4 appears to be safe in general unless you're compiling binutils)

 

----------

## bennixview

AH,

hab mir schon gedacht das das nicht so einfach geht!!!

Das ist eines der Probleme von LINUX! 

Alle teams arbeiten nur für sich! Es wäre doch klug z.B. von so großen teams wie KDE sich mit den GCC entwickler abzusprechen und dann deren sourcecode Gerade bei einer so wichtigen release wie 3.2 auf die neuen features des GCC 3.4 anzupassen ???? Oder?

Und wenn ich schon höre das der Kernel auch nicht läuft ja und das wo gerade erst der 2.6er da ist??? Das ist schon irgendwie unprofessionell.

naja hoffe das wir die vorteile von dem neuen Compiler auch bald nutzen können!!!

CU

----------

## amne

Ich sehe nichts Unprofessionelles. Gcc 3.4 kommt heraus, die Entwickler sehen ihn sich an, passen ihren Code an und schon kann man mit dem Gcc 3.4 alles kompilieren. Ich sehe jetzt keinen Grund warum man sofort auf den 3.4er umsteigen muss.

PS: Du plenkst und ein Ruf/Fragezeichen reichen völlig aus.  :Wink: 

----------

## SnorreDev

 *amne wrote:*   

> Ich sehe nichts Unprofessionelles. Gcc 3.4 kommt heraus, die Entwickler sehen ihn sich an, passen ihren Code an und schon kann man mit dem Gcc 3.4 alles kompilieren. Ich sehe jetzt keinen Grund warum man sofort auf den 3.4er umsteigen muss.

 

Sehe ich auch irgendwie so - die neue Windows Version kommt raus - und zack klappen einige Programme und Spiele nicht mehr - gesehen z.B. bei WinXP.

Neues Visual Studio kommt raus - alter Code muss nachbearbeitet werden.

Neues C++ Builder kommt raus - alter Code muss modifiziert werden

Neues Delphi - der selbe Spass.

Hat also nix mit der OSS zu tun, sondern das ist ueberall so in der IT.

----------

## eZe

es gibt übers Bug-Tracking bereits ein ebuild für die finale 3.4

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

Wenn ihr eure alte gcc-Version zurück wollt hilft das editieren von /etc/profile.env

Ich habe es bereits erfolgreich compiliert:

 *Quote:*   

> Lese Spezifikationen von /usr/lib/gcc/i686-pc-linux-gnu/3.4.0/specs
> 
> Konfiguriert mit: /var/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.4 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.0/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4/info --enable-shared --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++,f77,objc,java --enable-threads=posix --enable-long-long --disable-checking --enable-cstdio=stdio --enable-clocale=generic --enable-__cxa_atexit --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.0/include/g++-v3 --with-local-prefix=/usr/local --disable-werror --enable-shared --enable-nls --without-included-gettext --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --enable-interpreter --enable-java-awt=xlib --with-x --disable-multilib
> 
> Thread-Modell: posix
> ...

 

ehm, als Ergänzung: Ich habe USE=hardened benutzt nur falls jemand mit dem Hardened nix anfangen kann  :Wink: 

Ach ja: Laut dem Bugreport gibts ein offiezelles ebuild auf den Gentoomirrors sobald das prepolice-Patch verfügbar ist.

----------

## sirro

 *eZe wrote:*   

> Ach ja: Laut dem Bugreport gibts ein offiezelles ebuild auf den Gentoomirrors sobald das prepolice-Patch verfügbar ist.

 

Den hab ich direkt schon schmerzlich vermisst. Jeder emerge lief in einen Fehler weil -fstack-protector nicht existierte  :Wink: 

Kurzer Zwischenbericht: gcc-3.4 kompilierte einwandfrei. Und baselayout ließ sich ebenfalls kompilieren.

----------

