[FreeBSD] Libs zerschossen

lockdoc

Well-Known Member
Abend zusammen,

ich habe irgendwie mein FreeBSD zerschossen. Ich wollte die kde4-libs bauen, das schlug aber leider fehl, da kde3-libs schon drauf waren und er meckerte dann bei sich qt4-* irgendwas Dateien rum. Die habe ich nun mit pkg_delete -f alle einzeln deinstalliert - solange bis ich kde4-libs bauen konnte.

Die Folge:
Ich habe beim Starten von ganz vielen Programmen den Fehler das er was mit /libexec/ld-elf rummeckert und irgendwelche .so.* nicht finden kann.

jetzt hatte ich die Idee meine installierten programme mittels portupgrade zu reparieren - Folge:
Code:
/usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:119:in `fill': MOVED file format error (PortsDB::MOVEDError)
	from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:113:in `each'
	from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:113:in `fill'
	from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:112:in `open'
	from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:112:in `fill'
	from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:107:in `initialize'
	from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:182:in `new'
	from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:182:in `setup'
	from /usr/local/lib/ruby/site_ruby/1.8/pkgtools.rb:256:in `init_pkgtools_global'
	from /usr/local/sbin/portupgrade:529:in `main'
	from /usr/local/lib/ruby/1.8/optparse.rb:791:in `initialize'
	from /usr/local/sbin/portupgrade:229:in `new'
	from /usr/local/sbin/portupgrade:229:in `main'
	from /usr/local/sbin/portupgrade:2209

dafuer brauchte ich wohl erst ein pkgdb -F, aber auch hier leider nicht:

Code:
pkgdb -F
MOVED file format error

Was kann ich nun machen um mein System zu reparieren?
 
Schau doch mal nach ob MOVED beschädigt ist. Ansosten, probiere einfach portmaster aus.
 
OK Danke, das hat erstmal soweit funktioiniert. Danach habe ich noch ein pkgdb -Fa gemacht und lief auch durch, allerdings wenn ich opera starten will kommt immer noch ein Problem mit den libs

/libexec/ld-elf.so.1: Shared object "libqt-mt.so.3" not found, required by "opera"

Wie behebe ich das denn noch?
 
Naja es ist nicht so spezifisch denn wenn ich andere Programme starten will kommen aehnliche Meldungen:

> yakuake
/libexec/ld-elf.so.1: Shared object "libkio.so.6" not found, required by "yakuake"

Ich hab halt alle moeglichen qt* und kde* und noch andere programme mit pkg_delete -f entfernt und wieder die neuesten Versionen mit make install installiert.
 
Ok hat mich erstmal ne Weile gebraucht das zu finden. Wer auch danach sucht /usr/ports/sysutils/bsdadminscripts
Code:
pkg_libchk -aRrv
Segmentation fault (core dumped)nmap-5.00                     
Segmentation fault (core dumped)
Segmentation fault (core dumped)
Segmentation fault (core dumped)
Lief erfolgreich durch mit 4 Prozessen (bis auf die dumps)

Code:
C:\>pkg_validate -a
csum miss package                             origin        
   1    0 gettext-0.17_1                      devel/gettext
   1    0 gtk-2.16.6                          x11-toolkits/gtk20
   0    1 gvfs-1.2.3_2                        devel/gvfs
   2    0 linux_base-f10-10_2                 emulators/linux_base-f10
   2    0 nmap-5.00                           security/nmap
   3    0 p5-URI-1.40                         net/p5-URI
   1    0 p5-XML-SAX-0.96                     textproc/p5-XML-SAX
   5    0 perl-5.8.9_3                        lang/perl5.8
   1    0 qt4-corelib-4.5.3                   devel/qt4-corelib
   2    0 scite-2.01                          editors/scite
   2    0 shared-mime-info-0.60_1             misc/shared-mime-info
   1    0 tcl-8.4.19_3,1                      lang/tcl84
   1    0 teTeX-texmf-3.0_6                   print/teTeX-texmf
13 of 809 packages appear to be damaged.
Das lief auch durch, aber nix von Opera.

Ich hatte schonmal ein aehnliches Problem mit den missing *.so.*, dann habe ich einfach die naechst hoehere *.so.[0-9] bzw. tiefere auf den namen gesymlinked. Bsp:
blalib.so.7 ist das blalib.so.8 ist missing, dann einfach
Code:
ln -s blalib.so.7 blalib.so.8
Und das dann fuer mehrere Dutzend libs, sollte aber auch nicht die Loesung sein.

Gibt es noch eine andere Moeglichkeit?
 
/etc/libmap.conf

Aber du solltest das Zeug wirklich neu bauen. Da hast du echt Mist gebaut.
 
Die Datei hab ich leider nicht. Neubaun waer natuerlich super - wie aber bau ich alle zerschossenen Sachen automatisch neu?

Edit: Durch mist bauen lernt man doch viel mehr als wenn alles immer problemlos laeuft xD
 
Wie lange hat das pkg_libchk denn gebraucht. Das sollte dir eigentlich ordentlich was um die Ohren schmeißen, wenn da Bibliotheken fehlen.
 
Naja das lief so auf die ca. 800 Pakete ca. 5min durch mit dem output von oben und sonst leider gar nichts.

Edit: vllt. hilft das noch
Beim ersten Aufruf ist alles wunderbar
Code:
ldconfig -vr
/var/run/ld-elf.so.hints:
	search directories: /lib:/usr/lib:/usr/lib/compat:/usr/local/lib:/usr/local/lib/compat/pkg:/usr/local/kde4/lib:/usr/local/lib/compat:/usr/local/lib/gnash:/usr/local/lib/graphviz:/usr/local/lib/mysql:/usr/local/lib/pth:/usr/local/lib/qt4:/usr/local/lib/virtualbox:/usr/local/lib/wine
	0:-lc.7 => /lib/libc.so.7
[...]

Allerdings bei allen weiteren aufrufen ist nichts mehr zu sehen.
Code:
ldconfig -vr
/var/run/ld-elf.so.hints:
	search directories:


Edit2:
Vorhin konnte ich mich beispielsweise gar nicht mehr als root einloggen, da dieser bash benutzt und er dann Probleme damit hatte und fiel wieder auf den normalen user runter... Jetzt geht das wieder ohne Probleme. Ich werd wahrscheinlich wirklich die Kiste neumachen muessen, aber es waer trotzdem interessant zu wissen, wie ich die ganzen broken dependencies wiederherstellen kann.
 
Last edited:
Hmm ich sehe grad opera zum beispiel meckert ja ueber die missing libqt-mt.so.3
Code:
/libexec/ld-elf.so.1: Shared object "libqt-mt.so.3" not found, required by "opera

Diese ist allerdings da - was mich verwundert?????
Code:
locate libqt-mt.so
/usr/local/lib/libqt-mt.so
/usr/local/lib/libqt-mt.so.3
/usr/local/lib/libqt-mt.so.3.3
/usr/local/lib/libqt-mt.so.3.3.8

____________________________
EDIT:
[...]
Edit2:
Vorhin konnte ich mich beispielsweise gar nicht mehr als root einloggen, da dieser bash benutzt und er dann Probleme damit hatte und fiel wieder auf den normalen user runter... Jetzt geht das wieder ohne Probleme. Ich
Argggggghhhhh
Jetzt kann ich mich mal wieder nicht su - machen
Code:
/libexec/ld-elf.so.1: Shared object "libintl.so.8" not found, required by "bash"
Ist das ganze denn Wetterabhaengig....
 
Last edited:
locate heißt nur, dass es da war als die Datenbank erstellt wurde. Ich bin mir ziemlich sicher, das die Lirbraries jetzt nicht mehr da sind.
 
Ok stimmt, die .so.3 ist gar nicht da. Bei mir laeuft jetzt schon seit der ganzen nacht ein portupgrade - mal sehn wann das fertig wird. Evtl. behebt das ja den Schaden.
 
Back
Top