MacPorts на Snow Leopard: библиотека rsync не загружена libintl - PullRequest
2 голосов
/ 14 января 2010

После обновления до OS X 10.6 у меня были всевозможные специфические проблемы, связанные с MacPorts, но большинство из них было решено простой перестройкой библиотек по мере необходимости. Есть одна проблема, которую я не могу решить с помощью этого метода, и даже повторное построение всех портов, полное удаление старого каталога / opt, не дало никаких результатов:

$ rsync example.com:foo .
Password:
dyld: Library not loaded: /opt/local/lib/libintl.8.dylib
  Referenced from: /opt/local/lib/libpopt.0.dylib
  Reason: image not found
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(601) [Receiver=3.0.7]

Тем не менее, рассматриваемая библиотека существует, что действительно расстраивает:

$ otool -L /opt/local/lib/libintl.8.dylib
/opt/local/lib/libintl.8.dylib:
    /opt/local/lib/libintl.8.dylib (compatibility version 9.0.0, current version 9.2.0)
/opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 124.1.1)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.0.0)

Это из пакета gettext, который установлен:

$ port provides /opt/local/lib/libintl.8.dylib
/opt/local/lib/libintl.8.dylib is provided by: gettext

$ port installed | grep gettext
  gettext @0.17_4+universal (active)
  p5-locale-gettext @1.05_0 (active)

Файлы есть:

$ ls -l /opt/local/lib/libintl.8.dylib
lrw-r--r--  1 root  admin  19 Jan 12 17:22 /opt/local/lib/libintl.8.dylib@ -> libintl.8.0.2.dylib
$ ls -l /opt/local/lib/libintl.8.0.2.dylib
-rw-r--r--  2 root  admin  98736 Jan 12 17:22 /opt/local/lib/libintl.8.0.2.dylib

Я искал ошибки такого рода, но все они, похоже, устарели. Кто-нибудь решал эту проблему раньше?

1 Ответ

3 голосов
/ 07 августа 2010

Вы можете использовать команду "file", чтобы увидеть, какие архитектуры присутствуют в dylib:

файл /opt/local/lib/libintl.8.0.2.dylib

Если присутствуют только ppc и i386, а требуется x86_64, библиотека не может быть загружена.

...