Я пытаюсь создать символическую ссылку под math в /usr/local/bin для Mathematica (/Applications/Mathematica.app/Contents/MacOS/WolframKernel). Исполняемый файл работает, и даже если я перехожу через Finder к символической ссылке и нажимаю на него, он работает. Но когда я вызываю math из командной строки, я получаю

$ math
dlopen(/SystemFiles, 1): image not found

Я использую OSX El Capitan 10.11.6.

Это точный дубликат исполняемого файла Symlinking, окруженный dylib, но он не работает, но ответ, данный там (для создания псевдонима), не работает для меня. Мне абсолютно необходимо, чтобы другая программа (SageMath) могла вызывать math , и эта другая программа не читает мои определения псевдонимов.

1 ответ1

0

Перемещение ответа из Комментариев в реальный ответ.

Кажется, что пара решений будет работать:

  1. В папке /Applications/Mathematica.app/Contents/MacOS/ создайте символическую ссылку наподобие ln -s WolframKernel math , а затем добавьте эту /Applications/Mathematica.app/Contents/MacOS/ в поисковый PATH в своей оболочке.
  2. Или напишите небольшой скрипт оболочки с именем "math" и поместите его где-нибудь уже в свой PATH (например, / usr / local / bin, хотя я предпочитаю иметь папку "scripts" отдельно от двоичных файлов). Скрипт оболочки должен быть довольно простым, в основном с 2 командами: cd /Applications/Mathematica.app/Contents/MacOS/ а затем просто WolframKernel . Вам может потребоваться передать аргументы из оболочки в скрипт оболочки, что не сложно, но синтаксис будет зависеть от оболочки, используемой в скрипте (а не от оболочки, из которой он вызывается).

Судя по комментариям, # 1 должен работать, и это самое простое. Однако имейте в виду, что обновления Mathematica, вероятно, удалят эту символическую ссылку, поэтому # 2 может быть более стабильным решением.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .