Apple / Macos / usr / bin / env (используется в shebang) игнорирует / сбрасывает переменную DYLD_LIBRARY_PATH [дубликат]

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

Взгляните на https: // posithub.org/, который демонстрирует тип номера, называемый posit (и его предшественник unum), который обещает предложить лучшую точность с меньшим количеством бит. Если мое понимание верное, оно также фиксирует проблемы в вопросе. Весьма интересный проект, человек, стоящий за ним, является математиком Dr. Джон Густафсон . Все это с открытым исходным кодом, с множеством реализаций в C / C ++, Python, Julia и C # ( https://hastlayer.com/arithmetics ).

3
задан Jason R 23 February 2016 в 04:14
поделиться

1 ответ

Предположительно, вы используете El Capitan (OS X 10.11) или новее. Это побочный эффект защиты целостности системы. Из Руководство по защите целостности системы: статья Runtime Protections :

Когда процесс запускается, ядро ​​проверяет, защищен ли основной исполняемый файл на диске или подписан со специальным правом системы. Если значение равно true, то флаг установлен для обозначения того, что он защищен от модификации. ...

... Любые динамические компоновщики (dyld), такие как DYLD_LIBRARY_PATH, очищаются при запуске защищенных процессов.

Все системные переводчики, в том числе /bin/sh, защищены таким образом. Поэтому, когда вы вызываете sh, все переменные среды DYLD_ * очищаются.

Вы можете написать сценарий оболочки, который устанавливает DYLD_LIBRARY_PATH, а затем выполняет .sconf_temp/conftest_7. Вы можете использовать интерпретатор оболочки для выполнения этого - в самом деле, вы должны - и переменная среды будет прекрасной, поскольку очистка происходит, когда запускается защищенный исполняемый файл. В принципе, этот подход аналогичен рабочему примеру в вашем вопросе, но инкапсулирован в сценарий оболочки.

8
ответ дан Ken Thomases 28 August 2018 в 07:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: