[MonoDevelop] System.DllNotFoundException after rebuild

Matt Calder mvcalder at gmail.com
Fri Mar 23 12:17:21 UTC 2012


Here's a simple self contained example:

File: foo.cpp

/********************************/
// Compile with:
// gcc -o libfoo.so -DPLATFORM64 -fPIC -shared foo.cpp

extern "C" {void foo();}

void foo() {}
/********************************/

File: ExternalLib.cs

//////////////////////////////////////////
using System;
using System.Runtime.InteropServices;

namespace ExternalLib
{
    public static class Foo
    {
        const string NATIVE_LIB = "/tmp/libfoo.so";

        [DllImport(NATIVE_LIB, EntryPoint = "foo")]
        public static extern void foo();
    }

    class MainClass
    {
        public static void Main (string[] args) {Foo.foo();}
    }
}
/////////////////////////////////////////

Compile the lib:

calder at pharos:/tmp$ gcc -o libfoo.so -DPLATFORM64 -fPIC -shared foo.cpp
calder at pharos:/tmp$ ls -lt libfoo.so
-rwxr-xr-x 1 calder calder 7826 2012-03-23 08:13 libfoo.so

Check that symbol "foo" is defined:

calder at pharos:/tmp$ nm libfoo.so | grep foo
00000000000005ac T foo

and that the lib is a lib:

calder at pharos:/tmp$ file libfoo.so
libfoo.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
dynamically linked, not stripped


However, running ExternalLib gives:

 Unhandled Exception: System.DllNotFoundException: /tmp/libfoo.so
  at (wrapper managed-to-native) ExternalLib.Foo:foo ()
  at ExternalLib.MainClass.Main (System.String[] args) [0x00001] in
/home/calder/Projects/ExternalLib/ExternalLib/Main.cs:16
[ERROR] FATAL UNHANDLED EXCEPTION: System.DllNotFoundException:
/tmp/libfoo.so
  at (wrapper managed-to-native) ExternalLib.Foo:foo ()
  at ExternalLib.MainClass.Main (System.String[] args) [0x00001] in
/home/calder/Projects/ExternalLib/ExternalLib/Main.cs:16






On Thu, Mar 22, 2012 at 4:38 PM, Matt Calder <mvcalder at gmail.com> wrote:

