[IronPython] ctypes on Mono

Tristan Zajonc tristanz at gmail.com
Mon May 31 00:56:55 CEST 2010


(I'll look into OSX issue, although am happy to hear a solution from other
users)

I'm not sure why I don't get line numbers.  If I pass -XExceptionDetail, I
don't get much more:

tristanz at aontic1:~$ ipy -X:ExceptionDetail
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
cannot load library
LoadLibrary at offset 0 in file:line:column <filename unknown>:0:0
dlopen at offset 0 in file:line:column <filename unknown>:0:0
Invoke at offset 0 in file:line:column <filename unknown>:0:0
  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
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


On Sun, May 30, 2010 at 6:24 PM, Dino Viehland <dinov at microsoft.com> wrote:

>  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.htmlso 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:* users-bounces at lists.ironpython.com [mailto:
> users-bounces at lists.ironpython.com] *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
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20100530/3a31adf8/attachment.html>


More information about the Ironpython-users mailing list