小编Gid*_*eon的帖子

如何删除其他软件所依赖的旧版本 iconv?(以及其他可爱的问题)[OS X]

最近,我尝试以一种 hacky 的方式安装一系列写得不好的软件(不会让你厌烦细节),但没有成功,现在看来我的 OS X(Lion,10.7.5)系统文件一团糟。我会尽量保持简短。

主要问题:

1) 由于 dyld 错误消息而无法从终端打开任何软件

2)安装了两个版本的libiconv,其中一个太旧,另一个不完整,并且正在努力解决这种情况

1) 的第一个例子:运行一些软件(很久以前安装的),我认为它需要 XCode 等并且是基于 Python 的结果:

...
ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/glib/_glib.so, 2): Library not loaded: /opt/local/lib/libiconv.2.dylib
Referenced from: /opt/local/lib/libgobject-2.0.0.dylib
Reason: Incompatible library version: libgobject-2.0.0.dylib requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0
Run Code Online (Sandbox Code Playgroud)

然而,otool 显示 /opt/local/lib/libiconv.2.dylib 是版本 8.1.0。我认为这是MacPorts安装的版本。

但:

$ otool -L /usr/lib/libiconv.2.dylib
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
Run Code Online (Sandbox Code Playgroud)

所以我认为我有一个旧版本(7.0.0),我尝试运行的软件错误地引用了它。我对重新安装该软件犹豫不决,因为一位现在在世界另一端的大师朋友帮助了我(它尚未在 OS X 上进行过测试,我认为他创建了一个二进制文件,谁知道还有什么。)但无论如何,我尝试从命令行运行的几乎所有内容都会收到这样的消息,所以我不知道这是否只是必须重新安装所有软件的情况。

显然我需要获取 iconv 的最新版本,这应该更新 libiconv 吗?所以我通过下载和配置获得了最新的 iconv (1.14) - 也许它会覆盖旧的 7.0.0 libiconv 版本?但不是:

$ ./configure --prefix=/usr/lib
... …
Run Code Online (Sandbox Code Playgroud)

macports software-conflict libraries macos

3
推荐指数
1
解决办法
5156
查看次数

标签 统计

libraries ×1

macos ×1

macports ×1

software-conflict ×1