0

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
amazedsaint
  • 7,642
  • 7
  • 54
  • 83

2 Answers2

1

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.

Yuji
  • 34,103
  • 3
  • 70
  • 88
  • +1 Thanks for the note. As I'm pretty sure on this, just want to check if I can do the recompilation via macports or something - or whether I've to get the Mono svn from repository and do it manually? – amazedsaint Oct 06 '10 at 07:41
  • `libSystem` is the very basic shared library and you don't want to mess with it. Re-compiling mono would be safer. What error did you resolve via macports? Did you replace libraries in `/usr/lib/`? – Yuji Oct 06 '10 at 15:30
0

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.

amazedsaint
  • 7,642
  • 7
  • 54
  • 83