在Mac 10.4.7中安装Mono 2.6.7的问题

时间:2010-10-05 14:46:30

标签: macos mono libsystem

我正在Mac 10.4.7上安装Mono 2.6.7,并且遇到了一些问题。我通过MacPort更新了几个库来解决其中的一些问题,但这个是最新的。

当我启动Mono时,它会崩溃。任何帮助表示赞赏。

dyld: lazy symbol binding failed: Symbol not found: _strerror$UNIX2003
  Referenced from: /Library/Frameworks/Mono.framework/Versions/2.6.7/lib/libglib-2.0.0.dylib
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _strerror$UNIX2003
  Referenced from: /Library/Frameworks/Mono.framework/Versions/2.6.7/lib/libglib-2.0.0.dylib
  Expected in: /usr/lib/libSystem.B.dylib

2 个答案:

答案 0 :(得分:1)

OS X的系统库通常包含多个版本的标准C函数。从10.5开始,OS X支持Single Unix Specification。与BSD中的stderror函数在SUS中的行为略有不同。因此,该库有两个版本,_stderror_stderror$UNIX2003。使用哪个是在编译时确定的,如here所述,使用C预处理器宏。

我认为您使用的Mono二进制文件是在较新的环境中编译的。你需要重新编译它。如果你在10.4机器上重新编译它,它应该自动使用非UNIX2003版本,它应该运行正常。

顺便说一句,严肃地说,将10.4.7更新为10.4.11。

答案 1 :(得分:0)

我通过安装macports然后执行

解决了这个问题
sudo port install mono

本质上下载单声道和相关依赖项,并针对本地库编译单声道。