XQuartz ошибка динамической загрузки - PullRequest
3 голосов
/ 21 ноября 2011

Я обновил XQuartz, и теперь он не загружается, жалуясь, что:

Dyld Error Message:
  Library not loaded: /opt/X11/lib/libfreetype.6.dylib
  Referenced from: /Applications/Utilities/XQuartz.app/Contents/MacOS/X11.bin
  Reason: Incompatible library version: X11.bin requires version 14.0.0 or later, but libfreetype.6.dylib provides version 13.0.0

Однако, если я otool -L /opt/X11/lib/libfreetype.6.dylib:

/opt/X11/lib/libfreetype.6.dylib:
    /opt/X11/lib/libfreetype.6.dylib (compatibility version 14.0.0, current version 14.2.0)
    ...

Так что библиотека - правильная версия!

Что может вызвать эту ошибку?

1 Ответ

1 голос
/ 28 декабря 2014

Подобные ошибки вызваны тем, что пользователи устанавливают DYLD_LIBRARY_PATH в своей среде. Скорее всего, это можно сделать в /etc/launchd.conf, / etc / profile, / etc / bashrc, ~ / .profile, ~ / .bashrc, ~ / .bash_profile или аналогичных.

DYLD_LIBRARY_PATH включал каталог, содержащий файл с именем libfreetype.6.dylib, который использовался вместо того, который включен в XQuartz.

Тот, кто дал вам рекомендацию установить DYLD_LIBRARY_PATH, вероятно, сделал это по ошибке. Его следует использовать только в очень специфических случаях, например в средах разработки. Он почти никогда не должен использоваться в отгрузочных продуктах и ​​никогда не должен использоваться в качестве общего обходного пути в вашей оболочке.

...