Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Systemumstellung auf gcc 3.4(.4)
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2, 3, 4, 5, 6  Next  
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
stiwi
Apprentice
Apprentice


Joined: 20 Mar 2003
Posts: 266
Location: hamburg - germany

PostPosted: Wed Dec 07, 2005 11:39 pm    Post subject: Reply with quote

mal ne andere frage. wenn ich auf gcc3.4.4 update und dann emerge -e system und revde-rebuild mache. kann ich mir irgendwie anzeigen lassen welche eventuellen binärpackete noch auf die alte lib verlinken? sonst brauche ich die alte lib ja nicht extra installieren. danke
Back to top
View user's profile Send private message
Rüpel
Guru
Guru


Joined: 06 Nov 2002
Posts: 316
Location: Berlin/Germany

PostPosted: Thu Dec 08, 2005 9:17 am    Post subject: Reply with quote

Toll. Super. Bei mir ist das Updaten der 422 Pakete mittendrin an tse3 gescheitert.

Da gibt es seit Mai :!: einen Patch im Bugzilla und weder 0.2.7 noch 0.3.0-r1 lassen sich mit arts-3.4.1-r2 und gcc-3.4.4 kompilieren.

Gibts da überhaupt noch einen Maintainer? :evil:

...oder mach ich was falsch?

*edit*
Ha! Ich habs. Der Trick ist, dass nicht nur arts eine Abhängigkeit ist (wie das im ebuild von tse3 steht), sondern auch kdemultimedia-arts - wenn das vorher mit dem neuen Compiler gebaut wurde, dann läuft auch tse3 durch.

Ungepflegte ebuilds sind teilweise eine echte Last! :?
_________________
:wq
Back to top
View user's profile Send private message
Rüpel
Guru
Guru


Joined: 06 Nov 2002
Posts: 316
Location: Berlin/Germany

PostPosted: Thu Dec 08, 2005 1:42 pm    Post subject: Reply with quote

Da ja ein emerge --resume bei mir nicht mehr in Frage kommt, ich aber natürlich nicht nochmal von vorne anfangen will, hab ich mir was überlegt. Ist ein Hack und bedarf einiger Arbeit, um das zu verallgemeinern, aber vielleicht hilft das ja jemandem.

