Wei & Joe,

It looks like PythonNET is using _environ, which is decalred as a global in most unices, but not on OSX.

You can add

#if __APPLE__
#include <crt_externs.h>
#define environ *_NSGetEnviron();
#endif

To the file in PythonNET that needs _environ (or some global header) and it should work.

Let me know,

-g

On 8-Apr-08, at 9:46 PM, Joe Frayne wrote:

Just to be clear, Wei and I are trying to get "Python for .NET" working under mono:

http://pythonnet.sourceforge.net/

Thanks for any help!

Joe Frayne
Blizzard Entertainment


From: Wei Qiao
Sent: Tuesday, April 08, 2008 6:37 PM
To: [email protected]
Cc: Wei Qiao; Joe Frayne
Subject: Symbol not found: _environ (libmono.0.0.0.dylib)

Hello,

I was wondering if someone could shed some light on this strange loading error.

I’m trying to compile and run PythonNET under mono. PythonNet creates a dynamic library named clr.so. clr.so compiled fine with no errors.

otool output on clr.so:
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0) /Library/Frameworks/Mono.framework/Versions/1.2.3.1/lib/ libgmodule-2.0.0.600.3.dylib (compatibility version 601.0.0, current version 601.3.0) /Library/Frameworks/Mono.framework/Versions/1.2.3.1/lib/libmono. 0.0.0.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0) /Library/Frameworks/Mono.framework/Versions/1.2.3.1/lib/ libglib-2.0.0.600.3.dylib (compatibility version 601.0.0, current version 601.3.0) /Library/Frameworks/Mono.framework/Versions/1.2.3.1/lib/libintl. 3.4.0.dylib (compatibility version 8.0.0, current version 8.0.0) /Library/Frameworks/Mono.framework/Versions/1.2.3.1/lib/ libgthread-2.0.0.600.3.dylib (compatibility version 601.0.0, current version 601.3.0) /System/Library/Frameworks/Python.framework/Versions/2.5/Python (compatibility version 2.5.0, current version 2.5.1) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)


But when I try to load clr.so. I get the following error:
ImportError: dlopen(/Library/Python/2.5/site-packages/clr.so, 2): Symbol not found: _environ Referenced from: /Library/Frameworks/Mono.framework/Versions/1.2.3.1/ lib/libmono.0.0.0.dylib
Expected in: flat namespace


otool output on libmono.0.0.0.dylib:
/Library/Frameworks/Mono.framework/Versions/1.2.3.1/lib/libmono. 0.0.0.dylib: /Library/Frameworks/Mono.framework/Versions/1.2.3.1/lib/libmono. 0.0.0.dylib (compatibility version 1.0.0, current version 1.0.0) /Library/Frameworks/Mono.framework/Versions/1.2.3.1/lib/ libgmodule-2.0.0.600.3.dylib (compatibility version 601.0.0, current version 601.3.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.4) /Library/Frameworks/Mono.framework/Versions/1.2.3.1/lib/ libgthread-2.0.0.600.3.dylib (compatibility version 601.0.0, current version 601.3.0) /Library/Frameworks/Mono.framework/Versions/1.2.3.1/lib/ libglib-2.0.0.600.3.dylib (compatibility version 601.0.0, current version 601.3.0) /Library/Frameworks/Mono.framework/Versions/1.2.3.1/lib/libintl. 3.4.0.dylib (compatibility version 8.0.0, current version 8.0.0) /usr/lib/libiconv.2.dylib (compatibility version 5.0.0, current version 5.0.0)


It looks like libmono.0.0.0.dylib couldn’t resolve symbol _environ. Any ideas please?

Thanks,

Wei Qiao
Sr. Cinematic Software Engineer
Blizzard Entertainment

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to