PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Teil statisch und dynamisch linken



Stephanw
14.09.06, 10:04
Hi,

ich habe folgendes Anliegen:

Auf einer Solaris 10 Maschine soll ein (Nagios-)Daemon kompiliert werden. Dazu wird zwingend die OpenSSL 0.9.7 benötigt. Wenn ich den Deamon gegen diese lib kompiliere, funktioniert er auch.

Jetzt liefert Solaris 10 schon eine eigene libSSL mit. Unglücklicherweise zieht der Daemon genau diese lib beim starten ran. Die Folge ist, das er schlichtweg nicht funktioniert.

Leider kann man ab Solaris 10 keine statischen binarys mehr bauen. Die OpenSSL bietet aber noch .a-Dateien zum statischen Linken an.

Ist es möglich, die Funktionen aus der OpenSSL-lib fest ins binary zu packen, währen der Rest (libc, ...) dynamisch angezogen wird?

Gruß Stephan

zander
14.09.06, 10:30
Falls Du GNU Werkzeuge benutzt, sollte folgendes funktionieren: ... -Wl,-Bstatic -lssl -Wl,-Bdynamic ....

Stephanw
14.09.06, 13:34
Hallo zander,

danke für deine Antwort. Ich habe es allerdings leider nicht hintereinander bekommen. Es besteht nach wie vor die Abhängigkeit zu libssl und libcrypto.

Die zu modifizierende Zeile ist die Folgende:



gcc -g -O2 -I/opt/openssl/include/openssl -I/opt/openssl/include -DHAVE_CONFIG_H -o nrpe nrpe.c utils.c -L/opt/openssl/lib -lssl -lcrypto -lnsl -lsocket


Kannst du einen konkreten Vorschlag machen?

Gruß Stephan

zander
14.09.06, 15:17
Ich nehme an, daß Du es mit


gcc -g -O2 -I/opt/openssl/include/openssl -I/opt/openssl/include -DHAVE_CONFIG_H -o nrpe nrpe.c utils.c -L/opt/openssl/lib -Wl,-Bstatic -lssl -Wl,-Bdynamic -lcrypto -lnsl -lsocket

und


gcc -g -O2 -I/opt/openssl/include/openssl -I/opt/openssl/include -DHAVE_CONFIG_H -o nrpe nrpe.c utils.c -L/opt/openssl/lib -Wl,-Bstatic -lssl -lcrypto -Wl,-Bdynamic -lnsl -lsocket

versucht hast?

Welche Probleme bzw. Fehler treten dabei konkret auf?

Stephanw
15.09.06, 07:46
Nein, habe ich so nicht versucht.

Aber dein zweiter Vorschlag trifft den Nagel auf den Kopf. Super, vielen Dank!

Gruß Stephan

zander
15.09.06, 09:47
Kein Problem; freut mich, daß es geklappt hat.