On OS/X I believe you need to use Mono's DllMap feature (http://www.mono-project.com/Config_DllMap) to map from the Linux library name (libdl.so) to the Mac OS/X library which exports dlopen. I actually have no clue what exports it and I don't see one listed over here: http://gemma.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man3/dlopen.3.html so hopefully someone else on the list knows.
It looks like on Linux the -X:ExceptionDetail command line option is being passed which is preventing the stack trace from having any line number information - or maybe the stack trace is cut off? Either way it'd be useful to see the line number which is calling dlopen to understand what library we are failing to load. My guess would be that it's trying to load the Python library but I'd think that would work fine (it looks like we pass in a null path in that case which should be alright for dlopen). From: [email protected] [mailto:[email protected]] On Behalf Of Tristan Zajonc Sent: Saturday, May 29, 2010 3:59 PM To: Discussion of IronPython Subject: [IronPython] ctypes on Mono I'm running the the latest IronPython 2.6.1 (.NET 2.0 version) with Mono. I cannot import ctypes. Is this behavior expected? Any solutions? Here are the exact results: On OSX: IronPython 2.6.1 (2.6.10920.0) on .NET 2.0.50727.1433 Type "help", "copyright", "credits" or "license" for more information. >>> import ctypes Traceback (most recent call last): SystemError: libdl.so On Ubuntu (using trunk Mono): IronPython 2.6.1 (2.6.10920.0) on .NET 2.0.50727.1433 Type "help", "copyright", "credits" or "license" for more information. >>> import ctypes Traceback (most recent call last): OSError: IronPython.Runtime.Exceptions.OSException: cannot load library at IronPython.Modules.CTypes.LoadLibrary (System.String library, Int32 mode) [0x00000] in <filename unknown>:0 at IronPython.Modules.CTypes.dlopen (System.String library, Int32 mode) [0x00000] in <filename unknown>:0 at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod*,object,object[],System.Exception&) at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 Best, Tristan
_______________________________________________ Users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
