PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Glibc Upgrade from source



shevegen
10.02.08, 02:22
Hi,
zuerst einige Punkte.

- Ich bin kein Noob
- Es geht hier um Source upgrade, also bitte nicht etwas mit Distributionen vorschlagen.
- Ich verwende gcc-4.2.2 zur Zeit, alles kompiliert auch recht gut. Die glibc meiner Distribution ist 2.5
- Ich will auf glibc 2.5.1 upgraden.
- Ich habe folgende Programme statisch kompiliert:
make, tar, m4, binutils, coreutils, busybox, ncurses, bash, bzip, gawk, nano, sed.

Glibc ist kompiliert in:
/Programs/Glibc/2.5.1

Es fehlen noch symlinks, aber wie entferne ich die alte glibc und aktualisiere auf die neue Glibc?
Das ist der Punkt bei dem ich noch scheitere.
Das Problem ist irgendwie, ich werde die alten libraries in /lib nicht so einfach los.

Wenn wer weiss wie ich die /lib los werde (symlinks zur neuen Glibc sind ok), bitte her damit.
Für ALLE Hilfen bin ich dankbar, an dem Problem sitze ich schon seit Monaten, und Hilfe zu erhalten ist sehr schwer weil die meisten sagen, das man eine Distribution verwenden soll,
die sich dann darum kümmert, anstatt das Wissen über den Vorgang zu vermitteln.

Aqualung
10.02.08, 11:59
Endlich mal jemand, der sein System smoooth upgraded ...

Wenns Dir hilft:

ich habe meiner Kiste per



cd /
rpm2cpio glibc-2.4xxxx.rpm| cpio -id


eine neue glibc spendiert, rechnend damit, dass das Ding richtig vor die Wand fährt (Backup vorhanden). Und das witzige: Weder Absturz, noch sonstige Probleme. Allerdings habe ich meinen Kernel dann sofort gegen die neue neue glibc kompiliert und auch meinen gcc neu gebaut. Ab und an meckern dann noch uralt-Programme, die werden dann eben bei Bedarf neu übersetzt.

BTW: Die obige Kombi aus rpm2cpio und cpio ist eine ganz schöne Möglichkeit, ein rpm zu "installieren", wenn die Paketdatenbank partout die Zusammenarbeit verweigert. Natürlich macht der veranwortungsvolle Admin sowas nieee :rolleyes:...

Den Link http://www.linux-sxs.org/upgrading/glibc.html kennst Du sicherlich schon, passt auch nur leidlich zu Deinem Prob.

Gruß Aqualung

derguteweka
10.02.08, 14:15
Moin,


Allerdings habe ich meinen Kernel dann sofort gegen die neue neue glibc kompiliert und auch meinen gcc neu gebaut.

Seit wann oder unter welcher Distribution ist denn der Kernel von der glibc abhaengig?
Zum Originalproblem:
Ueblicherweise entfernst du selbstcompilierte Software mit "make uninstall" und installierst Software mit "make install".
Hast du auch init statisch gebaut oder verwendest busybox als init, nur fuer den Fall der Faelle...
Und warum macht man ueberhaupt so einen Unsinn, die glibc upzudaten? Wenns soweit ist, dann sollte man imho sein ganzes System neu aufsetzen. Alles andere halte ich fuer ueble Flickschusterei.

Gruss
WK

TheGhost
10.02.08, 15:47
...
Und warum macht man ueberhaupt so einen Unsinn, die glibc upzudaten? Wenns soweit ist, dann sollte man imho sein ganzes System neu aufsetzen. Alles andere halte ich fuer ueble Flickschusterei.

Gruss
WK

Hmm, ganz entschieden "Nö"! :D
Das sollte wohl in erster Linie eine Frage des verwendeten Paketmanagements sein.
Das LFS hier hat mittlerweile 3 oder 4 glibc-Updates hinter sich ohne das es auch nur zu einem Problem gekommen ist.
Vorheriges Sicherungs-Backup ist natürlich immer Pflicht!
Meinst Du wirklich das Distris sich hinhocken und bei jedem glibc-Update alles neu aufsetzen? Ich denke nein...

Zum Thema:
Schau mal bei Slackware in die Buildscripte der glibc, P.V. verwendet ein Script das aus den relevanten Dateien Temporäre erstellt, alles gegen diese linkt was wichtig ist und nach erfolgter Installation alles wieder zurück linkt (zumindest so in etwa habe ich das in Erinnerung).
Vielleicht hilft das ja.

Gruss

shevegen
10.02.08, 20:41
Schau mal bei Slackware in die Buildscripte der glibc, P.V. verwendet ein Script das aus den relevanten Dateien Temporäre erstellt, alles gegen diese linkt was wichtig ist und nach erfolgter Installation alles wieder zurück linkt (zumindest so in etwa habe ich das in Erinnerung).
Vielleicht hilft das ja.
Hallo,

Danke vorerst. Werde da bald reinschauen :)

So, hab mal upgedated... es scheint so halb recht halb schlecht zu funktionieren... ich hatte vor allem mit den header probleme.

Kann ich ausser /usr/include noch global weitere Headers angeben, am besten welche die zuerst durchsucht werden?