Also Problem: emerge -e world ist irgendwann mittendrin abgebrochen, man fixt das Problem, installiert das problematische Paket erneut und will dann mit dem emerge -e world weitermachen. Geht nicht. Weil --resume sich immer nur aus das letzte emerge bezieht. :(

Wer in der /etc/make.conf PORT_LOGDIR=/var/log/portage gesetzt hatte (und das Verzeichnis schonmal angelegt hatte) - vor dem ersten emerge -e world versteht sich - der weiß ja, was als letztes übersetzt wurde. Man muss nur die Infos aus dem logdir rauspopeln.

Ich hab mir alle von emerge -e world installierten Pakete in eine Datei geschrieben, zum Beispiel mit:
Code:
emerge -ep --nocolor world | cut -d ' ' -f8 | grep '/' > packages

Das will er also alles installieren.

Jetzt kommt Handarbeit. Ich suche mir im /var/log/portage Verzeichnis die Log-Datei des ersten Pakets meines ersten emerge -e world Aufrufs (der abgebrochene). Bei mir fängt es mit sys-devel/patch an. Die Logdatei heisst in meinem Fall: 2879-patch-2.5.9.log. Also alle Pakete, die danach installiert wurden, brauch ich nicht nochmal übersetzen. Mit diesem Wissen bearbeite ich das folgende Shellskript:
Code:
#!/bin/sh
for i in $(cat packages); do
  p=$(echo $i | cut -d '/' -f2)
  f=$(find /var/log/portage/ -newer /var/log/portage/2879-patch-2.5.9.log | grep $p)
  if [ -z "$f" ]
  then
    emerge =$i || exit 1;
  fi
done
Die Referenzdatei an der entsprechenden Stelle eintragen.
Nicht besonders toll, nicht irgendwie super aromatisch, aber es läuft. ^^

Gibt bestimmt tausend andere und bessere Ansätze, aber wenigstens muss ich meine ersten 120 Pakete (darunter so Kleinigkeiten wie gcc, glibc und qt) nicht nochmal installieren. :roll:
_________________
:wq
Back to top
View user's profile Send private message
tuxian
l33t
l33t


Joined: 26 Jan 2004
Posts: 766
Location: Austria

PostPosted: Fri Dec 09, 2005 9:28 am    Post subject: Reply with quote

Wann genau kann ich CFLAGS wie -march=pentium-m setzen (bei Methode 2)?

Schon vor "emerge -e world"?
Sonst hab ich ja vorerst keinen Nutzen und müsste dann nochmals ein "emerge -e world" machen!
Back to top
View user's profile Send private message
SinoTech
Advocate
Advocate


Joined: 20 Mar 2004
Posts: 2579
Location: Neunkirchen / Saarland / Germany

PostPosted: Fri Dec 09, 2005 11:05 am    Post subject: Reply with quote

tuxian wrote:
Wann genau kann ich CFLAGS wie -march=pentium-m setzen (bei Methode 2)?

Schon vor "emerge -e world"?
Sonst hab ich ja vorerst keinen Nutzen und müsste dann nochmals ein "emerge -e world" machen!

Ersetze das "emerge -e system" durch
Code:

$ emerge glibc binutils && emerge gcc glibc binutils

Damit hast du eine konsitente Toolchain. Danach kannst du den alten gcc löschen
Code:

$ emerge -C =gcc-<version>

Und jetzt kannst du die neuen CFLAGS setzen und dein "emerge -e world" machen.

WICHTIG:
Mache kein "emerge -C gcc" (Also ohne Versionsnummer) da dabei auch der neue gcc gelöscht wird. Also schön die Versionsnummer dazu schreiben !!!

Mfg

Sino
Back to top
View user's profile Send private message
tuxian
l33t
l33t


Joined: 26 Jan 2004
Posts: 766
Location: Austria

PostPosted: Fri Dec 09, 2005 1:18 pm    Post subject: Reply with quote

Okay danke für die schnelle Info!
Back to top
View user's profile Send private message
AntonWert
Apprentice
Apprentice


Joined: 06 Mar 2005
Posts: 177

PostPosted: Mon Dec 12, 2005 4:24 pm    Post subject: Re: Systemumstellung auf gcc 3.4(.4) Reply with quote

amne wrote:
Warnung: Bitte jetzt noch keine neuen, nur von gcc 3.4 unterstützten CFLAGS wie -march=pentium-m setzen, falls nocheinmal gcc 3.3.6 übersetzt wird geht das nämlich daneben.


Was ist mit meinen "alten" CFLAGS, muss ich die auskommentieren oder darf ich die lassen?
Back to top
View user's profile Send private message
amne
Bodhisattva
Bodhisattva


Joined: 17 Nov 2002
Posts: 6378
Location: Graz / EU

PostPosted: Mon Dec 12, 2005 5:59 pm    Post subject: Re: Systemumstellung auf gcc 3.4(.4) Reply with quote

AntonWert wrote:
Was ist mit meinen "alten" CFLAGS, muss ich die auskommentieren oder darf ich die lassen?

Natürlich darfst du die behalten. :D
_________________
Dinosaur week! (Ok, this thread is so last week)
Back to top
View user's profile Send private message
tuxian
l33t
l33t


Joined: 26 Jan 2004
Posts: 766
Location: Austria

PostPosted: Mon Dec 12, 2005 5:59 pm    Post subject: Reply with quote

Die kannst du auf jeden Fall so lassen wie sie sind!
Back to top
View user's profile Send private message
SinoTech
Advocate
Advocate


Joined: 20 Mar 2004
Posts: 2579
Location: Neunkirchen / Saarland / Germany

PostPosted: Mon Dec 12, 2005 5:59 pm    Post subject: Re: Systemumstellung auf gcc 3.4(.4) Reply with quote

AntonWert wrote:
amne wrote:
Warnung: Bitte jetzt noch keine neuen, nur von gcc 3.4 unterstützten CFLAGS wie -march=pentium-m setzen, falls nocheinmal gcc 3.3.6 übersetzt wird geht das nämlich daneben.


Was ist mit meinen "alten" CFLAGS, muss ich die auskommentieren oder darf ich die lassen?

Die darfst du lassen da der neue gcc Abwärtskompatibel ist.

Mfg

Sino

EDIT:
Bähh, zu spät :(


Last edited by SinoTech on Mon Dec 12, 2005 7:16 pm; edited 1 time in total
Back to top
View user's profile Send private message
amne
Bodhisattva
Bodhisattva


Joined: 17 Nov 2002
Posts: 6378
Location: Graz / EU

PostPosted: Mon Dec 12, 2005 6:28 pm    Post subject: Reply with quote

tuxian, SinoTech: Zu langsam. Ätsch! :P
_________________
Dinosaur week! (Ok, this thread is so last week)
Back to top
View user's profile Send private message
SinoTech
Advocate
Advocate


Joined: 20 Mar 2004
Posts: 2579
Location: Neunkirchen / Saarland / Germany

PostPosted: Mon Dec 12, 2005 7:18 pm    Post subject: Reply with quote

amne wrote:
tuxian, SinoTech: Zu langsam. Ätsch! :P

Fast zeitgleich drei antworten ... damit rechnet natürlich keiner ;)

Mfg

Sino
Back to top
View user's profile Send private message
mastacloak
Apprentice
Apprentice


Joined: 01 Aug 2004
Posts: 174
Location: Berlin / Germany

PostPosted: Tue Dec 13, 2005 10:38 pm    Post subject: gcc-Wechsel und ccache Reply with quote

Heyho,

wenn ich die Funktionsweise von ccache richtig verstanden habe, dann kann ich
doch vor dem Wechsel auf gcc-3.4.4 mein ccache-Verzeichnis vollständig löschen?
Oder bringen mir die vom gcc-3.3.6 gecachten Anfragen noch irgendetwas?
Und danach löschen wäre ja blöd, dann sind die gecachten gcc-3.4.4 Sachen ja auch weg.

Und wenn ich diese Zeilen
Quote:
The basic idea is to detect when you are compiling exactly the same code a 2nd time and use the previously compiled output. You detect that it is the same code by forming a hash of:

* the pre-processor output from running the compiler with -E
* the command line options
* the real compilers size and modification time
* any stderr output generated by the compiler

These are hashed using md4 (a strong hash) and a cache file is formed based on that hash result. When the same compilation is done a second time ccache is able to supply the correct compiler output (including all warnings etc) from the cache.

aus [1] richtig übersetze, dann ist es sinnvoll vor jedem Compilerwechsel und
sei es nur von gcc-x.y.z auf gcc-x.y.z-r1 das Cache-Verzeichnis zu löschen, oder?

[1] http://ccache.samba.org/ccache/ccache-man.html
Back to top
View user's profile Send private message
ixo
Guru
Guru


Joined: 09 Jul 2005
Posts: 375

PostPosted: Mon Dec 19, 2005 5:44 pm    Post subject: tierische Probleme beim Upgrade auf gcc 3.4.4 Reply with quote

Hallo,

ich habe auf gcc 3.4.4 wie hier beschreiben umgegestellt. Im großen Ganzen ist das auch gut gegangen (ein paar Pakete wollten sich nicht übersetzen lassen, die habe ich gelöscht, weil es Programme waren, die ich nicht wirklich brauchte).

Die einzige zusätzliche Änderung, die ich vorgenommen habe, war:
Code:
CFLAGS="-O2 -mcpu=athlon-4 -fomit-frame-pointer -ffast-math -pipe"

auf
Code:
CFLAGS="-O2 -march=athlon-4 -fomit-frame-pointer -ffast-math -pipe"

geändert, weil der Compiler dann glücklicher war. Mein Rechner ist ein:
Code:
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 3
model name      : AMD Duron(tm)
stepping        : 1
cpu MHz         : 801.485
cache size      : 64 KB

also nicht gerade das schnellste (keine cpu Bugs bei /proc/cpuinfo).

Nach der Installation liefer alle möglichen Programme nicht mehr. Vor ein paar Tagen habe ich dann nochmals ein Update (emerge --update --deep world) gefahren, bei dem z.B. kde auf Version 3.4.3 neu compiliert wurde. Beim Einloggen stürzen folgende Programme mit signal 4 (SIGILL) ab: KCMInit, KWin, kicker, konqueror, firefox.
Wenn ich top starten will, bekomme ich Illegal instruction.
Ich habe den Verdacht, dass es an libpthread liegt, weil die bei den kde-Fehlermeldungen immer 'mal wieder auftaucht. Welches Packet müsste man neu übersetzen, um libpthread neu zu erzeugen (sys-libs/glibc habe ich auf Verdacht schon 'mal neu übersetzt, hat aber gebracht.) Allerdings wurde libpthread auch neu angelegt (ls -l), wurde also wohl auch neu übersetzt!

Weiß jemand Rat!?

Ach ja, auf meinem Server hat die Umstellung nach derselben Vorgehensweise problemlos geklappt (da läuft z.B. auch top problemlos).
Back to top
View user's profile Send private message
SinoTech
Advocate
Advocate


Joined: 20 Mar 2004
Posts: 2579
Location: Neunkirchen / Saarland / Germany

PostPosted: Mon Dec 19, 2005 7:47 pm    Post subject: Re: tierische Probleme beim Upgrade auf gcc 3.4.4 Reply with quote

ixo wrote:

[...]
Wenn ich top starten will, bekomme ich Illegal instruction.
[...]

Evtl. ein falscher Eintrag bei den CFlags? Probier mal:
Code:

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-tbird -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

Siehe auch: Safe_Cflags

Mfg

Sino
Back to top
View user's profile Send private message
amne
Bodhisattva
Bodhisattva


Joined: 17 Nov 2002
Posts: 6378
Location: Graz / EU

PostPosted: Mon Dec 19, 2005 8:33 pm    Post subject: Re: tierische Probleme beim Upgrade auf gcc 3.4.4 Reply with quote

ixo wrote:

Die einzige zusätzliche Änderung, die ich vorgenommen habe, war:
Code:
CFLAGS="-O2 -mcpu=athlon-4 -fomit-frame-pointer -ffast-math -pipe"

auf
Code:
CFLAGS="-O2 -march=athlon-4 -fomit-frame-pointer -ffast-math -pipe"

geändert, weil der Compiler dann glücklicher war. Mein Rechner ist ein:

Stimmt, mcpu geht nicht mehr, das habe ich vorne hinzugefügt.

ixo wrote:

Code:
model name      : AMD Duron(tm)
stepping        : 1
cpu MHz         : 801.485


So ein Ding hatte ich auch (bis das Mainboard abgeraucht ist), ich hatte immer -march=athlon.
man gcc wrote:
athlon-4, athlon-xp, athlon-mp
Improved AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and full SSE instruction set support.

Taucht bei #grep flags /proc/cpuinfo auch wirklich sse in den Flags auf? Kann ich mir nicht vorstellen. Falls ich recht habe, nimm -march=athlon. Und tu das -ffast-math weg, das bringt nix ausser Ärger (siehe auch hier).
Dann würde ich glibc und gcc neu bauen und die defekten Pakete neu mergen.
_________________
Dinosaur week! (Ok, this thread is so last week)
Back to top
View user's profile Send private message
ixo
Guru
Guru


Joined: 09 Jul 2005
Posts: 375

PostPosted: Mon Dec 19, 2005 8:49 pm    Post subject: Reply with quote

Code:
# grep flags /proc/cpuinfo
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow


liefert also tatsächlich kein sse

Komisch nur, dass es vorher nie irgendwelche Probleme gab :?:

Naja, dann werde ich 'mal wieder einige Tage (4-5) kompilieren :cry:

Jedenfalls vielen Dank für die Tipps, irgend so etwas hatte ich mir fast gedacht.
Back to top
View user's profile Send private message
amne
Bodhisattva
Bodhisattva


Joined: 17 Nov 2002
Posts: 6378
Location: Graz / EU

PostPosted: Mon Dec 19, 2005 8:58 pm    Post subject: Reply with quote

Ja, dann würde ich es einmal mit athlon (bzw athlon-tbird wie SinoTech meinte) versuchen.

Vermutlich optimiert gcc 3.3.x nicht so gut, wodurch weniger bis keine Codefragmente entstehen, die Probleme verursachen.
_________________
Dinosaur week! (Ok, this thread is so last week)
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Thu Jan 05, 2006 7:54 pm    Post subject: Reply with quote

