LINUX.ORG.RU

экзотический механизм

 ,


0

2

Как в Nix OS работает "экзотический механизм подкладывания разным приложениям разных .so" ?
он основан на LD_LIBRARY_PATH, на LD_PRELOAD, или ещё как-то?

искал
https://www.google.com/search?q=NixOS library version

читал
https://nixos.wiki/wiki/FAQ
run nix-shell -p gcc pkgconfig zlib
to get into a shell with the appropriate environment variables set.

ничего не говорит о том, какие именно переменные окружения устанавливаются.

https://nixos.org/nixpkgs/manual/#chap-language-support
здесь в списке нет лиспа, а так же моего любимого языка программирования

Что мешало сделать всё это единообразно на основе overlayfs (т.е. библиотеки подкладываются каждая в своём слое)?

Ответ на: комментарий от veprbl

rpath - это параметр командной строки утилиты ld, описанный, например, здесь:

https://linux.die.net/man/1/ld

Что он делает, я не понял, но наверное прописывает эти пути прямо в бинарник.

А как это будет работать с языками, где есть библиотеки имеющие версии, но загружаемые не через ld, а механизмом среды выполнения?

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 1)

Либо через враппер с LD_LIBRARY_PATH, либо через патч бинарника с новым rpath. Для последнего погугли тулзу patchelf.

А как это будет работать с языками, где есть библиотеки имеющие версии, но загружаемые не через ld, а механизмом среды выполнения?

У них обычно тоже можно пути к библиотекам задать.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.