Hi again,

I'll try to be clearer this time, I think I was too cryptic before :)

I just built my mono from latest now this way:

$ ./configure --prefix=/home/pablo/monobin-4.3-head && make && make install

$ mono --version
Mono JIT compiler version 4.3.0 (master/020a7c6 Tue Oct  6 18:06:22 CEST 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           __thread
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  amd64
    Disabled:      none
    Misc:          softdebug
    LLVM:          supported, not enabled.
    GC:            sgen


I have this program:

$ cat Program.cs
using System;

using Mono.Unix;

namespace testunixdirinfo
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            UnixDirectoryInfo dir = new UnixDirectoryInfo (args [0]);
        }
    }
}

Then I build my program:

$ mcs Program.cs -r Mono.Posix.dll

And run it and get this:

$ mono Program.exe .

Unhandled Exception:
System.TypeInitializationException: The type initializer for 'Mono.Unix.Native.Syscall' threw an exception. ---> System.DllNotFoundException: /home/pablo/monobin-4.3-head/lib/libMonoPosixHelper.so
  at (wrapper managed-to-native) Mono.Unix.Native.Syscall:get_at_fdcwd ()
  at Mono.Unix.Native.Syscall..cctor () <0x41356870 + 0x0002b> in <filename unknown>:0
  --- End of inner exception stack trace ---
  at Mono.Unix.UnixDirectoryInfo.GetCurrentDirectory () <0x41356550 + 0x0008f> in <filename unknown>:0
  at Mono.Unix.UnixPath._GetFullPath (System.String path) <0x41356430 + 0x0002b> in <filename unknown>:0
  at Mono.Unix.UnixPath.GetFullPath (System.String path) <0x413563f0 + 0x0000f> in <filename unknown>:0
  at Mono.Unix.UnixFileSystemInfo..ctor (System.String path) <0x41355f80 + 0x00053> in <filename unknown>:0
  at Mono.Unix.UnixDirectoryInfo..ctor (System.String path) <0x41355f50 + 0x00013> in <filename unknown>:0
  at testunixdirinfo.MainClass.Main (System.String[] args) <0x41355d40 + 0x00043> in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'Mono.Unix.Native.Syscall' threw an exception. ---> System.DllNotFoundException: /home/pablo/monobin-4.2/lib/libMonoPosixHelper.so
  at (wrapper managed-to-native) Mono.Unix.Native.Syscall:get_at_fdcwd ()
  at Mono.Unix.Native.Syscall..cctor () <0x41356870 + 0x0002b> in <filename unknown>:0
  --- End of inner exception stack trace ---
  at Mono.Unix.UnixDirectoryInfo.GetCurrentDirectory () <0x41356550 + 0x0008f> in <filename unknown>:0
  at Mono.Unix.UnixPath._GetFullPath (System.String path) <0x41356430 + 0x0002b> in <filename unknown>:0
  at Mono.Unix.UnixPath.GetFullPath (System.String path) <0x413563f0 + 0x0000f> in <filename unknown>:0
  at Mono.Unix.UnixFileSystemInfo..ctor (System.String path) <0x41355f80 + 0x00053> in <filename unknown>:0
  at Mono.Unix.UnixDirectoryInfo..ctor (System.String path) <0x41355f50 + 0x00013> in <filename unknown>:0
  at testunixdirinfo.MainClass.Main (System.String[] args) <0x41355d40 + 0x00043> in <filename unknown>:0


It doesn't find the libMonoPosixHelper.so under "lib" because it is actually under lib64 (I just built my mono with make, nothing special :-S).

$ ls /home/pablo/monobin-4.3-head/
bin/     etc/     include/ lib/     lib64/   share/  

$ ls /home/pablo/monobin-4.3-head/lib64/
libikvm-native.a           libMonoPosixHelper.la            libmono-profiler-log.so
libikvm-native.la          libMonoPosixHelper.so            libmono-profiler-log.so.0
libikvm-native.so          libmono-profiler-aot.a           libmono-profiler-log.so.0.0.0
libmono-2.0.a              libmono-profiler-aot.la          libmonosgen-2.0.a
libmono-2.0.la             libmono-profiler-aot.so          libmonosgen-2.0.la
libmono-2.0.so             libmono-profiler-aot.so.0        libmonosgen-2.0.so
libmono-2.0.so.1           libmono-profiler-aot.so.0.0.0    libmonosgen-2.0.so.1
libmono-2.0.so.1.0.0       libmono-profiler-iomap.a         libmonosgen-2.0.so.1.0.0
libmonoboehm-2.0.a         libmono-profiler-iomap.la        libMonoSupportW.a
libmonoboehm-2.0.la        libmono-profiler-iomap.so        libMonoSupportW.la
libmonoboehm-2.0.so        libmono-profiler-iomap.so.0      libMonoSupportW.so
libmonoboehm-2.0.so.1      libmono-profiler-iomap.so.0.0.0  mono
libmonoboehm-2.0.so.1.0.0  libmono-profiler-log.a           pkgconfig
libMonoPosixHelper.a       libmono-profiler-log.la



I'm obviously doing something wrong, but I'd love to know what should I do to configure it correctly. (BTW, just copying lib64 inside lib makes it work, but I guess this is not the way to do it :P).


Thanks again!

pablo


On 10/5/2015 22:42, Miguel de Icaza wrote:
Hello,

I do not follow, what "new lib64" thing?   That sounds like a packaging issue, more than a Mono issue.

Miguel.

On Mon, Oct 5, 2015 at 12:44 PM, psant...@codicesoftware.com <psant...@codicesoftware.com> wrote:
Hi,

We're having trouble understanding the new lib64 thing in mono 4.3 (we're trying to move Plastic SCM to 4.3 now).

A simple app like this one:

using Mono.Unix;
namespace testunixdirinfo
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            UnixDirectoryInfo dir = new UnixDirectoryInfo(args[0]);
        }
    }
}

Fails saying it can't find lib/libMonoPosixHelper.so, which is now under lib64 instead.

It is easy to fix just moving it under lib inside your mono binaries, but I guess this is not the right way to do it :confounded:

This is the build we're using Mono JIT compiler version 4.3.0 (explicit/b6dfce6.

Thanks!

pablo

_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list



_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to