На сервере Solaris, где у меня нет администратора, я собираю и устанавливаю различное программное обеспечение $HOME/usr
, и оно в основном работает. Однако некоторые программы, которые я компилирую таким образом, зависят от libiconv, в который я также установил $HOME/usr/lib
. Эти программы не будут работать, если я export LD_LIBRARY_PATH=$HOME/usr/lib
. Если я этого не сделаю, я получаю сообщение об ошибке, например:
ld.so.1: rsync: fatal: libiconv.so.2: open failed: No such file or directory
Это особенно плохо для rsync, потому что он не всегда работает в среде оболочки, поэтому у меня даже нет возможности использовать LD_LIBRARY_PATH
его для работы. Можно ли скомпилировать мои программы так, чтобы мне не нужно было настраивать LD_LIBRARY_PATH
их запуск?
-Wl
форму?-rpath /directory/with/library
свои LDFLAGS, или лучше поставить-Wl,-rpath,/directory/with/library
мои CFLAGS?