[Mono-list] Failing dlopen on Linux via DllImport with error message 'dlopen: invalid caller'
Jean-Michel.Perraud at csiro.au
Jean-Michel.Perraud at csiro.au
Mon Nov 25 22:47:58 UTC 2013
Hi,
If anyone has an insight, experience or even hint on this one, this would be greatly appreciated.
I have a C# application that loads the a native shared library (the R shared library). I use DllImport as follows:
[DllImport("libdl")]
private static extern IntPtr dlopen([MarshalAs(UnmanagedType.LPStr)] string filename, int flag);
[DllImport("libdl")]
[return: MarshalAs(UnmanagedType.LPStr)]
private static extern string dlerror();
full code at https://rdotnet.codeplex.com/SourceControl/latest#RDotNet.NativeLibrary/UnixLibraryLoader.cs, and the test application is at https://rdotnet.codeplex.com/SourceControl/latest#TestApps/SimpleTest/Program.cs.
I can run this application on a Debian Linux x64 box. However on a CentOS, and try as I might to have similar setups, I get a failure with the cryptic dlerror message 'dlopen: invalid caller'. I was surprised to see only sparse info on the net on this message. I can load the shared library successfully with a simple C program code.
Mono JIT compiler version 3.2.3 (tarball Sun Nov 24 17:03:07 EST 2013)
R3.0.2 compiled from tarball
Regards
More information about the Mono-list
mailing list