# i386-pc-linux-gnu<=>i686-pc-linux-gnu switching? Und H

## dR0PS

Hallo zusammen!

Erstmal hallo an alle!

Ich bin Gentoo Neuling und muss sagen das die Installation auf meinem AMD64-3500auf A8V und auf meinem AthlonXP3200

auf A7N8X bisher reibungslos lief. Naja bis auf mein A7N8X-Board, wo ich den sound noch nicht hinbekommen hab. 

Alsa und i810 oder doch nvsound/oss. keine Ahnung aber auch nicht allzu wichtig.

Vielmehr ist mir folgendes aufgefallen:

Ich habe leider ausversehen mein AthlonXP-System mit diesen Make-Opts gebaut. (Nachdem mein AMD64 gut lief war ich wohl doch etwas vorlaut/schnell  :Wink: 

```
CFLAGS="-march=athlon-xp -O2 -pipe

CHOST="i386-pc-linux-gnu"
```

Ich denke das der CHOST-Eintrag wohl in dieser Richtung besser gewesen währe.

```
CFLAGS="-march=athlon-xp -O2 -pipe

CHOST="i686-pc-linux-gnu"
```

Ist es jetzt eigentlich sehr nachteilig das System im i386 native Mode laufen zu haben oder spielt es nur eine unwesentliche Rolle ?

Bzw. könnte ich mit dem einfachen Umändern des Eintrags einfach so wechseln und mit einem freundlichen

```
//EDIT: emerge -eD world
```

alles neu kompilieren ? Vielleicht in langsameren schritten erst die compiler und dann nach reboot den rest des Systems ?

Ich bin eigentlich sonst soweit fertig mit der "Box" und will jetzt nicht zu viel riskieren für ein wenig Performancezugewinn  :Wink: 

Danke an euch!

Greetz, dR0PS

----------

## inode77

 *Quote:*   

> Bzw. könnte ich mit dem einfachen Umändern des Eintrags einfach so wechseln und mit einem freundlichen
> 
> Code:
> 
> emerge --Davu
> ...

 

Ein freundliches 

```
emerge -eD world
```

kompiliert alles installierte neu, nicht so dein Kommando.

----------

## dR0PS

Oh, richtig.

Aber geht es ohne Probleme zu bekommen? Sind zwischenschritte erforderlich?

Hat das schonmal jemand gemacht ? Ist es das Risiko wert ?

Ich hab da so leichte Bauchschmerzen bei... 

Thanx

----------

## inode77

Sollte ohne Bauchschmerzen von statten gehen wenn das ganze ungefähr so aussieht:

```
emerge glibc binutils gcc portage && emerge -eD world
```

Toolchain neu kompilieren und dann mit der korrekten toolchain das ganze neu emergen.

----------

## dR0PS

Okay, die Kiste läuft....

So in der Art hab ichs mir auch gedacht... aber sicher ist...

Ich meld mich wenn's Probs gibt  :Wink: 

GN8!

Und Danke!

----------

## leo2k

würde mich auch interessieren ob das gut ging.

habe hier nämlich eine stage 3 installation i386, welche ich gern auf mein p4 notebook rüber kopieren würde.

leo

----------

## dR0PS

Yo, läuft bisher alles problemlos...

Irgendwo bei den Kernel-Headern blieb er stehen.

Nach reboot macht er jetz aber weiter "emerge -eD".

Sind noch so ca. 400 Packete  :Shocked: 

Die Kernel-Header sind jetzt auch etwas später drann, 

mal abwarten ob er wegen der anderen Reihenfolge der Abhängigkeiten bei den Headern durchkommt  :Wink: 

bis später, (morgen?)

dR0PS

@leo2k: sieht bisher alles ganz locker aus, der gcc hat's überlebt, da kann der Rest jetzt nicht mehr so kritisch sein  :Rolling Eyes: 

----------

## schachti

 *dR0PS wrote:*   

> 
> 
> Ich denke das der CHOST-Eintrag wohl in dieser Richtung besser gewesen währe.
> 
> ```
> ...

 

Wenn Du schon neu kompilierst, würde ich zu den CFLAGS noch "-fomit-frame-pointer" hinzufügen. "-O3" statt "-O2" wäre evtl. eine Überlegung wert, liefert aber nicht in jedem Fall "besseren" Code.

 *dR0PS wrote:*   

> 
> 
> Ist es jetzt eigentlich sehr nachteilig das System im i386 native Mode laufen zu haben oder spielt es nur eine unwesentliche Rolle ?
> 
> 

 

Ich denke, das Unwort "suboptimal" trifft es ganz gut.  :Wink: 

 *dR0PS wrote:*   

> 
> 
> Ich bin eigentlich sonst soweit fertig mit der "Box" und will jetzt nicht zu viel riskieren für ein wenig Performancezugewinn 
> 
> 

 

Mit geändertem CHOST-Eintrag habe ich es noch nicht probiert, aber auf 3 unterschiedlichen Rechnern bereits mit modifizierten CFLAGS und modifizierten USE-Variablen - hat bisher immer problemlos funktioniert.

----------

## schachti

 *dR0PS wrote:*   

> 
> 
> Irgendwo bei den Kernel-Headern blieb er stehen.
> 
> Nach reboot macht er jetz aber weiter "emerge -eD".
> ...

 

emerge --resume spart Dir in einem solchen Fall evtl. viel Zeit.  :Wink: 

----------

## Anarcho

 *schachti wrote:*   

>  *dR0PS wrote:*   
> 
> Ich denke das der CHOST-Eintrag wohl in dieser Richtung besser gewesen währe.
> 
> ```
> ...

 

Also das ist quatsch!

1. -fomit-frame-pointer ist bereits in -O1 drinne, also auch in -O2 und -O3

2. Ist in den allermeisten Fällen -O3 nicht zu empfehlen, da das Binary aufgebläht wird. Ich würde -O2 vorziehen.

-Os zu testen wäre vielleicht mal einen versuch wert. Dies beinhaltet alle optimierungen von -O2 ausser jene die das Binary vergrössern, also auf grösse optimiert. Dadurch sollen sich geringere Ladezeiten ergeben und manchmal sogar allgemeine geschwindigkeitsvorteile, da es besser in den Cache passt.

----------

## slick

 *dR0PS wrote:*   

> Naja bis auf mein A7N8X-Board, wo ich den sound noch nicht hinbekommen hab. 
> 
> Alsa und i810 oder doch nvsound/oss. keine Ahnung aber auch nicht allzu wichtig.

 

Sound ist nicht das Problem. Habe das gleiche Board, läuft tadellos.

Also erstmal in der make.conf -oss und alsa setzen. ggf. emerge --newuse world

Dann im (2.6er) Kernel alsa NICHT aktivieren, aber kernel modules-support (ok, Kernel hat zwar Support für die i810, aber so gibt IMHO am wenigsten Probleme und die ALSA-Driver sollen auch aktueller sein)

Dann in der make.conf ergänzen:

```
ALSA_CARDS="intel8x0"
```

Dann emerge alsa-driver und den Rest gemäß ALSA-Howto ab Punkt 2.3 (ohne oss in dem Fall)

----------

## schachti

 *Anarcho wrote:*   

> 
> 
> Also das ist quatsch!
> 
> 1. -fomit-frame-pointer ist bereits in -O1 drinne, also auch in -O2 und -O3
> ...

 

Bevor Du Dich so abwertend über gutgemeinte Tipps ausläßt, informiere Dich bitte. Aus der manpage von gcc:

 *man gcc wrote:*   

> 
> 
> -O also turns on -fomit-frame-pointer on machines where doing so does not interfere with debugging.
> 
> 

 

Lies mal das hier, bevor Du dumme Sprüche machst: http://linuxreviews.org/howtos/compiling/. Und da der Großteil der gentoo-User x86 Architekturen nutzt, ist Deine Aussage nicht nur unverschämt, sondern auch falsch.

 *Anarcho wrote:*   

> 
> 
> 2. Ist in den allermeisten Fällen -O3 nicht zu empfehlen, da das Binary aufgebläht wird. Ich würde -O2 vorziehen.
> 
> 

 

Deswegen schrieb ich auch:

 *schachti wrote:*   

> 
> 
> "-O3" statt "-O2" wäre evtl. eine Überlegung wert, liefert aber nicht in jedem Fall "besseren" Code.
> 
> 

 

----------

## dR0PS

...Back onTopic:

Der Fehler bei den linux-headern lag daran, das ich noch nicht auf den neuen gcc geswitch habe also:

```
gcc-config i686-pc-linux-gnu-3.4.3-20050110 && source /etc/profile
```

ich denke der läuft jetzt durch...

Danke nochmals.

dR0PS

<Closed>

// Architekturwechsel //

----------

## Anarcho

 *schachti wrote:*   

>  *Anarcho wrote:*   
> 
> Also das ist quatsch!
> 
> 1. -fomit-frame-pointer ist bereits in -O1 drinne, also auch in -O2 und -O3
> ...

 

Hehe,

beruhige dich mal. War doch nicht böse gemeint. Heut nen schlechten Tag gehabt oder was? Nimm mal Urlaub, ist nicht gut fürs Herz...

Ich bin davon ausgegangen das es bei x86 aktiviert wird, sorry. Lasse mich aber gerne eines besseren belehren, so in diesem Fall.

Danke für die Info!

----------

## schachti

OK, nichts für ungut, Du hast Recht, war kein guter Tag heute, ich habe wohl etwas überreagiert und in Deinen Post etwas hineininterpretiert, was Du nicht so gemeint hast, sorry.

----------

## leo2k

hi,

habe bei mir auch auf i686 umgestellt, gcc glibc binutils und portage neu gemerged. danach mit gcc-config auf den i686 umgestellt.

jetzt lasse ich gerade emerge -eD world laufen. bei dem paket groff war jetzt der erste fehler. er hat gemeint er kann den i386 compiler nicht finden. mich verwirrt warum er den überhaupt sucht  :Shocked: 

naja, ich hab jetzt mal ein env-update && source /etc/profile gemacht. hat aber nichts genützt :/ . dann habe ich halt weiter gemacht mit emerge -eD --resume --skipfirst world, da ich glaube dass groff nicht allzu wichtig ist.

was meint ihr?

leo

----------

## leo2k

hi,

inzwischen ist der fehler vermehrt aufgetreten:

```
gcc-config error: Could not run/locate "i386-pc-linux-gnu-gcc"
```

was soll ich jetzt machen?

leo

----------

## leo2k

so. ich hab das prob scheinbar mit 

```
binutils-config --x86
```

gelöst. 

jedenfalls ist er jetzt die nacht durch gelaufen  :Smile: 

48/502  :Shocked:   :Smile: 

leo

----------

## leo2k

problem leider doch nicht gelöst :/

der fehler kommt doch wieder.

jetzt merge ich gerade gcc glibc portage und binutils noch einmal neu. habe gelesen man soll das zweimal machen. vll hilft ja das.

und dann werde ich sehen, wies aussieht

leo

----------

## schachti

Das hört sich fast so an, als ob Du mit gcc-config nicht auf den richtigen Compiler umgestellt hast - ist vielleicht beim Aufruf von gcc-config unbemerkt was schiefgelaufen?

----------

## leo2k

scheinbar ist garnix schief gelaufen.

ich bin gerade total verwirrt. ich mache den merge immer in nem screen. jetzt scheint es so, dass, als ich heut morgen mit screen -x attached hab, den alten screen von gestern bekommen hab, bei dem der fehler war. 

mir ist jetzt nämlich aufgefallen, dass der rechner die ganze zeit ausgelastet ist.

dann hab ich den screen geschlossen und wieder attached, und siehe da, der von gestern abend ist wieder da und ist inzwischen bei paket nr. 60.

ob mich das jetzt freuen soll, nur verwirren, oder was auch immer, ich weis es nicht.

jedenfalls scheint es im moment doch zu laufen.

ich melde mich wieder bei problemen.

gruß leo

----------

## leo2k

und er läuft immernoch  :Smile: 

219/500  :Confused: 

leo

----------

## leo2k

7 tage compiliert die kiste inzwischen am stück. außer ein paar kleinen problemchen ging bisher alles glatt.

200 pakete habe ich ca noch vor mir. 

gibt es irgend eine möglichkeit auf dem system nach binaries zu suchen, welche noch auf i386 compiliert wurden um diese gezielt zu remergen?

leo

----------

