[Mono-devel-list] DllNotFoundException for libc

Gert Driesen 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
> >>
> >>Hi,
> >>
> >>    
> >>
> >>>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.
> >
> >Gert
> >
> >  
> >
> Gert:
> 
> I will talk like I know but hopefully some of our experts can 
> straighten 
> 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.  */
OUTPUT_FORMAT(elf32-i386)
GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a )

Gert




More information about the Mono-devel-list mailing list