Übersicht
Stichwortsuche
History
Versionen
Kategorien
Alle Artikel
SuSE Linux: Versionen 6.0 bis 6.1
: error in loading shared libraries : undefined symbol: __register_frame_info
__register_frame_info
. Je nachdem
gegen welche Libraries ein Programm nun gelinkt wird, wird es dem
Programm hinzugefügt oder auch nicht.
glibc-2.1 basierte Systeme sind überhaupt nicht von dieser Tatsache betroffen, da die glibc-2.1 selbst dieses Problem korrekt behandelt.
SuSE Linux 6.2 ist von diesem Problem nicht betroffen. Allerdings ist zu beachten, daß Programme, die gegen die glibc-2.1 gelinkt wurden, grundsätzlich nicht auf glibc 2.0 basierten Systemen laufen. Wohl aber laufen glibc-2.0 gelinkte Programme auf glibc-2.1 basierenden Distributionen.
Dieses Paket stellt eine Library /lib/libregframe.so
zur
Verfügung.
Diese muß zur Programmausführung zusätzlich geladen werden. Dazu
gibt es mehrere Möglichkeiten:
LD_PRELOAD
:
tux@erde > export LD_PRELOAD=/lib/libregframe.so tux@erde > runprogramIn diesem Fall können Sie kontrollieren, welche Programme wann mit der Library gestartet werden sollen. Der Nachteil ist, daß diese Lösung nicht bei SUID-Programmen funktioniert.
/etc/ld.so.preload
.
In dieser Datei steht in der ersten Zeile:
/lib/libregframe.so
. Sollte die Datei bereits mit
Einträgen exitieren, fügen Sie den Namen der Library in der
ersten Zeile durch Leerzeichen getrennt ein.
Der Vorteil ist, daß die Library immer geladen wird, auch
bei SUID-Programmen. Der Nachteil ist eben, sie wird
wirklich immer geladen. Das sollte aber mit keinem
Programm zu Schwierigkeiten führen.
libregframe
. Dazu installieren Sie das
Paket auf Ihrem SuSE Linux, und fügen beim Linken
folgenden Flag hinzu: -lregframe
Danach müssen Sie nur noch sicherstellen, daß die
Bibliothek libregframe.so
auf dem Zielsystem auch
installiert ist.
Stichwörter: UNDEFINED SYMBOL: __REGISTER_FRAME_INFO, GLIBC, COMPILER, EGCS
Kategorien:
Entwicklungswerkzeuge
Übersicht
Stichwortsuche
History
Versionen
Kategorien
Alle Artikel