Issues with installing Mono 2.6.7 in Mac 10.4.7
I'm installing Mono 2.6.7 on开发者_运维知识库 a Mac 10.4.7, and running across few issues. I've solved some of them by updating few libraries via MacPort, but this one is the latest.
When I start Mono, it crashes. Any help is appreciated.
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
OS X's system libraries often contain multiple versions of standard C functions. Starting 10.5, OS X supports the Single Unix Specification. The stderror
function as in BSD behaves slightly differently in SUS. So, the library has two versions, _stderror
and _stderror$UNIX2003
. Which to use is determined at the compile time, as described here, using C preprocessor macros.
I think the Mono binary you're using was compiled in a newer environment. You need to recompile it. If you recompile it on 10.4 machine, it should automatically use the non-UNIX2003 version and it should run fine.
By the way, seriously, update 10.4.7 to 10.4.11.
I got this resolved by installing macports, and then doing a
sudo port install mono
Which essentially downloads mono and related dependencies, and compile mono against the local libraries.
精彩评论