[Mono-devel-list] DllNotFoundException for libc
gert.driesen at telenet.be
Sun Feb 6 12:04:37 EST 2005
> -----Original Message-----
> From: Francisco T. Martinez [mailto:martinf at mfconsulting.com]
> Sent: zondag 6 februari 2005 15:05
> To: Gert Driesen
> Cc: 'Paul'; mono-devel-list at lists.ximian.com
> Subject: Re: [Mono-devel-list] DllNotFoundException for libc
> Gert Driesen wrote:
> >>-----Original Message-----
> >>From: mono-devel-list-admin at lists.ximian.com
> >>[mailto:mono-devel-list-admin at lists.ximian.com] On Behalf Of Paul
> >>Sent: zondag 6 februari 2005 13:21
> >>To: mono-devel-list at lists.ximian.com
> >>Subject: Re: [Mono-devel-list] DllNotFoundException for libc
> >>>But apparently its not used (as Mono searches for libc.so),
> >>but even if it
> >>>was used Mono would not look for it in /lib I guess.
> >>First off, which distro, which kernel and more importantly,
> >>do you have
> >>any of the RPMS installed?
> >Gentoo 2.6.10-gentoo-r6 (Pentium 4 M), and I don't have any
> RPMS installed.
> >Moving the ld script from /usr/lib/libc.so to wherever, and copying
> >/lib/libc.so.6 to /usr/lib/libc.so fixed the problem, but
> there have got to
> >be better ways to fix this.
> I will talk like I know but hopefully some of our experts can
> me out or augment my remarks here. There is a file in the etc/mono
> directory (its location depends on what was used for --prefix= when
> ./autogen.sh or configure was ran) that holds the mapping to some key
> dll's to so or dylib files. The file is etc/mono/config.
On my system $prefix/etc/mono/config contains the following entry:
<dllmap dll="libc" target="libc.so.6" />
But its not picked by Mono and by looking at the debug log, its not because
its overridden by
a *.config of another assembly.
And as I said, even if it would pick up the mapping of libgc to libc.so.6,
then it would not work on my system as Mono only searches for that library
in /usr/lib and the current directory, not in /lib (where that library is
located on my system).
Not sure if Mono should/could use the ld script (/usr/lias that contained
the location to the actual library:
/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a )
More information about the Mono-devel-list