Werden Bibliotheken etwa nur dort erkannt?
Das läßt sich einstellen. Siehe: man ld.so
Am besten nimmst du ein Wrapper-Skript. Ich nehme an, daß deine Anwendung CrayExample heißt und die .so libCray.so. Desweiteren nehmen wir an, daß .so und Binary im gleichen Verzeichnis liegen:
Code:
#!/usr/bin/env bash
# Hier den Pfad zu deinem Programm
CRAY_APP=/home/bla/foo/bar/CrayExample
LD_PRELOAD=`dirname $CRAY_APP`/libCray.so $CRAY_APP
Vereinfacht kannste auf der Shell auch das machen:
Code:
LD_PRELOAD=./libCray.so ./CrayExample
Wie gesagt, RTFM: man ld.so