runlevel0 n00b
Joined: 09 Sep 2004 Posts: 67 Location: Mountains of Noord-Holland
|
Posted: Thu Sep 30, 2004 7:07 pm Post subject: X und der duplicate symbol in libbitmap.a Fehler [Workaround |
|
|
Neuerdings haben sich viele Benutzer eines Fehlers beschwert, der das X-System abstürzt und einen 'duplicate symbol' Fehler ausspuckt. Dieses Thema wird im Bugzilla behandelt:
https://bugs.gentoo.org/show_bug.cgi?id=43177
Das Problem ist, aber, dass der Bugzilla Bericht all zu lang und unübersichtlich ist. Als ich aber selbst diesen Bug überlebt habe, entschied ich mich, diesen kurzen Workaround zu schreiben. Das ist aber keinesfalls die einzige oder gar die eleganteste Lösung, es ist aber eine einfache Lösung die sogar von Hans Neuling durchgeführt werden kann.
Der Fehler hat mit dem 'hardened' Werkzeugen zu tun http://www.gentoo.org/proj/en/hardened/ ,
oder besser gesagt, mit dem etwas komischen Code innerhalb des X-Systems der sich nicht als besonders PIC-freundlich erweist. Die Schwierigkeiten sind auf die Flags -fPIC, -fPIE und -fstack-protector zurückzuführen.
Außer der X scheinen nur die dietlibc und die in Gentoo von ihr abhängigen Tools genkernel und mkinitrd davon betroffen zu sein (Das ist allerdings kein Bug, da die Dietlibc für Kompaktsysteme vorgesehen ist und deshalb von Natur aus PIC-unfreundlich ist).
Manche Benutzer berichten, dass sie das 'hardened' nicht absichtlich in die USE Flags eingetragen haben. So besteht die Möglichkeit, dass die Abhängigkeit eines anderen Pakets diese Tools installiert.
Um die Sache kurz zu fassen, hier das Schritt-für-Schritt Workaround:
1) Öffne /etc/make.conf und tausche hardened um -hardened aus.
2) emerge glibc gcc binutils
3) emerge xorg-x11
4) emerge dietlibc mkinitrd genkernel
5) genkernel --menuconfig all oder übersetze den Kernel auf deiner Lieblingsweise wieder.
NOTIZ: Ich bin mir nicht ganz sicher, ob Schritt 5 unbedingt nötig wäre, aber um mögliche Schwierigkeiten zu vermeiden habe ich ihn aber trotzdem durchgeführt.
Das ist alles; die X werden problemlos starten und die Übersetzung der dietlibc oder der verbundenen Werkzeugen soll auch klappen. _________________ --
]:O <-[Mooooooooooo!] |
|