dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.45k stars 10.03k forks source link

linux k kestrel - System.DllNotFoundException: libdl #172

Closed nathfy closed 9 years ago

nathfy commented 10 years ago

Getting this when running "k kestrel" on linux centos 7 - updated KVM to 1.0.0-alpha4-10353 as default KVM and cleared packages, then restored. Using the Home samples repo:

System.DllNotFoundException: libdl at (wrapper managed-to-native) Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis/LinuxApis:dlopen (string,int) at Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis+LinuxApis.LoadLibrary (System.String dllToLoad) [0x00000] in :0 at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.Load (System.String dllToLoad) [0x00000] in :0 at Microsoft.AspNet.Server.Kestrel.KestrelEngine..ctor (ILibraryManager libraryManager) [0x00000] in :0 at Kestrel.ServerFactory.Start (IServerInformation serverInformation, System.Func`2 application) [0x00000] in :0 at Microsoft.AspNet.Hosting.HostingEngine.Start (Microsoft.AspNet.Hosting.HostingContext context) [0x00000] in :0 at Microsoft.AspNet.Hosting.Program.Main (System.String[] args) [0x00000] in :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 :0

monoman commented 10 years ago

The libdl library normally is part of the glibc package (something like http://rpmfind.net//linux/RPM/centos/7.0.1406/x86_64/Packages/glibc-2.17-55.el7.i686.html), which is a quite essencial part of any linux distro, so it must be present.

The only thing strange looking at the source https://github.com/aspnet/KestrelHttpServer/blob/dev/src/Microsoft.AspNet.Server.Kestrel/Networking/PlatformApis.cs is that the imports are in the form

[DllImport("libdl")] and AFAIR in mono you don't need to have the prefix 'lib' if you have Mono find the native libs for you, it may be confusing Mono into looking at a liblibdl.so file, but more probably the place Centos puts it's libdl.so file (symlink to the versioned file normally) is not where Mono is searching, so some environment vars may be misconfigured.

do

MONO_LOG_LEVEL=debug MONO_LOG_MASK="dll" k kestrel

to see where/what effectively mono is trying to do. (See http://www.mono-project.com/docs/advanced/pinvoke/dllnotfoundexception/ and http://www.mono-project.com/docs/advanced/runtime/logging-runtime-events/ )

Hope it helps,

Rafael Teixeira O..:.)oooo

On Fri, Oct 31, 2014 at 11:43 AM, nathfy notifications@github.com wrote:

Getting this when running "k kestrel" on linux centos 7 - updated KVM to 1.0.0-alpha4-10353 as default KVM and cleared packages, then restored. Using the Home samples repo:

System.DllNotFoundException: libdl at (wrapper managed-to-native) Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis/LinuxApis:dlopen (string,int) at Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis+LinuxApis.LoadLibrary (System.String dllToLoad) [0x00000] in :0 at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.Load (System.String dllToLoad) [0x00000] in :0 at Microsoft.AspNet.Server.Kestrel.KestrelEngine..ctor (ILibraryManager libraryManager) [0x00000] in :0 at Kestrel.ServerFactory.Start (IServerInformation serverInformation, System.Func`2 application) [0x00000] in :0 at Microsoft.AspNet.Hosting.HostingEngine.Start (Microsoft.AspNet.Hosting.HostingContext context) [0x00000] in :0 at Microsoft.AspNet.Hosting.Program.Main (System.String[] args) [0x00000] in :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 :0

— Reply to this email directly or view it on GitHub https://github.com/aspnet/Home/issues/172.

friism commented 10 years ago

Here's what I get with those debug statements:

