Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
gcc version für bestimmte pakete ändern
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1176

PostPosted: Tue Jun 12, 2012 7:26 am    Post subject: gcc version für bestimmte pakete ändern Reply with quote

Hi, ich verwende normalerweise gcc-4.7 seit er im portage ist. leider funktioniert er für einzelne pakete (noch) nicht. kann ich für einzelne Pakete die compilerversion ändern?
schöne Grüße
Christian
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2042
Location: My own world! I and Gentoo!

PostPosted: Tue Jun 12, 2012 7:34 am    Post subject: Reply with quote

Versuch mal über die /etc/portage/env/ Dateien was zu drehen. Habs selber noch nicht ausprobiert, aber wenns für einzelne Dateien sein soll kann man da vielleicht etwas managen (diese Dateien werden ausgewertet wie Shell-scripte.)
_________________
mfg
Steel
___________________
Sorry for my bad English.

Heim-PC: Intel i7-5820K, 32GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-3470S, 16GB RAM, Intel Graphic
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1176

PostPosted: Tue Jun 12, 2012 9:03 am    Post subject: Reply with quote

Danke, was muss ich denn da setzen? CC und CXX oder noch mehr?
Back to top
View user's profile Send private message
bbgermany
Veteran
Veteran


Joined: 21 Feb 2005
Posts: 1792
Location: Oranienburg/Germany

PostPosted: Tue Jun 12, 2012 10:23 am    Post subject: Reply with quote

Hi,

ich hatte grad das gleiche Problem mit cmake und gcc-4.6.3.

Meine normalen CFLAGS mit "-march=corei7-avx -O2 -pipe" wollte das Paket nicht. Also fix die Datei /etc/protage/env/dev-util/cmake mit folgendem Inhalt erstellt:

Code:

CFLAGS="-O0 -pipe"
CXXFLAGS="${CFLAGS}"


und schon gings.

MfG Stefan
_________________
1st: i5-4570, 16GB, 1.75TB
2nd: i5-4570, 16GB, 620GB
3rd: i5-4570, 16GB, 10,5TB
4th: Asus N61VN, 8GB, 240GB
5th: C2D T7200, 2GB, 16GB USB + NFS
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1176

PostPosted: Tue Jun 12, 2012 11:39 am    Post subject: Reply with quote

das ist schon klar, aber ich wollte wissen was für variablen ich setzen muss um den Compiler zu ändern.
Back to top
View user's profile Send private message
bell
Guru
Guru


Joined: 27 Nov 2007
Posts: 482

PostPosted: Thu Jun 14, 2012 5:54 pm    Post subject: Reply with quote

Ich würde sowas in die Globale Konfigurationsdatei /etc/portage/bashrc packen:
(pseudo-code / ungetestet)

Code:
case $PN in
    app-xxx/xxx )
        GCC_NEEDED=x86_64-pc-linux-gnu-4.7.0;;

    app-yyy/yyyy )
        GCC_NEEDED=x86_64-pc-linux-gnu-4.7.0;;

    * )    # default
        GCC_NEEDED=x86_64-pc-linux-gnu-4.5.3;;
esac

if [ $(gcc-config -c) != $GCC_NEEDED ]; then
   gcc-config $GCC_NEEDED
fi

Wenn es funktioniert, so wird vor jedem Bau geprüft welcher GCC benötigt wird und ggf. gewechselt.
Falls Du das Skript fertig hast, bitte posten ;) Wie gesagt, bisher ist es nur eine Idee.
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2903
Location: Bozen

PostPosted: Thu Jun 14, 2012 6:43 pm    Post subject: Reply with quote

Noch ein Tip von mir. Ich habe vor kurzem auch mit dem 4.7 experimentiert. Lass besser noch die Finger von. Einige Anwendungen, die sich übersetzen ließen, sind dann abgestürzt. Und das merkt man so direkt wirklich nur, wenn es eine Desktopanwendung ist. Es sind aber in den letzten Tagen auch viele neue Patches für den 4.7 eingepflegt worden. Vielleicht ist die Situation jetzt ja besser.

Aber denk immer dran, wenn seltsames passiert.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6281

PostPosted: Thu Jun 14, 2012 7:14 pm    Post subject: Reply with quote

Klaus Meier wrote:
Einige Anwendungen, die sich übersetzen ließen, sind dann abgestürzt.

So ein Problem hatte ich bei keinem Paket. Kannst Du Pferd und Reiter nennen?
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2903
Location: Bozen

PostPosted: Thu Jun 14, 2012 7:48 pm    Post subject: Reply with quote

mv wrote:
Klaus Meier wrote:
Einige Anwendungen, die sich übersetzen ließen, sind dann abgestürzt.

So ein Problem hatte ich bei keinem Paket. Kannst Du Pferd und Reiter nennen?

Eine Anwendung war Evolution in einer Version von 3.4. Weiß jetzt nicht mehr, ob 3.4.1 oder 3.4.2. Und dann bin ich ganz schnell wieder zurück zum gcc-4.5.3. Der 4.6.3 war damals noch hardmasked. Ob es noch eine andere Anwendung war, kann ich nicht mehr sagen. Es kann auch an einer Bibliothek liegen, die Evolution nutzt.

Aber: Die Binaries waren im Vergleich zum 4.5.3 schon deutlich kleiner.

Und ansonsten: Warum für einige Pakete den 4.6.3 fest eintragen? Du übersetzt dein System mit 4.6.3. Und dann ein emerge -e mit 4.7.0. Die Pakete, die nicht durchgehen, hast du ja sowieso schon. Und die Updates machst du dann halt wieder mit dem 4.7.0. Und die, die nicht durchgehen, da schaltest du wieder auf den 4.6.3 um. Sonst übersetzt du einiges mit dem 4.6.3, was schon längst mit dem 4.7.0 geht. Denn da gibt es ein Feature:
Code:
# ChangeLog for media-video/vdr
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/ChangeLog,v 1.163 2012/$

  10 Jun 2012; Joerg Bornkessel <hd_brummy@gentoo.org> -vdr-1.6.0_p2-r9.eb$
  vdr-1.6.0_p2-r10.ebuild, +files/vdr-1.6.0_p2_gcc-4.7.patch,
  -files/vdr-1.6.0_p2_linguas.diff:
  fixed gcc-4.7 compile; cleanup; strip-linguas en fixing

Es werden ebuilds aktualisiert, ohne dass die Version der Anwendung hochgezählt wird. Also wird diese Anwendung beim Updaten auch nicht neu übersetzt. Ich würde da eine Liste anlegen mit Anwendungen, die sich mit dem 4.7.0 nicht übersetzen lassen und dann sporadisch mal die Changelogs ansehen.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6281

PostPosted: Thu Jun 14, 2012 8:47 pm    Post subject: Reply with quote

Klaus Meier wrote:
Eine Anwendung war Evolution in einer Version von 3.4.

Ah, Gnome. Das habe ich hier nicht, und wenn schon ein Gnome-nahes Tool dann nur mit USE=-introspection. Das kann die unterschiedliche Erfahrung erklären. Aber:
Quote:
Der 4.6.3 war damals noch hardmasked.

Du sprachst von 4.7. Meiner Erfahrung nach gab es von 4.6 auf 4.7 (im Gegensatz zu 4.5 auf 4.6) kaum Probleme. Große Ausnahme sind hardened-sources, aber das ist ein "hausgemachtes" Problem von hardened. Eine Laufzeit-Regression hatte ich auch mit 4.7 und firefox, aber die hatte mit graphite zu tun (und scheint nicht alle Benutzer zu betreffen).
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2903
Location: Bozen

PostPosted: Fri Jun 15, 2012 5:29 am    Post subject: Reply with quote

Kann es jetzt ja noch mal versuchen, mache dann vorher am einfachsten ein Backup...
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4408

PostPosted: Fri Jun 15, 2012 5:50 am    Post subject: Reply with quote

Neben dem dass gestern gcc-4.7.1 released wurde und heute im Tree gelandet ist...
Klaus Meier wrote:
Denn da gibt es ein Feature:
Code:
# ChangeLog for media-video/vdr
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/ChangeLog,v 1.163 2012/$

  10 Jun 2012; Joerg Bornkessel <hd_brummy@gentoo.org> -vdr-1.6.0_p2-r9.eb$
  vdr-1.6.0_p2-r10.ebuild, +files/vdr-1.6.0_p2_gcc-4.7.patch,
  -files/vdr-1.6.0_p2_linguas.diff:
  fixed gcc-4.7 compile; cleanup; strip-linguas en fixing

Es werden ebuilds aktualisiert, ohne dass die Version der Anwendung hochgezählt wird.

Da gibt es ein Feature "hardmasked". Wenn ein Paket nicht richtig mit einem hart maskierten Paket zusammen arbeitet, dann fügt man einfach einen Patch ein ohne RevBump. Die zwei Alternativen wären 1) revbump und dadurch ALLEN die nicht bleeding edge fahren, ein rebuild aufhalsen, für etwas das sie gar nicht tangiert oder 2) Ein hart maskiertes revbump nur für die harten Jungs.
Nachteile sind offensichtlich:
1) Generiert viel zu viele rebuilds, der normalo User wird sich beschweren.
2) Wer soll das noch warten?!?
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2903
Location: Bozen

PostPosted: Fri Jun 15, 2012 6:01 am    Post subject: Reply with quote

Da hat sich wohl in der letzten Zeit einiges getan. 4.7.1 klingt gut. Werde es wohl mal erneut testen.

Ok, lief beim Frühstück nebenher: evolution-3.4.2 mit gcc-4.7.1 übersetzt funktioniert. Na dann werde ich jetzt mal emerge -e world machen und heute abend schauen, was passiert ist.
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2903
Location: Bozen

PostPosted: Fri Jun 15, 2012 6:06 pm    Post subject: Reply with quote

Na ich hab es mal wieder versucht, folgendes ging nicht durch:
Code:
=dev-libs/crypto++-5.6.1-r3
=sys-devel/binutils-2.22-r1
=media-plugins/gst-plugins-ffmpeg-0.10.13-r1
=net-libs/webkit-gtk-1.8.1-r30

Zu den binutils gab es eben gerade einen Patch, die gehen jetzt auch. libreoffice werde ich mal über Nacht testen. Bislang funktioniert alles, aber habe ja noch nicht viel ausprobiert.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum