Wo ist der Linker ld?

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
ryiden
Beiträge: 10
Registriert: 27.09.2007 00:16:14

Wo ist der Linker ld?

Beitrag von ryiden » 18.10.2007 22:25:45

Momentan versuche ich, die Programme 'krusader' und 'vpnc' zu übersetzen, jedoch scheitert die Kompilierung immer daran, dass der Linker 'ld' nicht gefunden wurde:

Code: Alles auswählen

gcc: error trying to exec 'ld': execvp: No such file or directory

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 18.10.2007 22:43:05

der sollte in /usr/bin liegen und /usr/bin sollte in der PATH Environmentvariable drinnen sein
Die binutils müßten ja installiert sein, nachdem du den gcc installierst hast

Benutzeravatar
ryiden
Beiträge: 10
Registriert: 27.09.2007 00:16:14

Beitrag von ryiden » 18.10.2007 22:48:14

Genau das ist ja das Problem, ld befindet sich weder in /usr/bin, noch ist es über das Paket binutils installiert worden. Hier ist die Liste der Dateien, die durch das Paket binutils installiert wurden, ld ist nicht dabei:
....
/usr/bin
/usr/bin/size
/usr/bin/objdump
/usr/bin/ar
/usr/bin/strings
/usr/bin/ranlib
/usr/bin/objcopy
/usr/bin/addr2line
/usr/bin/readelf
/usr/bin/c++filt
/usr/bin/as
/usr/bin/gprof
Zuletzt geändert von ryiden am 18.10.2007 22:56:27, insgesamt 1-mal geändert.

Benutzeravatar
ryiden
Beiträge: 10
Registriert: 27.09.2007 00:16:14

Beitrag von ryiden » 18.10.2007 22:54:50

Ok, hab binutils neu installiert, jetzt ist ld und einiges mehr (addr2line) auf einmal wieder dabei, kann mir das mal einer erklären?
....
/usr/bin
/usr/bin/size
/usr/bin/objdump
/usr/bin/ar
/usr/bin/strings
/usr/bin/ranlib
/usr/bin/objcopy
/usr/bin/addr2line
/usr/bin/readelf
/usr/bin/nm
/usr/bin/strip
/usr/bin/c++filt
/usr/bin/as
/usr/bin/gprof
/usr/bin/ld
Zuletzt geändert von ryiden am 18.10.2007 22:57:51, insgesamt 3-mal geändert.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 18.10.2007 22:56:36

also unter Debian, sind sowohl in der aktuellen Release der binutils in Etch (2.17-3), als auch unter Testing und Unstable ( 2.18.1) ist ld drinnen
Deine Liste beinhaltet sogar die Manpage zum ld
/usr/share/man/man1/ld.1.gz
also sollte der auch bei dir drinnen sein

ok, scheint sich erledigt zu haben

Gruß
gms

Benutzeravatar
ryiden
Beiträge: 10
Registriert: 27.09.2007 00:16:14

Beitrag von ryiden » 20.10.2007 11:27:17

Es scheint so, als hätte ich massiv fehlerhafte Pakete auf meinem Rechner. Beim Übersetzen von anderen Programmen fehlen auf einmal andere wichtige Dateien, die auf meinem anderen Rechner mit identischer Paketinstallation (mittels dpkg --get-selections abgeglichen) einwandfrei kompiliert werden können.

Wie kann ich meine ganzen Pakete mit dem Debian-Server abgleichen und defekte Pakete erneut installieren?
PS: kein Paket wird als defekt angezeigt, es fehlen einfach installierte Dateien in den einzelnen Paketen.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 20.10.2007 13:56:42

hattest du eine Absturz, Stromausfall oder ähnliches ? Vielleicht einmal das Filesystem überprüfen
Und lass auf dem Rechner einmal "debsums -s" laufen

Ich habe das einmal bei mir nur für das binutils Paket probiert:

Code: Alles auswählen

root@gms4:~# mv /usr/bin/ld .
root@gms4:~# debsums -s binutils
debsums: can't open binutils file /usr/bin/ld (Datei oder Verzeichnis nicht gefunden)
root@gms4:~# mv ld /usr/bin
Gruß
gms

Antworten