2010-10-05 104 views
0

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

当我启动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 

回答

0

我通过安装MacPorts的,然后做一个

sudo port install mono 

基本上下载单和相关的依赖性这一解决,并编译单针对本地库。

1

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

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

顺便说一句,严重的是,将10.4.7更新到10.4.11。

+0

+1谢谢你的提示。因为我非常确定这一点,只是想检查我是否可以通过macports进行重新编译 - 或者是否需要从存储库获取Mono svn并手动执行? – amazedsaint 2010-10-06 07:41:36

+0

'libSystem'是非常基本的共享库,你不想惹它。重新编译mono会更安全。你通过macports解决了什么错误?你在'/ usr/lib /'中替换了库吗? – Yuji 2010-10-06 15:30:50