Any chance you can put a print in any calls to dlopen in ctypes\__init__.py and 
see what we're trying to load?

From: [email protected] 
[mailto:[email protected]] On Behalf Of Tristan Zajonc
Sent: Sunday, May 30, 2010 3:57 PM
To: Discussion of IronPython
Subject: Re: [IronPython] ctypes on Mono

(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:

trist...@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 
<[email protected]<mailto:[email protected]>> 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.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]> 
[mailto:[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]<mailto:[email protected]>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to