Was ich noch nicht ganz verstehe, meine alsa-driver mögen mich nicht mehr. Ausgaben dmesg:
Code:
snd_seq_device: version magic '2.6.11-gentoo-r6 preempt PENTIUMIII 4KSTACKS gcc-3.3' should be '2.6.11-gentoo-r6 preempt PENTIUMIII 4KSTACKS gcc-3.4'
snd_timer: version magic '2.6.11-gentoo-r6 preempt PENTIUMIII 4KSTACKS gcc-3.3' should be '2.6.11-gentoo-r6 preempt PENTIUMIII 4KSTACKS gcc-3.4'

Und das obwohl Kernel als auch alsa-driver mit dem 3.4er kompiliert wurden. (und auch von dem Kernel gebootet) Was habe ich übersehen?
Back to top
View user's profile Send private message
amne
Bodhisattva
Bodhisattva


Joined: 17 Nov 2002
Posts: 6378
Location: Graz / EU

PostPosted: Thu Jan 05, 2006 11:07 pm    Post subject: Reply with quote

Symlink in /usr/src stimmt? Versuch mal make clean vor dem Kernel kompilieren (war bei mir nicht notwendig).
_________________
Dinosaur week! (Ok, this thread is so last week)
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Fri Jan 06, 2006 6:14 am    Post subject: Reply with quote

Symlink paßt und ein make mrproper hat mir vorher alles gesäubert. (denke ich zumindest)

Und der richtige gcc wird auch verwendet (der einzige auf dem System)
Code:
# gcc-config -L
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4
Back to top
View user's profile Send private message
SinoTech
Advocate
Advocate


Joined: 20 Mar 2004
Posts: 2579
Location: Neunkirchen / Saarland / Germany

PostPosted: Fri Jan 06, 2006 8:00 am    Post subject: Reply with quote

Also der Kernel scheint korrekt kompiliert zu sein. Was Probleme macht sind die Alsa-Module, da die aus irgend einem Grund noch mit dem alten gcc-3.3.X kompiliert wurden.
Probier mal ein
Code:

$ emerge -c alsa-driver
$ emerge alsa-driver


Mfg

Sino
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Fri Jan 06, 2006 1:12 pm    Post subject: Reply with quote

Bringt auch nichts. Ich habe sogar die Hardcore-Variante probiert und alles in /lib/modules/`uname -r`/alsa-driver/ gelöscht und alsa-driver neu gemergt. Dann kam mir die Idee das evt. distcc daran schuld sein könnte. Also um sicher zu gehen distcc komplett entfernt und alsa-driver neu installiert. Wieder das gleiche :-( Auch remergt von alsa-utils alsa-headers alsa-oss hat nichts gebracht. Was ich mich frage woher er den gcc-3.3 nehmen will, der ist gar nicht mehr installiert!

Code:
# equery l gcc
[ Searching for package 'gcc' in all categories among: ]
 * installed packages
[I--] [  ] sys-devel/gcc-3.4.4-r1 (3.4)
[I--] [M ] sys-devel/gcc-config-1.3.12-r4 (0)
Back to top
View user's profile Send private message
SinoTech
Advocate
Advocate


Joined: 20 Mar 2004
Posts: 2579
Location: Neunkirchen / Saarland / Germany

PostPosted: Fri Jan 06, 2006 1:29 pm    Post subject: Reply with quote

Ganz sicher das er die richtigen Module lädt? Nach dem löschen von
Code:

/lib/modules/`uname -r`/alsa-driver/

sollte das laden der Alsa-Module eigentlich nicht funktionieren. Falls doch, steckt da irgendwo der Fehler.
Viel mehr fällt mir dazu im Moment leider auch nicht ein :(.

Mfg

Sino
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Fri Jan 06, 2006 1:34 pm    Post subject: Reply with quote

Nein, nein, das löschen war nur dafür gedacht das ich auch wirklich sicherstelle das beim emerge die neuen Files da landen. Ansonsten denke ich bisher es liegt daran das ich Alternative 1 gewählt habe und noch kein emerge -e system|world gemacht habe. revdep-rebuild läuft gerade nochmal, ich vemute da wurde was übersehen.

EDIT: revdep-rebuild bringt nix ...
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
Goto page Previous  1, 2, 3, 4, 5, 6  Next
Page 4 of 6

 
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