[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: chroot & cannot open shared object file



в общем, проблема заметена под ковер путем замены чрута на контейнер
lxc.  Если установить lxc.network.type = none, получается почти то же
самое.

Artem Chuprina -> debian-russian@lists.debian.org  @ Fri, 07 Nov 2014 18:06:51 +0300:

 >>> 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

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

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


 AC> -- 
 AC> To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
 AC> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 AC> Archive: [🔎] 87ppczoxro.fsf@wizzle.ran.pp.ru">https://lists.debian.org/[🔎] 87ppczoxro.fsf@wizzle.ran.pp.ru


Reply to: