dyld: 库未加载:/usr/local/libodep/lib/libintl.8.dylib。

7

我希望使用 LibreOffice 4.2 的 unoconv,但好像无法启动 LibreOffice 的 Python。

当我运行

/Applications/LibreOffice.app/Contents/MacOS/LibreOfficePython.framework/Versions/3.3/Resources/Python.app/Contents/MacOS/LibreOfficePython  -v

错误信息是:
dyld: Library not loaded: /usr/local/libodep/lib/libintl.8.dylib
  Referenced from: /Applications/LibreOffice.app/Contents/MacOS/LibreOfficePython.framework/Versions/3.3/Resources/Python.app/Contents/MacOS/LibreOfficePython
  Reason: image not found
Trace/BPT trap: 5
5个回答

17

这不是对原问题的直接回答,但我在搜索相同错误消息时,最终进入了这个页面,同时运行gpg。 原来是由于ios升级期间gettext被破坏了。 以下步骤解决了问题:

brew install gettext
brew link gettext --force

1
这对我有用!但我还必须彻底删除(rm -rf)之前的gettext版本。 - Roger Garza
1
我是因为搜索另一个问题而来到这里的,这个解决方案对我也起作用了。谢谢! - Hadley King
在Mac上经历了一些麻烦的时候,我终于解决了问题并重新安装了一些软件。太棒了,真是令人惊喜! - drorsun

9

我也遇到了同样的问题。解决方法有些丑陋,但基本上遵循Michael的方法。该库由MacPorts提供并安装在那里:

> find /opt/ -name 'libintl*'
/opt/local/include/libintl.h
/opt/local/lib/libintl.8.dylib
...

/usr/中创建一个简单的软链接就可以解决问题,但我不喜欢这样污染文件系统!

> sudo bash
> mkdir -p /usr/local/libodep/lib
> ln -s /opt/local/lib/libintl.8.dylib /usr/local/libodep/lib/libintl.8.dylib

这样,来自LibreOffice的Python 3.3就能够运行了。我真心希望LibreOffice的工作人员能够修复这个问题。不知道是否已经提交了相关的bug报告?


1
这个可能也可以代替设置软链接:export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib(我没有尝试过)。 - Jens

2
我遇到了与以下人相同的问题:

dyld: Library not loaded: /usr/local/lib/libintl.8.dylib
  Referenced from:
/opt/local/bin/yasm
Reason: image not found
Trace/BPT trap: 5

我需要安装MacPortsgettext,这会在/opt/local/lib中安装libintl.*库。

MacPorts定义了yasmgettext的依赖关系。


2

它试图加载的库在MacOS上不是标准的dylib。创建LibreOffice的人应该将dylib包含在其应用程序包中的某个位置,或者应该包含有关如何为LibreOffice正确设置事物的说明。

据我所知,看起来您需要安装MacPorts才能获取libintl.8.dylib。

而MacPorts可能会将该库安装到“/opt/local/lib/”而不是“/usr/local/libodep/”。不确定LibreOffice是否足够聪明以知道在这种情况下该怎么做,但如果你很绝望,可以从一个目录中的文件到另一个目录中的符号链接中进行符号链接。


嗨,我移除端口以使用Homebrew。 - why
1
然后你需要想办法将该库获取回来,或者在MacPorts之外重新构建和安装它。 - Michael Dautermann

1

您可以在此处找到相同的主题以进行后续跟进: https://github.com/dagwieers/unoconv/issues/125

尽管提供的答案对我没有用,但安装macports对我也没有用, 我在/opt/local/lib/中没有找到libintl.8.dylib

我发现其他人也有不兼容的问题。 gettext对我也没有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接