# Anpassung der /etc/make.profile

## Erdie

Hallo,

Ich bin auf AMD64, mein /etc/make.profile - Link zeigt immer noch auf 2005. 

1)

Muß ich diesen irgendwann manuell auf die aktuelle 2006.1 Version ändern oder geht das automatisch? 

2)

Falls manuell, was muß ich dann beachten? Gibt es eine Doku zu dem Thema?. Ist es sinnvoll das jetzt zu tun?

3)

Ich möchte auf gcc3.4 auf gcc4.1 wechseln. Erfordert diese einen Wechsel des oben genannten Profils? GCC Upgrade docu ist mir bekannt.

Danke

-Erdie

----------

## spielc

 *Erdie wrote:*   

> Hallo,
> 
> Ich bin auf AMD64, mein /etc/make.profile - Link zeigt immer noch auf 2005.1. 
> 
> 1)
> ...

 

Jo wäre schon nicht schlecht wenn du mal dein Profil anpasst. Automatisch geht da nix (wir sind ja gentoo linux user  :Wink:  )

Generell reicht es wenn den make.profile-symlink anpasst (bei mir is dass jetzt /usr/portage/profiles/default-linux/amd64/2006.1/desktop), aber es schadet nichts mal nachzusehen, obs irgendein dokument für das update des profiles gibt (projects->releng ist da dein freund)

Um einen neuen gcc zu verwenden, glaub ich brauchst ein neueres Profil (mit 2006.1 wurde ja gcc-4.1.1 in den stable branch verschoben)

----------

## Erdie

Danke,

sollte man das Profil dann VOR oder NACH dem Compilerwechsel anpassen?

-Erdie

----------

## tost

Dein Ablauf ist so:

Mit eselect auf das aktuelle Archiv linken, alternativ auch händisch möglich..

Anschließend mal grob schauen welche UseFlags sich geändert haben und ob du das auch für sinnvoll hälst und ggf. make.conf u.ä Dateien anpassen !

Danach kannst du gcc aktualisieren.

http://www.gentoo.org/doc/de/gcc-upgrading.xml

Falls du die radikale Methode mit system und world bevorzugst sei dir das Skript mymerge und allgemeine emerge Tunings wie ccache etc.. nahe gelegt.

Laut Handbuch ist die sehr zeitintensive Methode übrigens anzuraten:

Falls Sie von gcc 3.3-auf -4.1 aktualisieren, sollten Sie nicht die Methode, die auf revdep-rebuild basiert benutzen, sondern machen Sie einen kompletten Neubau des System

Grüße

----------

## Erdie

Ok, danke,

```
emerge -eav system
```

 läuft gerade. Falls ich mich gar nicht mehr melde, ist alles schiefgegangen, die Gentoo community ist einen User weniger und die im September geplante CD - Aufnahme eines Kammerchores wird aller Wahrscheinlichkeit ausfallen, da ich dann kein Recording System für mein RME Multiface mehr habe   :Wink: 

-Erdie

----------

## TheSmallOne

 *tost wrote:*   

> Laut Handbuch ist die sehr zeitintensive Methode übrigens anzuraten:
> 
> Falls Sie von gcc 3.3-auf -4.1 aktualisieren, sollten Sie nicht die Methode, die auf revdep-rebuild basiert benutzen, sondern machen Sie einen kompletten Neubau des System
> 
> 

 

 Wie ich bereits schrieb' ist mir eigentlich nicht wirklich klar, wieso eine Änderung am Compiler einen Neubau des Systems erfordern sollte. Wie auch immer: Was ist mit einem Update von 3.4 auf 4.1?

----------

## tost

1. Backup 

2. Hast du dir mymerge angeschaut ?

Das ist ein wenig praktischer, da es Pakete die sich nicht auf Anhieb installieren lassen in eine Liste schreibt und den emerge Vorgang weiterführt.

Später dann kansnt du dir diese "Sonderfälle" nochmals anschauen und in den Bug-Seiten und Foren stöbern woran es denn nun hakt.

Ansonsten hast du später "Probleme", wenn es dir die Nacht um 3 Uhr abbricht und du es erst 7h später bemerkst ...

----------

## Erdie

 *TheSmallOne wrote:*   

> 
> 
>  Wie ich bereits schrieb' ist mir eigentlich nicht wirklich klar, wieso eine Änderung am Compiler einen Neubau des Systems erfordern sollte. Wie auch immer: Was ist mit einem Update von 3.4 auf 4.1?

 

Ich vermute, daß die Vermischung von Applikationen und libs beim Bau einzelner neuer Programme Konflikte mit dem bestehenden System erzeugen kann, so daß es sicherer ist, alles neu zu bauen.

-Erdie

----------

## tost

 *Quote:*   

> Wie ich bereits schrieb' ist mir eigentlich nicht wirklich klar, wieso eine Änderung am Compiler einen Neubau des Systems erfordern sollte. Wie auch immer: Was ist mit einem Update von 3.4 auf 4.1?

 

Man sollte dies die Autoren des Handbuchs fragen, denn auch ich merkte keinen Unterschied als ich einige Pakte vor wenigen Tagen mit dem neuen GCC installierte.

Hatte selber keine Probleme gehabt, aber ich vertraue mal den kompetenten Developern !

----------

## Erdie

Ich seh das als Sicherheitsmaßname - werden die Binary Pakete mit -e eigentlich auch nochmal emerged?

----------

## tost

Auszug man emerge

 *Quote:*   

>        --emptytree (-e)
> 
>               Reinstalls all world packages and their dependencies to the cur-
> 
>               rent  USE  specifications while differing from the installed set
> ...

 

----------

## TheSmallOne

 *Erdie wrote:*   

