[gelöst] probleme mit pthreads

In Klammern steht die Adresse, an die die Library geladen wird.

libpthread enthält Wrapper für einige Funktionen wie open, read, write, close, fork und andere.
 
redfiniert die libpthread Symbole aus der libc?
Umgekehrt, libc löst einige Weak-Symbole auf, sodass die aus libpthread nicht mehr greifen.

Es ist ein bekannter Bug von uClibc, der endgültig erst in diesem Commit gefixed wurde (davor gab's auch noch ein paar related commits). Es ist auch der Grund, warum es z.B. dieses Ticket gibt bzw. gegeben hat. Generell gilt, sofern pthread verwendet wird (egal, ob es direkt von Hauptbinary per NEEDED geladen wird, oder per dlopen von irgendwas, was pthread als NEEDED angibt), muss libpthread vor (uClibc') libc geladen werden.

Ich hatte mal versucht das Ganze rückzuportieren, es liegen sogar irgendwo noch Patches rum, habe es aber (wie immer bei mir) aus Zeitgründen nicht zu Ende gebracht.

Eine andere Frage, warum gibst Du überhaupt -lc explizit an. Es wird implizit dazu gelinkt.
 
Eine andere Frage, warum gibst Du überhaupt -lc explizit an. Es wird implizit dazu gelinkt.

Das war so in dem Makefile drin, dass ich als Basis benutzt hatte, da ich von Makefiles nicht so viel verstehe.
Mittlerweile hab ichs auch rausgeschmissen.

gibts noch mehr reihenfolgen von bilbiotheken, die man berücksichtigen sollte?



NOch eine andere Frage:
ich will eine lib benutzen, die nicht in der FW meiner FB enthalten ist und auch nicht nur deswegen ein update machen.
Wie teile ich dem Linux mit, dass er auch im verzeichnis der anwendung nach shared libs suchen soll?

edit:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
geht doch, ldd findet die lib nur nicht, das hatte mich verwirrt
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.