root@b39a8eb9cdde:/usr/src/app/samples/HelloWeb# MONO_LOG_LEVEL=debug MONO_LOG_MASK="dll" k kestrel
Mono: DllImport attempting to load: 'api-ms-win-core-file-l1-2-0.dll'.
Mono: DllImport error loading library '/root/.kre/packages/KRE-Mono.1.0.0-alpha4/bin/libapi-ms-win-core-file-l1-2-0.dll': '/root/.kre/packages/KRE-Mono.1.0.0-al
pha4/bin/libapi-ms-win-core-file-l1-2-0.dll: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library '/root/.kre/packages/KRE-Mono.1.0.0-alpha4/bin/libapi-ms-win-core-file-l1-2-0.dll.so': '/root/.kre/packages/KRE-Mono.1.0.0
-alpha4/bin/libapi-ms-win-core-file-l1-2-0.dll.so: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'libapi-ms-win-core-file-l1-2-0.dll': 'libapi-ms-win-core-file-l1-2-0.dll: cannot open shared object file: No such file or
 directory'.
Mono: DllImport error loading library 'libapi-ms-win-core-file-l1-2-0.dll.so': 'libapi-ms-win-core-file-l1-2-0.dll.so: cannot open shared object file: No such f
ile or directory'.
Mono: DllImport error loading library 'api-ms-win-core-file-l1-2-0.dll': 'api-ms-win-core-file-l1-2-0.dll: cannot open shared object file: No such file or direc
tory'.
Mono: DllImport error loading library '/root/.kre/packages/KRE-Mono.1.0.0-alpha4/bin/libapi-ms-win-core-file-l1-2-0': '/root/.kre/packages/KRE-Mono.1.0.0-alpha4
/bin/libapi-ms-win-core-file-l1-2-0: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library '/root/.kre/packages/KRE-Mono.1.0.0-alpha4/bin/libapi-ms-win-core-file-l1-2-0.so': '/root/.kre/packages/KRE-Mono.1.0.0-alp
ha4/bin/libapi-ms-win-core-file-l1-2-0.so: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'libapi-ms-win-core-file-l1-2-0': 'libapi-ms-win-core-file-l1-2-0: cannot open shared object file: No such file or directo
ry'.
Mono: DllImport error loading library 'libapi-ms-win-core-file-l1-2-0.so': 'libapi-ms-win-core-file-l1-2-0.so: cannot open shared object file: No such file or d
irectory'.
Mono: DllImport error loading library 'api-ms-win-core-file-l1-2-0': 'api-ms-win-core-file-l1-2-0: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library '/root/.kre/packages/KRE-Mono.1.0.0-alpha4/bin/libapi-ms-win-core-file-l1-2-0.dll': '/root/.kre/packages/KRE-Mono.1.0.0-al
pha4/bin/libapi-ms-win-core-file-l1-2-0.dll: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library '/root/.kre/packages/KRE-Mono.1.0.0-alpha4/bin/libapi-ms-win-core-file-l1-2-0.dll.so': '/root/.kre/packages/KRE-Mono.1.0.0
-alpha4/bin/libapi-ms-win-core-file-l1-2-0.dll.so: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'libapi-ms-win-core-file-l1-2-0.dll': 'libapi-ms-win-core-file-l1-2-0.dll: cannot open shared object file: No such file or
 directory'.
Mono: DllImport error loading library 'libapi-ms-win-core-file-l1-2-0.dll.so': 'libapi-ms-win-core-file-l1-2-0.dll.so: cannot open shared object file: No such f
ile or directory'.
Mono: DllImport error loading library 'libapi-ms-win-core-file-l1-2-0.dll': 'libapi-ms-win-core-file-l1-2-0.dll: cannot open shared object file: No such file or
 directory'.
