On Mon, Sep 25, 2000 at 04:32:59PM +0200, Hilmar Preusse wrote:
"-DPIC" benötigt man mMn nicht
Ist ein Makro. Was kann man damit anfangen?
Wenn du es nicht selbst per #ifdef abfragst ist es wahrscheinlich sinnnlos.
Bei soname=liblib.so.0 heisst das file der lib ueblicherweise liblib.0.unter.version. Der Link nach liblib.so.0 ist fuer den ld.so noetig der link nach liblib.so ist ueblich, um beim Compilieren einfach -llib sagen zu koennen.
Bei mir heißt das Originalfile jetzt .so und die anderen beiden sind Symlinks. Ich könnte doch sicher einen weglassen, indem ich die Lib mit -Wl,-soname als liblib.so deklariere, oder?
Du kanns auch völlig ohne Symlinks auskommen.
Frage: Ist das prinzipiell immer so möglich oder kann es Probleme geben? (Wenn die Begründung zu ausschweifend wird, bitte weglassen).
Warum nicht? Welche Zweifel hast du?
Kein Ahnung, deswegen frage ich ja. Warum wird die Lib der OpenSSL als statische Lib gebaut und nicht als dynamische, was IMHO vorteilhafter sein sollte? Weil man nach erfolgreichem Bau eines Progs, was dagegen "gelinkt" wurde, die Libs wieder deinstallieren kann und ein spezielles Programm eh nur ein paar Funktionen benötigt? Um Bugs im ld.so aus dem Weg zu gehen?
Vielleicht nur Faulheit der Distributoren. Bei Debian ist sie shared: rf11@rncmm14:~> ssh -V SSH Version OpenSSH-1.2.3, protocol version 1.5. Compiled with SSL. rf11@rncmm14:~> ldd `which ssh` libdl.so.2 => /lib/libdl.so.2 (0x40016000) libnsl.so.1 => /lib/libnsl.so.1 (0x4001a000) libz.so.1 => /usr/lib/libz.so.1 (0x40030000) libutil.so.1 => /lib/libutil.so.1 (0x4003f000) libpam.so.0 => /lib/libpam.so.0 (0x40043000) libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0x4004b000) libwrap.so.0 => /lib/libwrap.so.0 (0x400f5000) libc.so.6 => /lib/libc.so.6 (0x400fc000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x401d9000) rf11@rncmm14:~> dpkg -S /usr/lib/libcrypto.so.0 libssl09: /usr/lib/libcrypto.so.0 rf11@rncmm14:~> dpkg -l libssl09 Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-==============-==============-============================================ ii libssl09 0.9.4-5 SSL shared libraries rf11@rncmm14:~>
Reinhard