Wie kann ich feststellen, ob mein Programm libgcc_s.so.1 benötigt?C++

Programme in C++. Entwicklerforum
Guest
 Wie kann ich feststellen, ob mein Programm libgcc_s.so.1 benötigt?

Post by Guest »

Kontext
Ich habe eine Menge C/C++-Code unter Linux, den ich auf einem Linux-Hostcomputer erstellen und in einer benutzerdefinierten Containerlösung ausführen muss (sauberes Linux). Um das Programm in meinem Container ausführen zu können, benötige ich alle darin enthaltenen Hostabhängigkeiten des Programms.
Problem
Um alle Abhängigkeiten meines Programms aufzulösen, habe ich mich für die Verwendung von ldd entschieden. Das Problem ist, dass mir aufgefallen ist, dass die Laufzeitumgebung libgcc_s.so.1 vom LDD nicht als direkte Abhängigkeit aufgeführt wird. Für einige der Programme, die libpthread.so verwenden, benötigen sie zur Laufzeit libgcc_s.so.1, andernfalls erhalte ich Folgendes: „libgcc_s.so.1 muss installiert sein, damit pthread_cancel funktioniert.“ Arbeit".
ldd-Inhalte für mein Programm:

Code: Select all

linux-vdso.so.1 (0x0000fff7fceee000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fssf7f75000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faaf7d83000)
/lib64/ld-linux-x86-64.so.2 (0x00007fffddfcf000)
LDD-Inhalt für libpthread.so:

Code: Select all

linux-vdso.so.1 (0x00007avf7fce000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffbdd88000)
/lib64/ld-linux-x86-64.so.2
Ich musste die Abhängigkeit manuell in meinem Container hinzufügen, damit mein Programm funktionierte.
Natürlich gab es andere Programme, die das nicht erforderten alle libgcc_s.so zur Laufzeit und sie liefen ohne Probleme in meinem Container.
Frage
Die Frage ist also Wie kann ich feststellen, welches Programm libgcc_s.so benötigt und welches nicht? Danke

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post