Mono: DllImport unable to load library 'libapi-ms-win-core-file-l1-2-0.dll: cannot open shared object file: No such file or directory'.
Mono: DllImport attempting to load: '__Internal'.
Mono: DllImport loaded library '(null)'.
Mono: DllImport searching in: '__Internal' ('(null)').
Mono: Searching for 'ReadFile'.
Mono: DllImport attempting to load: 'api-ms-win-core-file-l1-2-0.dll'.
Mono: DllImport error loading library '/root/.kre/packages/KRE-Mono.1.0.0-alpha4/bin/libapi-ms-win-core-file-l1-2-0.dll': '/root/.kre/packages/KRE-Mono.1.0.0-al
pha4/bin/libapi-ms-win-core-file-l1-2-0.dll: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library '/root/.kre/packages/KRE-Mono.1.0.0-alpha4/bin/libapi-ms-win-core-file-l1-2-0.dll.so': '/root/.kre/packages/KRE-Mono.1.0.0
-alpha4/bin/libapi-ms-win-core-file-l1-2-0.dll.so: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'libapi-ms-win-core-file-l1-2-0.dll': 'libapi-ms-win-core-file-l1-2-0.dll: cannot open shared object file: No such file or
 directory'.
Mono: DllImport error loading library 'libapi-ms-win-core-file-l1-2-0.dll.so': 'libapi-ms-win-core-file-l1-2-0.dll.so: cannot open shared object file: No such f
ile or directory'.
Mono: DllImport error loading library 'api-ms-win-core-file-l1-2-0.dll': 'api-ms-win-core-file-l1-2-0.dll: cannot open shared object file: No such file or direc
tory'.
Mono: DllImport error loading library '/root/.kre/packages/KRE-Mono.1.0.0-alpha4/bin/libapi-ms-win-core-file-l1-2-0': '/root/.kre/packages/KRE-Mono.1.0.0-alpha4
/bin/libapi-ms-win-core-file-l1-2-0: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library '/root/.kre/packages/KRE-Mono.1.0.0-alpha4/bin/libapi-ms-win-core-file-l1-2-0.so': '/root/.kre/packages/KRE-Mono.1.0.0-alp
ha4/bin/libapi-ms-win-core-file-l1-2-0.so: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'libapi-ms-win-core-file-l1-2-0': 'libapi-ms-win-core-file-l1-2-0: cannot open shared object file: No such file or directo
ry'.
Mono: DllImport error loading library 'libapi-ms-win-core-file-l1-2-0.so': 'libapi-ms-win-core-file-l1-2-0.so: cannot open shared object file: No such file or d
irectory'.
Mono: DllImport error loading library 'api-ms-win-core-file-l1-2-0': 'api-ms-win-core-file-l1-2-0: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library '/root/.kre/packages/KRE-Mono.1.0.0-alpha4/bin/libapi-ms-win-core-file-l1-2-0.dll': '/root/.kre/packages/KRE-Mono.1.0.0-al
pha4/bin/libapi-ms-win-core-file-l1-2-0.dll: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library '/root/.kre/packages/KRE-Mono.1.0.0-alpha4/bin/libapi-ms-win-core-file-l1-2-0.dll.so': '/root/.kre/packages/KRE-Mono.1.0.0
-alpha4/bin/libapi-ms-win-core-file-l1-2-0.dll.so: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'libapi-ms-win-core-file-l1-2-0.dll': 'libapi-ms-win-core-file-l1-2-0.dll: cannot open shared object file: No such file or
 directory'.
Mono: DllImport error loading library 'libapi-ms-win-core-file-l1-2-0.dll.so': 'libapi-ms-win-core-file-l1-2-0.dll.so: cannot open shared object file: No such f
ile or directory'.
Mono: DllImport error loading library 'libapi-ms-win-core-file-l1-2-0.dll': 'libapi-ms-win-core-file-l1-2-0.dll: cannot open shared object file: No such file or
 directory'.