> Ich vermute, daß die Vermischung von Applikationen und libs beim Bau einzelner neuer Programme Konflikte mit dem bestehenden System erzeugen kann, so daß es sicherer ist, alles neu zu bauen.

 

Inwiefern? So ein Compiler erzeugt doch bloß Maschinencode. Diese Code ist zwar von den Bibliotheken abhängig, die darin verwendet werden, aber doch nicht mehr vom ursprünglichen Compiler. Dann gäbe es ja fast keinen Unterschied zu Skriptsprachen oder Java mehr.

Und wenn das wirklich so ein Problem wäre, dann dürften doch alle "normalen" Distributionen, bei denen nur Binärpakete verteilt werden überhaupt nicht funktionieren, da alle Programme mit unterschiedlichen Compilern kompiliert wurden (übertrieben gesprochen).

----------

## Erdie

Wo bekommt man mymerge eigentlich her?

EDIT: Habs gefunden, danke  :Smile: 

----------

## Erdie

 *TheSmallOne wrote:*   

> 
> 
> Inwiefern? So ein Compiler erzeugt doch bloß Maschinencode. Diese Code ist zwar von den Bibliotheken abhängig, die darin verwendet werden, aber doch nicht mehr vom ursprünglichen Compiler. Dann gäbe es ja fast keinen Unterschied zu Skriptsprachen oder Java mehr.
> 
> Und wenn das wirklich so ein Problem wäre, dann dürften doch alle "normalen" Distributionen, bei denen nur Binärpakete verteilt werden überhaupt nicht funktionieren, da alle Programme mit unterschiedlichen Compilern kompiliert wurden (übertrieben gesprochen).

 

Ganau diese Probleme bekommst Du bei den alten Distries ja auch, wenn die zu alt werden, geht irgendwann nix mehr. Hatte ich bei meiner alten Suse immer, war mit ein Grund auf Gentoo zu wechseln

-Erdie

----------

## tost

http://penguinslair.dyndns.org/forums/viewtopic.php?t=40&start=0&postdays=0&postorder=asc&highlight=

Bittschön

tztz  :Wink: 

Habe ich mir diese Mühe jetzt umsonst gemacht *hrmpf*  :Very Happy: 

----------

## Erdie

Trotzdem vielen Dank    :Smile: 

-Erdie

----------

## Erdie

Ich habe ein Problem mit mymerge entdeckt:

Wenn man ebuilds hat, die das Einlegen einer CD erfordern, hat man verloren: Der Rechner wartet auf die Eingabe und da ich die CD nicht zur Hand hatte, mußte ich mit CTRL-C abbrechen, was dazu führt, daß keine Liste noch nicht compilierter Pakete erstellt wird. Selbst wenn man die CD hat, wartet der Rechner auf die Eingabe. Wie könnte man diese Pakete (deren Installation sowieso für den gcc irrelevant ist z. B. quake2-data) aus der Liste entfernen? Wahrscheinlich muß man eine Paketliste manuell erstellen. Mymerge müßte in der Lage sein, ein Datei auszulesen in der man die Pakete einträgt.

Mein System ist ziemlich im Eimer, der Konquerer kann keine 32bit Plugins mehr, der bisher funktionierenden Workaround tuts nicht mehr und das Desktop Layout incl fonts hat sich massiv geändert. DVD-rip kann kein xvid mehr erzeugen etc. ... so ganz glücklich bin ich noch nicht. Aber warten wir mal ab wenn alles neu gemerged ist.

-erdie

----------

## nikaya

@Erdie

Welches Profil hast Du denn nun gewählt,gibt ja jetzt 3 davon?

Mit "/usr/portage/profiles/default-linux/x86/2006.1/desktop" macht man eigentlich nichts verkehrt.

Dazu läuft gerade noch ein anderer Thread:

https://forums.gentoo.org/viewtopic-t-493839-start-50.html

----------

## Tyler_Durden

 *Erdie wrote:*   

> ...Wie könnte man diese Pakete (deren Installation sowieso für den gcc irrelevant ist z. B. quake2-data) aus der Liste entfernen? Wahrscheinlich muß man eine Paketliste manuell erstellen...

 

```
emerge -epq world > grosse_package_liste
```

und die "[ebuild N ] " u.ä. noch durch "=" ersetzen und alles rausschmeissen, was nicht nochmal gemerged werden soll (Toolchain-Komponnenten z.B.)

 *Erdie wrote:*   

> Mymerge müßte in der Lage sein, ein Datei auszulesen in der man die Pakete einträgt.

 

```
mymerge -a `cat grosse_package_liste`
```

----------

## Erdie

 *Doe John wrote:*   

> @Erdie
> 
> Welches Profil hast Du denn nun gewählt,gibt ja jetzt 3 davon?
> 
> Mit "/usr/portage/profiles/default-linux/x86/2006.1/desktop" macht man eigentlich nichts verkehrt.
> ...

 

@Doe John:

ich habe 2006.1 gewählt. Ich probier das mal mit der Paketliste aus. @Tyler: Danke für den Tipp!

-erdie

EDIT: Sorry, ich meinte 2006.1/desktop, war mit nicht bewußt, daß das verschiedene Profile sind

----------

## tuxian

@Erdie: Ich würde die useflags mal mit "emerge -puD --newuse world" überprüfen.

Hatte anfangs nämlich auch 2006.1 statt 2006.1/desktop ausgewählt und da sind dann viel weniger use-flags aktiviert.

 *Quote:*   

> Please note that the alpha/2006.1, amd64/2006.1 and x86/2006.1 profiles are very minimal. They all have a desktop sub-profile that is likely what you want on a desktop machine.

 

Steht hier: http://www.gentoo.org/doc/en/gentoo-upgrading.xml

----------

