cannot find -lgcc_s

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
MatthiasG54
Beiträge: 1
Registriert: 12.02.2017 21:22:24

cannot find -lgcc_s

Beitrag von MatthiasG54 » 12.02.2017 22:23:20

Hallo,
ich versuche ein altes C-Programm neu zu übersetzen. Das compilieren funktioniert aber das linken nicht.
Ich bekomme die folgende Fehlermeldung:

/usr/bin/ld: cannot find -lgcc_s

Ich habe hier im Forum und im Rest des Internets bereits vergleichbare Probleme gefunden.
Leider ist es mir nicht gelungen eine der dort diskutierten Lösung auf meine Problemstellung erfolgreich zu übertragen.

Fragen:
  • welche lib fehlt mir?
  • wo/wie finde ich den richtigen Ordner mit der gesuchten Lib?
  • wie sieht der symbolische Link exakt aus den ich anlegen muss?
Information:
  • Das C-Programm hat zu vor auf einer 32-Bit Architektur gelaufen
  • aktuelle OS/HW: Debian GNU/Linux 8.7; Linux 3.16.0-4-amd64 (x86_64); P Debian 3.16.39-1 (2016-12-30)
Vielen Dank für Eure Unterstützung.
Grüße
Matthias

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: cannot find -lgcc_s

Beitrag von rendegast » 12.02.2017 23:53:47

https://packages.debian.org/file:libgcc_s.a
-> irgendwas gcc-mingw
Wäre Meta Debiangcc-mingw-w64 (rec. g++-mingw-w64),
oder sogar Debianmingw-w64 (dep. g++-mingw-w64),
aber das ist hier wohl nicht gemeint.

Wohl eher irgendwas libgcc-*[-dev],
Debianlibgcc1 (libgcc_s.so.1)
Debianlibgcc-4.8-dev (link auf obige lib)
Debianlibgcc-4.9-dev (link auf obige lib)
diese enthalten aber nicht die gesuchte *.a-Datei.

Findet sich vielleicht im Quelltext-Paket. (NEIN, durchsucht Quelle gcc-4.8, gcc-4.9)
Fundstellen im www deuten auf Maßnahme Deaktivierung 'shared', '-static-libgcc',
auch kompliziertere Konstrukte 'CFLAGS="-static -Wl,-Bdynamic,-lgcc_s,-Bstatic"'.


Link /usr/lib/gcc/....-linux-gnu/X.Y/libgcc_s.so -> /.../libgcc_s.so.1 findet sich nicht in 'ldconfig -p', daher Idee:
Vielleicht ein Link
/lib/i386-linux-gnu/libgcc_s.so -> libgcc_s.so.1
resp.
/lib/x86_64-linux-gnu/libgcc_s.so -> libgcc_s.so.1
abschließend 'ldconfig' (mit Fehlermeldung "libgcc_s.so.1 is not a symbolic link").

Mit
<anderer_Pfad>/libgcc_s.so ->/lib/i386-linux-gnu/ libgcc_s.so.1
<anderer_Pfad>/libgcc_s.so ->/lib/x86_64-linux-gnu/libgcc_s.so.1
unterbleibt die Fehlermeldung.
Kontrolle per

Code: Alles auswählen

ldconfig -p | grep libgcc

ldconfig -v
zeigt anders an, Zusammenspiel mit Links und Kopien ist Übungsaufgabe.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten