[email protected] -> [email protected]  @ Fri, 7 Nov 2014 
14:03:26 +0300 (MSK):

 >> AC> /opt/ghc/7.8.3/bin/ghc --version
 >> AC> /opt/ghc/7.8.3/lib/ghc-7.8.3/bin/ghc: error while loading shared 
 >> libraries: libHShaskeline-0.7.1.2-ghc7.8.3.so: cannot open shared object 
 >> file: No such file or directory
 >>
 >> AC> при этом
 >>
 >> AC> ldd /opt/ghc/7.8.3/lib/ghc-7.8.3/bin/ghc|grep 
 >> libHShaskeline-0.7.1.2-ghc7.8.3.so
 >> AC>         libHShaskeline-0.7.1.2-ghc7.8.3.so => 
 >> /opt/ghc/7.8.3/lib/ghc-7.8.3/bin/../haskeline-0.7.1.2/libHShaskeline-0.7.1.2-ghc7.8.3.so
 >>  (0x00007ff10b2c1000)
 >>
 >> Дополнительное расследование (запуск того и другого в окружении
 >> LD_DEBUG=libs,files) показало, что при ldd ld.so смотрит на RPATH из
 >> бинарника, а при запуске - нет.  Опять же, гугл на эту тему ничего
 >> вразумительного не рассказывает...
 >>

 y>  Вообще то ldd это просто bash-скрипт вокруг ld-linux.so
 y>  Все что он делает сводится к конструкции типа
 y>  LD_TRACE_LOADED_OBJECTS=1 /lib/ld-linux.so.2 executable

 y>  Ситуация с RPATH еще больше запутывает дело. Как при запуске
 y>  проигнорировать rpath не очень понятно. Хотя... можно попробовать скажем
 y>  LD_TRACE_LOADED_OBJECTS=1 /lib/ld-linux.so.2 --inhibit-rpath "" executable

 y>  Возможно, приемлемым решением будет очистить rpath и управлять только
 y>  с помощью LD_LIBRARY_PATH.
 y>  В дебиане есть удобная программка chrpath
 y>  С помощью нее можно посмотреть (-l) и очистить (-d) rpath в executable.
 y> Ю.

 y>  p.s. https://wiki.debian.org/RpathIssue

Это все я как раз нашел.  Но я, в общем, довольно подробно написал,
почему мне хочется, чтобы RPATH работал.

Похоже, это, гм, особенность сисколла chroot(2).  Вот только нифига
документации по этому поводу не нашлось...


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: https://lists.debian.org/[email protected]

Ответить