• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

SUSE 10.1 x86_64 und glibc Version

panamajo

Guru
Nachdem ein Update SUSE 10.0 (i386) ohne Probleme lief habe ich mich daran gemacht dasselbe bei einem x86_64 System durchzuführen - leider gabs da erhebliche Probleme.

Das meiste konnte ich lösen, aber nicht folgendes:

Nach dem Update war der Inhalt von /etc/ld.so.conf folgender:
Code:
/usr/X11R6/lib/Xaw3d
/usr/X11R6/lib
/usr/i486-linux-libc5/lib=libc5
/usr/i386-suse-linux/lib
/usr/local/lib
/opt/kde3/lib
/opt/gnome/lib
include /etc/ld.so.conf.d/*.conf

was einige Services am Starten hinderte.

Ich habe dann die Datei durch die die .rpmsave Datei vom SUSE 10.0 System ersetzt:
Code:
/usr/lib64/qt3/lib64
/usr/lib64/qt3/lib
/usr/X11R6/lib64
/usr/X11R6/lib
/usr/x86_64-suse-linux/lib
/usr/local/lib64
/usr/local/lib
/opt/kde3/lib64
/opt/kde3/lib
/opt/gnome/lib64
/opt/gnome/lib
/opt/gnome2/lib64
/opt/gnome2/lib
/lib64
/lib
/usr/lib64
/usr/lib
include /etc/ld.so.conf.d/*.conf

was bzgl. der Services hilft.

Aber jeder Versuch ein minimales C Programm zu compilieren scheitert:
Code:
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -lc
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld: cannot find -lc
collect2: ld returned 1 exit status

LD_LIBRARY_PATH ist nicht gesetzt.

Kann jemand den Inhalt der /etc/ld.so.conf bei einer funktionierenden SUSE 10.1 x86_64 posten?

EDIT 20060527: Titel korrigiert (Problem lag nicht an der ld.so.conf, s.u.)
 
Das liegt wahrscheinlich gar nicht an der /etc/ld.so.conf, sondern an etwas anderem.

Siehe auch: http://www.linux-club.de/ftopic60412.html

=> Bitte die Ausgabe von
Code:
rpm -qa --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' | grep glibc
posten.

PS: Hast Du das Update mit YaST gemacht?

Wenn ja, und wenn es wirklich daran liegt, dass glibc-devel.i686 statt glibc-devel.x86_64 installiert wurde, dann kannst Du, wenn Du möchtest, hier:

https://bugzilla.novell.com/show_bug.cgi?id=176739

die Y2LOGs anhängen und noch kurz zusammenfassen, wie Du das Update gemacht hast und was jetzt nicht richtig geht.

Noch was: Soweit ich weiß, benutzt der Link-Editor (/usr/bin/ld) die /etc/ld.so.conf gar nicht, sondern nur der Laufzeit-Linker (/lib64/ld-linux-x86-64.so.2). Der Link-Editor benutzt nur die Verzeichnisse, die über "-L"-Optionen angegeben wurden und zusätzlich ein paar hartkodierte Standardverzeichnisse.

Die standardmäßige /etc/ld.so.conf von SUSE 10.1 auf x86_64 sieht so aus:
Code:
/usr/X11R6/lib64/Xaw3d
/usr/X11R6/lib64
/usr/X11R6/lib/Xaw3d
/usr/X11R6/lib
/usr/x86_64-suse-linux/lib
/usr/local/lib
/opt/kde3/lib
/opt/gnome/lib
/lib64
/lib
/usr/lib64
/usr/lib
/usr/local/lib64
/opt/kde3/lib64
/opt/gnome/lib64
include /etc/ld.so.conf.d/*.conf
 
Ohne drängeln zu wollen, aber: Könntest Du den kompletten Inhalt des Verzeichnisses /var/log/YaST2 zusammenpacken und an den oben verlinkten Bug anhängen, falls Du einen Bugzilla-Account bei Novell hast? Es geht einfach darum, dass ich das Problem hier "leider" nicht reproduzieren kann, es aber trotzdem gerne sehen würde, wenn es gefixt wird. Dabei können die YaST-Logs helfen.

Um den Rest würde ich mich dann kümmern (Status von NEEDINFO zu ASSIGNED ändern, Komponente von Development auf UpdateProblems ändern usw.)
 
OP
panamajo

panamajo

Guru
traffic schrieb:
PS: Hast Du das Update mit YaST gemacht?

Wenn ja, und wenn es wirklich daran liegt, dass glibc-devel.i686 statt glibc-devel.x86_64 installiert wurde.

Update lief über Booten von der DVD, Update, "Installierte Pakete Updaten".
Lt. YaST y2logRPM ohne Fehler:
Code:
y2logRPM:2006-05-24 19:49:20 glibc-2.4-25.x86_64.rpm installed ok
y2logRPM:2006-05-24 19:49:33 glibc-32bit-2.4-30.x86_64.rpm installed ok
y2logRPM:2006-05-24 19:49:49 glibc-locale-2.4-25.x86_64.rpm installed ok
y2logRPM:2006-05-24 19:50:21 glibc-locale-32bit-2.4-25.x86_64.rpm installed ok
y2logRPM:2006-05-24 19:56:01 glibc-devel-2.4-25.x86_64.rpm install failed
y2logRPM:       glibc-devel = 2.3.5 is needed by (installed) glibc-devel-32bit-2.3.5-40.x86_64
y2logRPM:2006-05-24 19:56:08 glibc-devel-2.4-25.x86_64.rpm installed ok
y2logRPM:2006-05-24 19:58:11 glibc-devel-32bit-2.4-25.x86_64.rpm installed ok

Das Problem scheint mir beim der Installation folgenden apt Lauf geschehen zu sein, da sind AFAICS glibc (i686) im x86_64 Repository:
Code:
root@l33t /var/log/YaST2> apt policy glibc glibc-devel
glibc:
  Installed: 2.4-25
  Candidate: 2.4-31
  Version Table:
     2.4-31 0
        500 http://ftp4.gwdg.de SuSE/10.1-x86_64/base pkglist
 *** 2.4-25 0
        500 http://ftp4.gwdg.de SuSE/10.1-x86_64/base pkglist
        100 RPM Database
     2.4-25 0
        500 http://ftp4.gwdg.de SuSE/10.1-x86_64/base pkglist
glibc-devel:
  Installed: 2.4-25
  Candidate: 2.4-31
  Version Table:
     2.4-31 0
        500 http://ftp4.gwdg.de SuSE/10.1-x86_64/base pkglist
 *** 2.4-25 0
        500 http://ftp4.gwdg.de SuSE/10.1-x86_64/base pkglist
        100 RPM Database
     2.4-25 0
        500 http://ftp4.gwdg.de SuSE/10.1-x86_64/base pkglist
Die Versionen 2.4-31 sind i686 Pakete, ich habe gerade nochmal getestet.
Leuten mit x86_64 ist dringend von der Installation der -32 Pakete abzuraten!
 
OK, danke. Dann hat YaST wenigstens das ausnahmsweise mal richtig gemacht. :roll:

Ja, apt-Benutzer sollten die 32-Bit-Quellen wirklich deaktivieren. apt ist nicht darauf ausgelegt, mit Paketquellen für unterschiedliche Architekturen klarzukommen (weil es sowas bei Debian einfach nicht gibt) und verarbeitet den %{ARCH}-Tag gar nicht, sondern sortiert einfach nach %{NAME}-%{VERSION} und nimmt das neueste, selbst wenn es für die falsche Architektur ist.
 
OP
panamajo

panamajo

Guru
traffic schrieb:
Ja, apt-Benutzer sollten die 32-Bit-Quellen wirklich deaktivieren.
Wie geht das? AFAIK wählt man die Arch über den Pfadnamen der apt Sources aus, und ich habe ja x86_64 angegeben.

Oder ist das ein Missverständnis, ich meinte statt -32 eigentlich -31 (Typo, also die Build-Nr. der RPMs, nicht die Arch).

IMO haben die glibc-2.4-31 nichts im x86_64 Repository zu suchen (das sind IIRC für Post-Pentium optimierte Pakete, aber eben 32 bit).
 
Oben