J'essaie de comprendre pourquoi un binaire ne lie pas une bibliothèque partagée. Sous Linux, la manière standard de faire cela est LD_DEBUG=libs
qui montre le chemin de toutes les bibliothèques liées, mais cela ne produit aucun résultat pour moi. J'ai lu plusieurs articles recommandant cette fonction sous MacOS, alors a-t-elle été supprimée ou existe-t-il une astuce pour l'utiliser ? Je fonctionne sous Catalina et j'ai essayé les shells bash et zsh.
Exemple sous MacOS :
$ LD_DEBUG=libs uptime
19:18 up 10:06, 4 users, load averages: 2.00 2.21 2.04
Exemple sous Linux :
$ LD_DEBUG=libs uptime
25453: find library=libprocps.so.7 [0]; searching
25453: search cache=/etc/ld.so.cache
25453: trying file=/lib/arm-linux-gnueabihf/libprocps.so.7
25453:
25453: find library=libdl.so.2 [0]; searching
25453: search cache=/etc/ld.so.cache
25453: trying file=/lib/arm-linux-gnueabihf/libdl.so.2
25453:
25453: find library=libc.so.6 [0]; searching
25453: search cache=/etc/ld.so.cache
25453: trying file=/lib/arm-linux-gnueabihf/libc.so.6
25453:
25453: find library=libsystemd.so.0 [0]; searching
25453: search cache=/etc/ld.so.cache
25453: trying file=/lib/arm-linux-gnueabihf/libsystemd.so.0
25453:
25453: find library=librt.so.1 [0]; searching
25453: search cache=/etc/ld.so.cache
25453: trying file=/lib/arm-linux-gnueabihf/librt.so.1
25453:
25453: find library=liblzma.so.5 [0]; searching
25453: search cache=/etc/ld.so.cache
25453: trying file=/lib/arm-linux-gnueabihf/liblzma.so.5
25453:
25453: find library=liblz4.so.1 [0]; searching
25453: search cache=/etc/ld.so.cache
25453: trying file=/lib/arm-linux-gnueabihf/liblz4.so.1
25453:
25453: find library=libgcrypt.so.20 [0]; searching
25453: search cache=/etc/ld.so.cache
25453: trying file=/lib/arm-linux-gnueabihf/libgcrypt.so.20
25453:
25453: find library=libpthread.so.0 [0]; searching
25453: search cache=/etc/ld.so.cache
25453: trying file=/lib/arm-linux-gnueabihf/libpthread.so.0
25453:
25453: find library=libgpg-error.so.0 [0]; searching
25453: search cache=/etc/ld.so.cache
25453: trying file=/lib/arm-linux-gnueabihf/libgpg-error.so.0
25453:
25453:
25453: calling init: /lib/arm-linux-gnueabihf/libpthread.so.0
25453:
25453:
25453: calling init: /lib/arm-linux-gnueabihf/libc.so.6
25453:
25453:
25453: calling init: /lib/arm-linux-gnueabihf/libgpg-error.so.0
25453:
25453:
25453: calling init: /lib/arm-linux-gnueabihf/libgcrypt.so.20
25453:
25453:
25453: calling init: /lib/arm-linux-gnueabihf/liblz4.so.1
25453:
25453:
25453: calling init: /lib/arm-linux-gnueabihf/liblzma.so.5
25453:
25453:
25453: calling init: /lib/arm-linux-gnueabihf/librt.so.1
25453:
25453:
25453: calling init: /lib/arm-linux-gnueabihf/libsystemd.so.0
25453:
25453:
25453: calling init: /lib/arm-linux-gnueabihf/libdl.so.2
25453:
25453:
25453: calling init: /lib/arm-linux-gnueabihf/libprocps.so.7
25453:
25453:
25453: calling init: /usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so
25453:
25453:
25453: initialize program: uptime
25453:
25453:
25453: transferring control: uptime
25453:
19:17:22 up 22:36, 3 users, load average: 0.00, 0.00, 0.00