Mono: DllImport unable to load library 'libapi-ms-win-core-file-l1-2-0.dll: cannot open shared object file: No such file or directory'.
Mono: DllImport searching in: '__Internal' ('(null)').
Mono: Searching for 'ReadFile'.
Mono: DllImport attempting to load: 'libdl'.
Mono: DllImport error loading library '/root/.kpm/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-alpha4/lib/aspnet50/libdl': '/root/.kpm/packages/Microsoft.AspN
et.Server.Kestrel/1.0.0-alpha4/lib/aspnet50/libdl: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library '/root/.kpm/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-alpha4/lib/aspnet50/libdl.so': '/root/.kpm/packages/Microsoft.A
spNet.Server.Kestrel/1.0.0-alpha4/lib/aspnet50/libdl.so: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'libdl': 'libdl: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'libdl.so': 'libdl.so: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'libdl': 'libdl: cannot open shared object file: No such file or directory'.
Mono: DllImport unable to load library 'libdl: cannot open shared object file: No such file or directory'.
Mono: DllImport attempting to load: 'libdl'.
Mono: DllImport error loading library '/root/.kpm/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-alpha4/lib/aspnet50/libdl': '/root/.kpm/packages/Microsoft.AspN
et.Server.Kestrel/1.0.0-alpha4/lib/aspnet50/libdl: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library '/root/.kpm/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-alpha4/lib/aspnet50/libdl.so': '/root/.kpm/packages/Microsoft.A
spNet.Server.Kestrel/1.0.0-alpha4/lib/aspnet50/libdl.so: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'libdl': 'libdl: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'libdl.so': 'libdl.so: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'libdl': 'libdl: cannot open shared object file: No such file or directory'.
Mono: DllImport unable to load library 'libdl: cannot open shared object file: No such file or directory'.
System.DllNotFoundException: libdl
  at (wrapper managed-to-native) Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis/LinuxApis:dlopen (string,int)
  at Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis+LinuxApis.LoadLibrary (System.String dllToLoad) [0x00000] in <filename unknown>:0
  at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.Load (System.String dllToLoad) [0x00000] in <filename unknown>:0
  at Microsoft.AspNet.Server.Kestrel.KestrelEngine..ctor (ILibraryManager libraryManager) [0x00000] in <filename unknown>:0
  at Kestrel.ServerFactory.Start (IServerInformation serverInformation, System.Func`2 application) [0x00000] in <filename unknown>:0
  at Microsoft.AspNet.Hosting.HostingEngine.Start (Microsoft.AspNet.Hosting.HostingContext context) [0x00000] in <filename unknown>:0
  at Microsoft.AspNet.Hosting.Program.Main (System.String[] args) [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.Global
ization.CultureInfo culture) [0x00000] in <filename unknown>:0
root@b39a8eb9cdde:/usr/src/app/samples/HelloWeb#
friism commented 10 years ago

Seems like libc6-dev is required for kestrel to get going.

davidfowl commented 10 years ago

Those look pretty windows specific. https://gist.github.com/lodejard/c4260f246b1b0182466c To get libuv on the box. Then you need to use a later build of kvm and KRE to run kestrel. Alpha4 doesn't work on *nix without pain.

friism commented 10 years ago

@davidfowl is 1.0.0-beta2-10677 gonna work?

davidfowl commented 10 years ago

that plus a beta2 or beta1 version of kestrel. It was just made to support *nix.

friism commented 10 years ago

How do I get the kestrel beta versions? They're not in https://www.myget.org/F/aspnetmaster/api/v2/FindPackagesById()?Id='Kestrel'

giggio commented 9 years ago

Just tried it with the aspnet container in Docker. Same exact problem.

thaiphan commented 9 years ago

Hey guys,

So I had a similar problem but I figured out how to get around it. My instructions are specific to Ubuntu but I'm sure you're all smart enough to translate it to whatever flavour of Linux you guys are using.

The first thing you need to do is install all the required dependencies. Run the following commands:

sudo apt-get install -yq libtool git-core build-essential autoconf

git clone https://github.com/joyent/libuv.git \
        && cd libuv \
        && git checkout v1.3.0 \
        && ./autogen.sh \
        && ./configure \
        && make

sudo make install

As far as I can tell (and be warned that I'm an idiot), kestrel-1.0.0-beta1 won't work on Linux. You will have to keep using kestrel-1.0.0-alpha4 as you can at least do the symlinking hack as detailed in Carolyn Van Slyck's blog post.

You will then need to symlink the libuv.so.1 file that you've just compiled into the correct path:

sudo ln -s /usr/local/lib/libuv.so.1 /usr/lib/libuv.so.1

Kestrel should now run without any problems.

Thank you for your time.

trydis commented 9 years ago

Here's how I got it running on CentOS 7: http://trydis.github.io/2015/01/06/running-aspvnext-centos7/

Tragetaschen commented 9 years ago

For libdl instead of symlinking in the file system, using the dllmap feature of mono is probably the cleaner solution. Apply this patch to /etc/mono/config. This maps the "libdl" DllImport-string to the existing library.

p10tyr commented 9 years ago

Dont know if its the same issue but I got here by searching the dll is missing

root@vnext:~/HelloWorldVNext/src/hellomvc# k web-kestrel
System.DllNotFoundException: libdl
  at (wrapper managed-to-native) Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis/LinuxApis:dlopen (string,int)
  at Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis+LinuxApis.LoadLibrary (System.String dllToLoad) [0x00000] in <filename unknown>:0
  at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.Load (System.String dllToLoad) [0x00000] in <filename unknown>:0
  at Microsoft.AspNet.Server.Kestrel.KestrelEngine..ctor (ILibraryManager libraryManager) [0x00000] in <filename unknown>:0
  at Kestrel.ServerFactory.Start (IServerInformation serverInformation, System.Func`2 application) [0x00000] in <filename unknown>:0
  at Microsoft.AspNet.Hosting.HostingEngine.Start (Microsoft.AspNet.Hosting.HostingContext context) [0x00000] in <filename unknown>:0
  at Microsoft.AspNet.Hosting.Program.Main (System.String[] args) [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
neyromant commented 9 years ago

I have same problem on FreeBSD 9.3 RELEASE:

[root@bsd ~/test/Home/samples/HelloMvc]# k kestrel

System.DllNotFoundException: libdl at (wrapper managed-to-native) Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis/LinuxApis:dlopen (string,int) at Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis+LinuxApis.LoadLibrary (System.String dllToLoad) [0x00000] in :0 at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.Load (System.String dllToLoad) [0x00000] in :0 at Microsoft.AspNet.Server.Kestrel.KestrelEngine..ctor (ILibraryManager libraryManager) [0x00000] in :0 at Kestrel.ServerFactory.Start (IServerInformation serverInformation, System.Func`2 application) [0x00000] in :0 at Microsoft.AspNet.Hosting.HostingEngine.Start (Microsoft.AspNet.Hosting.HostingContext context) [0x00000] in :0 at Microsoft.AspNet.Hosting.Program.Main (System.String[] args) [0x00000] in :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 :0

p10tyr commented 9 years ago

@neyromant that patch link worked for me... but then I had ALLOT more problems and just gave up. I got it running on Ubuntu instead.... but I would like it on FreeBSD

jpinho commented 9 years ago

Hey Folks found the solution to this problem here! Take a look it works beautifully without having to downgrade kestrel to alpha4!

Citing [Gunnar Peipman] "If you get weird Kestrel errors then there is problem in Kestrel native assembly. To get rid of this problem read blog bost First Impression of .NET vNext by Carolyn Van Slyck (http://carolynvanslyck.com/blog/2014/09/dotnet-vnext-impressions/). In the middle of page you can find section titled as Kestrel and there is also short guide how to replace the problematic file. To save you from building and fixing native lib Carolyn also provides compiled binary you can use."

Gunnar's Blog: http://gunnarpeipman.com/2014/10/running-asp-net-5-on-linux/

davidfowl commented 9 years ago

Downgrade to beta4? The beta4 packages are the latest. The rc packages are gone

jpinho commented 9 years ago

Alpha4

davidfowl commented 9 years ago

What?

aguacongas commented 9 years ago

@jpinho Why downgrade ? You don't have have to downgrade, just create the simlink in the folder depending on the version of Kestrel you use. for beta2 : ln -sf /usr/local/lib/libuv.so /root/.kpm/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-beta2/native/darwin/universal/libuv.dylib

jpinho commented 9 years ago

@aguacongas @davidfowl (sorry was in sleep mode).

@aguacongas Sorry I did not notice, for what I understood thaipai was suggesting that because kestrel-beta1 had problems we should user kestrel-alpha4 (which is inferior). It was because of this that I posted the work around that involved compiling the libuv (in RC2) code. But if it works like you are saying yeahh it is preferable to just symlink. Thanks for the suggestion, will test it right away!

@davidfowl I ment downgrade from a kestrel-beta1—that should work on linux—to kestrel-alpha4 was a bad workaround. I think this was what thaiphan suggested (first posts).

jpinho commented 9 years ago

@aguacongas I create the symbolic link like you said and running k kestrel gives me this:

System.IO.IOException: Win32 IO returned ERROR_NO_MORE_FILES. Path: /home/jpinho/.kpm/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-beta2/native/darwin/universal at System.IO.Directory+cIterator0.MoveNext () [0x00000] in :0 at System.IO.Directory+cIterator0.MoveNext () [0x00000] in :0 at System.IO.Directory+cIterator0.MoveNext () [0x00000] in :0 at System.IO.Directory+cIterator0.MoveNext () [0x00000] in :0 at System.Linq.Enumerable+c__Iterator102[System.String,System.String].MoveNext () [0x00000] in <filename unknown>:0 at NuGet.UnzippedPackage.EnsurePackageFiles () [0x00000] in <filename unknown>:0 at NuGet.UnzippedPackage.GetAssemblyReferencesCore () [0x00000] in <filename unknown>:0 at NuGet.LocalPackage.get_AssemblyReferences () [0x00000] in <filename unknown>:0 at Microsoft.Framework.Runtime.NuGetDependencyResolver.GetPackageAssemblies (Microsoft.Framework.Runtime.PackageDescription description, System.Runtime.Versioning.FrameworkName targetFramework) [0x00000] in <filename unknown>:0 at Microsoft.Framework.Runtime.NuGetDependencyResolver.Initialize (IEnumerable1 packages, System.Runtime.Versioning.FrameworkName targetFramework) [0x00000] in :0 at Microsoft.Framework.Runtime.WalkContext.Populate (System.Runtime.Versioning.FrameworkName frameworkName, IList`1 libraries) [0x00000] in :0 at Microsoft.Framework.Runtime.DependencyWalker.Walk (System.String name, NuGet.SemanticVersion version, System.Runtime.Versioning.FrameworkName targetFramework) [0x00000] in :0 at Microsoft.Framework.Runtime.DefaultHost.Initialize () [0x00000] in :0 at Microsoft.Framework.Runtime.DefaultHost.GetEntryPoint (System.String applicationName) [0x00000] in :0 at Microsoft.Framework.ApplicationHost.Program.ExecuteMain (Microsoft.Framework.Runtime.DefaultHost host, System.String applicationName, System.String[] args) [0x00000] in :0 at Microsoft.Framework.ApplicationHost.Program.Main (System.String[] args) [0x00000] in :0

Will return to my compiled libuv-release-candidate2 it works.

hmG3 commented 9 years ago

I got this error "System.DllNotFoundException: libdl" only on x86 architecture and still cannot get it to work. On x86_64 everything works fine. Tried Debian 7.8, Ubuntu 14.10.

alexwahl commented 9 years ago

on debian 7.8 (x86) i got this:

Mono: DllImport unable to load library 'libapi-ms-win-core-file-l1-2-0.dll: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden'.
Mono: DllImport unable to load library 'libapi-ms-win-core-file-l1-2-0.dll: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden'.
Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis/LinuxApis.dlopen (string,int) <0xffffffff>
  at Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis/LinuxApis.LoadLibrary (string) <0x0001b>
  at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.Load (string) <0x0002e>
  at Microsoft.AspNet.Server.Kestrel.KestrelEngine..ctor (Microsoft.Framework.Runtime.ILibraryManager) <0x0038f>
  at Kestrel.ServerFactory.Start (Microsoft.AspNet.Builder.IServerInformation,System.Func`2<object, System.Threading.Tasks.Task>) <0x0011f>
  at Microsoft.AspNet.Hosting.HostingEngine.Start (Microsoft.AspNet.Hosting.HostingContext) <0x001d4>
  at Microsoft.AspNet.Hosting.Program.Main (string[]) <0x00312>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <0xffffffff>
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) <0xffffffff>
  at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x000af>
  at System.Reflection.MethodBase.Invoke (object,object[]) <0x00046>
  at Microsoft.Framework.Runtime.Common.EntryPointExecutor.Execute (System.Reflection.Assembly,string[],System.IServiceProvider) <0x000f7>
  at Microsoft.Framework.ApplicationHost.Program.ExecuteMain (Microsoft.Framework.Runtime.DefaultHost,string,string[]) <0x001eb>
  at Microsoft.Framework.ApplicationHost.Program.Main (string[]) <0x0035b>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_object__this___object (object,intptr,intptr,intptr) <0xffffffff>
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) <0xffffffff>
  at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x000af>
  at System.Reflection.MethodBase.Invoke (object,object[]) <0x00046>
  at Microsoft.Framework.Runtime.Common.EntryPointExecutor.Execute (System.Reflection.Assembly,string[],System.IServiceProvider) <0x000f7>
  at kre.host.Bootstrapper.Main (string[]) <0x002c3>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_object__this___object (object,intptr,intptr,intptr) <0xffffffff>
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) <0xffffffff>
  at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x000af>
  at System.Reflection.MethodBase.Invoke (object,object[]) <0x00046>
  at kre.hosting.RuntimeBootstrapper.ExecuteAsync (string[]) <0x0139f>
  at kre.hosting.RuntimeBootstrapper.Execute (string[]) <0x0004b>
  at EntryPoint.Main (string[]) <0x00143>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_int_object (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

        mono(mono_handle_native_sigsegv+0xf3) [0x811b9b3]
        mono(mono_arch_handle_altstack_exception+0xb4) [0x8167054]
        mono(mono_sigsegv_signal_handler+0x107) [0x8096627]
        [0xb779b40c]
        /lib/ld-linux.so.2(+0xe9f6) [0xb77aa9f6]
        /lib/ld-linux.so.2(+0x11ba8) [0xb77adba8]
        /usr/lib/i386-linux-gnu/libdl.so(+0xc2b) [0xb4963c2b]
        /lib/ld-linux.so.2(+0xdde6) [0xb77a9de6]
        /usr/lib/i386-linux-gnu/libdl.so(+0x10bc) [0xb49640bc]
        /usr/lib/i386-linux-gnu/libdl.so(dlopen+0x41) [0xb4963b61]
        [0xb4987a0c]
        [0xb4987994]
        [0xb4987607]
        [0xb4986f50]
        [0xb4986918]
        [0xb5272275]
        [0xb562bc5b]
        [0xb562b8ed]
        mono() [0x8096101]

Debug info from gdb:

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

Abgebrochen

libuv v1.0.0-rc2 installed and mono 4.1

i never got kestrell running, very annoiyng!

p10tyr commented 9 years ago

libapi-ms-win-core-file-l1-2-0.dll

it cant find that file.. whatever it is. Are you sure you are targeting the correct versions of K?

alexwahl commented 9 years ago

this is the project.json that i use. https://raw.githubusercontent.com/aspnet/Home/master/samples/HelloMvc/project.json I use the stable (kvm) Version of the k tooling. I haven't changed the sample project. kvm list gives me

Active Version              Runtime Location             Alias
------ -------              ------- --------             -----
  *    1.0.0-beta3          mono    ~/.k/runtimes        default
dsolovay commented 9 years ago

I ran into this issue as well, and @thaiphan's steps worked for me.

alexwahl commented 9 years ago

@dsolovay can you provide me an link to the steps?

davidfowl commented 9 years ago

Closing this since https://github.com/aspnet/KestrelHttpServer/issues/78 is now filed