> I am getting an exception loading unmanaged code:
>
> System.DllNotFoundException: /usr/local/lib/MurmurHash3.so
>
> This is immediately after a rebuild from source (branch master) today, and
> a rebuild of mono (branch 2.10). This was not an issue prior to the
> rebuild, and the library is present. Any ideas?
>
> Matt
>
> For the record, here is my Help-About:
>
> MonoDevelop 2.8.8.1
> Installation UUID: feaee481-7c2a-4781-a090-d6228809132d
> Runtime:
>     Mono 2.11 ((no/35e58ea Thu Mar 22 14:34:37 EDT 2012) (64-bit)
>     GTK 2.22.0
>     GTK# (2.12.0.0)
> Build information:
>     Git revision: ac0b7451402d77aeefe96633793e282a239f1330-dirty
>     Build date: 2012-03-22 18:45:41+0000
> Operating System:
>     Linux
>     Linux pharos 2.6.35-32-generic #66-Ubuntu SMP Mon Feb 13 21:04:32 UTC
> 2012 x86_64 GNU/Linux
> Loaded assemblies:
> Mono.TextTemplating                        0.0.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.TextTemplating/Mono.TextTemplating.dll
> Mono.Cecil.Mdb                             0.9.4.0
> /usr/lib/monodevelop/bin/Mono.Cecil.Mdb.dll
> MonoDevelop.Debugger.Soft.AspNet           0.0.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.AspNet.dll
> MonoDevelop.Debugger.Soft.Moonlight        0.0.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.Moonlight.dll
> mdhost                                     1.0.0.0
> /usr/lib/monodevelop/bin/mdhost.exe
> System.Runtime.Remoting                    4.0.0.0
> /usr/lib/mono/gac/System.Runtime.Remoting/4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
> ICSharpCode.SharpZipLib                    2.84.0.0
> /usr/lib/mono/gac/ICSharpCode.SharpZipLib/2.84.0.0__1b03e6acf1164f73/ICSharpCode.SharpZipLib.dll
> NUnitRunner                                0.0.0.0
> /usr/lib/monodevelop/AddIns/NUnit/NUnitRunner.dll
> MonoDeveloperExtensions_nunit              0.0.0.0
> /usr/lib/monodevelop/AddIns/MonoDeveloperExtensions/MonoDeveloperExtensions_nunit.dll
> MonoDevelop.Debugger.Soft                  2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.dll
> Mono.Debugger.Soft                         0.0.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.Debugger.Soft/Mono.Debugger.Soft.dll
> Mono.Debugging.Soft                        0.0.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.Debugger.Soft/Mono.Debugging.Soft.dll
> ICSharpCode.SharpZipLib                    4.84.0.0
> /usr/lib/mono/gac/ICSharpCode.SharpZipLib/4.84.0.0__1b03e6acf1164f73/ICSharpCode.SharpZipLib.dll
> MonoDevelop.DocFood                        1.0.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.DocFood.dll
> gconf-sharp                                2.24.0.0
> /usr/lib/mono/gac/gconf-sharp/2.24.0.0__35e10195dab3c99f/gconf-sharp.dll
> I18N.Rare                                  4.0.0.0
> /usr/lib/mono/gac/I18N.Rare/4.0.0.0__0738eb9f132ed756/I18N.Rare.dll
> I18N.CJK                                   4.0.0.0
> /usr/lib/mono/gac/I18N.CJK/4.0.0.0__0738eb9f132ed756/I18N.CJK.dll
> I18N.MidEast                               4.0.0.0
> /usr/lib/mono/gac/I18N.MidEast/4.0.0.0__0738eb9f132ed756/I18N.MidEast.dll
> I18N.Other                                 4.0.0.0
> /usr/lib/mono/gac/I18N.Other/4.0.0.0__0738eb9f132ed756/I18N.Other.dll
> I18N.West                                  4.0.0.0
> /usr/lib/mono/gac/I18N.West/4.0.0.0__0738eb9f132ed756/I18N.West.dll
> I18N                                       4.0.0.0
> /usr/lib/mono/gac/I18N/4.0.0.0__0738eb9f132ed756/I18N.dll
> MonoDevelop.HexEditor                      2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.HexEditor.dll
> MonoDevelop.AssemblyBrowser                2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.AssemblyBrowser.dll
> ChangeLogAddIn                             2.6.0.0
> /usr/lib/monodevelop/AddIns/ChangeLogAddIn/ChangeLogAddIn.dll
> ILAsmBinding                               2.6.0.0
> /usr/lib/monodevelop/AddIns/BackendBindings/ILAsmBinding.dll
> OldNRefactory                              2.1.1.0
> /usr/lib/monodevelop/bin/OldNRefactory.dll
> ICSharpCode.NRefactory                     1.0.4421.12369
> /usr/lib/monodevelop/bin/ICSharpCode.NRefactory.dll
> MonoDevelop.Projects.Formats.MSBuild       1.0.0.0
> /usr/lib/monodevelop/bin/MonoDevelop.Projects.Formats.MSBuild.exe
> MonoDevelop.MsVisualStudio                 2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.MsVisualStudio/MonoDevelop.MsVisualStudio.dll
> MonoDevelop.VBNetBinding                   2.6.0.0
> /usr/lib/monodevelop/AddIns/BackendBindings/MonoDevelop.VBNetBinding.dll
> MonoDevelop.CSharpBinding                  2.6.0.0
> /usr/lib/monodevelop/AddIns/BackendBindings/MonoDevelop.CSharpBinding.dll
> WelcomePage                                2.6.0.0
> /usr/lib/monodevelop/AddIns/WelcomePage/WelcomePage.dll
> MonoDevelop.CBinding                       2.6.0.0
> /usr/lib/monodevelop/AddIns/BackendBindings/MonoDevelop.CBinding.dll
> MonoDevelop.Refactoring                    2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.Refactoring/MonoDevelop.Refactoring.dll
> MonoDevelop.Deployment.Linux               2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.Deployment/MonoDevelop.Deployment.Linux.dll
> MonoDevelop.GtkCore                        2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.GtkCore/MonoDevelop.GtkCore.dll
> libsteticui                                0.0.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.GtkCore/libsteticui.dll
> libstetic                                  0.0.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.GtkCore/libstetic.dll
> MonoDevelop.AspNet.Mvc                     2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.AspNet.Mvc/MonoDevelop.AspNet.Mvc.dll
> MonoDevelop.TextTemplating                 2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.TextTemplating/MonoDevelop.TextTemplating.dll
> MonoDevelop.VersionControl.Subversion.Unix 2.6.0.0
> /usr/lib/monodevelop/AddIns/VersionControl/MonoDevelop.VersionControl.Subversion.Unix.dll
> MonoDevelop.VersionControl.Subversion      2.6.0.0
> /usr/lib/monodevelop/AddIns/VersionControl/MonoDevelop.VersionControl.Subversion.dll
> Sharpen                                    1.0.0.0
> /usr/lib/monodevelop/AddIns/VersionControl/Sharpen.dll
> NGit                                       1.0.0.0
> /usr/lib/monodevelop/AddIns/VersionControl/NGit.dll
> MonoDevelop.VersionControl.Git             2.6.0.0
> /usr/lib/monodevelop/AddIns/VersionControl/MonoDevelop.VersionControl.Git.dll
> MonoDevelop.Gettext                        2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.Gettext/MonoDevelop.Gettext.dll
> MonoDevelop.CodeMetrics                    2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.CodeMetrics/MonoDevelop.CodeMetrics.dll
> MonoDevelop.Autotools                      2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.Autotools/MonoDevelop.Autotools.dll
> MonoDevelop.WebReferences                  2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.WebReferences/MonoDevelop.WebReferences.dll
> nunit.util                                 2.6.0.12051
> /usr/lib/monodevelop/AddIns/NUnit/nunit.util.dll
> nunit.framework                            2.6.0.12051
> /usr/lib/monodevelop/AddIns/NUnit/nunit.framework.dll
> nunit.core.interfaces                      2.6.0.12051
> /usr/lib/monodevelop/AddIns/NUnit/nunit.core.interfaces.dll
> nunit.core                                 2.6.0.12051
> /usr/lib/monodevelop/AddIns/NUnit/nunit.core.dll
> MonoDevelop.NUnit                          2.6.0.0
> /usr/lib/monodevelop/AddIns/NUnit/MonoDevelop.NUnit.dll
> MonoDeveloperExtensions                    2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDeveloperExtensions/MonoDeveloperExtensions.dll
> Mono.Debugging                             0.0.0.0
> /usr/lib/monodevelop/bin/Mono.Debugging.dll
> MonoDevelop.Moonlight                      2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.Moonlight/MonoDevelop.Moonlight.dll
> MonoDevelop.AspNet                         2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.AspNet/MonoDevelop.AspNet.dll
> MonoDevelop.XmlEditor                      2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.dll
> MonoDevelop.Deployment                     2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.Deployment/MonoDevelop.Deployment.dll
> MonoDevelop.DesignerSupport                2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.dll
> pango-sharp                                2.12.0.0
> /usr/lib/mono/gac/pango-sharp/2.12.0.0__35e10195dab3c99f/pango-sharp.dll
> MonoDevelop.VersionControl                 2.6.0.0
> /usr/lib/monodevelop/AddIns/VersionControl/MonoDevelop.VersionControl.dll
> MonoDevelop.SourceEditor2                  2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.SourceEditor2.dll
> MonoDevelop.Debugger                       2.6.0.0
> /usr/lib/monodevelop/AddIns/MonoDevelop.Debugger/MonoDevelop.Debugger.dll
> monodoc                                    1.0.0.0
> /usr/lib/mono/gac/monodoc/1.0.0.0__0738eb9f132ed756/monodoc.dll
> System.Drawing                             4.0.0.0
> /usr/lib/mono/gac/System.Drawing/4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
> gnome-vfs-sharp                            2.24.0.0
> /usr/lib/mono/gac/gnome-vfs-sharp/2.24.0.0__35e10195dab3c99f/gnome-vfs-sharp.dll
> gnome-sharp                                2.24.0.0
> /usr/lib/mono/gac/gnome-sharp/2.24.0.0__35e10195dab3c99f/gnome-sharp.dll
> GnomePlatform                              2.6.0.0
> /usr/lib/monodevelop/AddIns/GnomePlatform/GnomePlatform.dll
> Mono.Cecil                                 0.9.4.0
> /usr/lib/monodevelop/bin/Mono.Cecil.dll
> System.Configuration                       4.0.0.0
> /usr/lib/mono/gac/System.Configuration/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
> Mono.Security                              4.0.0.0
> /usr/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll
> Mono.Cairo                                 2.0.0.0
> /usr/lib/mono/gac/Mono.Cairo/2.0.0.0__0738eb9f132ed756/Mono.Cairo.dll
> gdk-sharp                                  2.12.0.0
> /usr/lib/mono/gac/gdk-sharp/2.12.0.0__35e10195dab3c99f/gdk-sharp.dll
> Mono.TextEditor                            1.0.0.0
> /usr/lib/monodevelop/bin/Mono.TextEditor.dll
> atk-sharp                                  2.12.0.0
> /usr/lib/mono/gac/atk-sharp/2.12.0.0__35e10195dab3c99f/atk-sharp.dll
> glib-sharp                                 2.12.0.0
> /usr/lib/mono/gac/glib-sharp/2.12.0.0__35e10195dab3c99f/glib-sharp.dll
> gtk-sharp                                  2.12.0.0
> /usr/lib/mono/gac/gtk-sharp/2.12.0.0__35e10195dab3c99f/gtk-sharp.dll
> Mono.Posix                                 4.0.0.0
> /usr/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll
> Mono.Addins                                0.6.0.0
> /usr/lib/mono/gac/Mono.Addins/0.6.0.0__0738eb9f132ed756/Mono.Addins.dll
> Mono.Addins.Setup                          0.6.0.0
> /usr/lib/mono/gac/Mono.Addins.Setup/0.6.0.0__0738eb9f132ed756/Mono.Addins.Setup.dll
> System.Xml                                 4.0.0.0
> /usr/lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll
> System.Xml.Linq                            4.0.0.0
> /usr/lib/mono/gac/System.Xml.Linq/4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll
> System.Core                                4.0.0.0
> /usr/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll
> System                                     4.0.0.0
> /usr/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll
> MonoDevelop.Core                           2.6.0.0
> /usr/lib/monodevelop/bin/MonoDevelop.Core.dll
> MonoDevelop.Ide                            2.6.0.0
> /usr/lib/monodevelop/bin/MonoDevelop.Ide.dll
> MonoDevelop                                2.6.0.0
> /usr/lib/monodevelop/bin/MonoDevelop.exe
> mscorlib                                   4.0.0.0
> /usr/lib/mono/4.5/mscorlib.dll
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/monodevelop-list/attachments/20120323/a91c45a5/attachment-0001.html>


More information about the Monodevelop-list mailing list