libgcc-Probleme bei Startup

PatTheMav

Well-Known Member
Mahlzeit, nach langer Zeit sitze ich wieder einmal vor einem Problem, zu dem ich auch nach längerem Googlen keinerlei Lösung gefunden hab.

Mein System lief 99 Tage ohne Reboot, bis ein Stromausfall den Server zum Reboot "gezwungen" hat. Dadurch ist mir dieses Problem erst im Bootlog aufgefallen, daß beim Start vom Apachen und Pure-FTPD folgende Fehlermeldungen ausspuckt (und scheinbar auch für ein paar mehr Programme):

Code:
Local package initialization:
Performing sanity check on apache22 configuration:
/libexec/ld-elf.so.1:
Shared object "libgcc_s.so.1" not found, required by "httpd"

Starting apache22.
/libexec/ld-elf.so.1:
Shared object "libgcc_s.so.1" not found, required by "httpd"

/libexec/ld-elf.so.1:
Shared object "libgcc_s.so.1" not found, required by "perl"

/libexec/ld-elf.so.1:
Shared object "libgcc_s.so.1" not found, required by "perl"

Die libgcc_s.so.1 existiert auch :

Code:
[root@router /]# locate libgcc_s.so.1
/usr/local/lib/gcc/i386-portbld-freebsd6.0/4.2.0/libgcc_s.so.1
[root@router /]# ls -l /usr/local/lib/gcc/i386-portbld-freebsd6.0/4.2.0/libgcc_s.so.1
-r--r--r--    1 root     wheel      170255 May 14 21:42 /usr/local/lib/gcc/i386-portbld-freebsd6.0/4.2.0/libgcc_s.so.1
[root@router /]#

Nun habe ich entdeckt, daß im Package-Startup-Ordner /usr/local/etc/rc.d eine gcc42.sh steckt, die das libtool anweist alle Libraries im o.g. Ordner einzulesen.

Das wird auch gemacht, allerdings wohl nach dem Startversuch von Apache und Co, denn nach abgeschlossenem Start des Systems kann ich alle Programme "per" Hand ohne Probleme starten.

Weiß darauf einer eine sauberere Lösung, als die gcc-libraries per Hand umzukopieren oder mit symlinks zu versorgen ?
 
Code:
# echo /usr/local/lib/gcc/i386-portbld-freebsd6.0/4.2.0 > /usr/local/libdata/ldconfig/gcc42

Um das ganze ohne Neustart zu nutzen:
Code:
# /etc/rc.d/ldconfig start

Ich habe die Maintainer der gcc Ports mehrfach darauf hingewiesen ldconfig zu verwenden, aber sie werden das erst tun wenn es als Richtlinie im Porters Handbook auftaucht.
 
Danke für den Tip, aber scheint zumindest bei Perl nichts zu helfen, das meckert immer noch rum :

Code:
[root@router /]# /usr/local/etc/rc.d/dyndns.sh start
/libexec/ld-elf.so.1: Shared object "libgcc_s.so.1" not found, required by "perl"
/libexec/ld-elf.so.1: Shared object "libgcc_s.so.1" not found, required by "perl"

Dabei sollte die Library jetzt wirklich überall eingetragen sein ...

Update: Nun zickt hier alles rum, Php findet die library nicht, kann mysql-funktionen nicht ausführen, weil es die mysql.so nicht findet usw..

Scheinbar geht hier jetzt grad alles drunter und drüber und die shared libraries sind alle im Popo ;)
 
Zuletzt bearbeitet:
Zurück
Oben