[Mono-devel-list] libintl does not work on windows?

Fabian Sturm f at rtfs.org
Fri Mar 4 08:18:17 EST 2005


On Fri, 2005-03-04 at 07:40 -0500, Jonathan Pryor wrote:

> The problem is this: following standard procedure, Mono.Unix.Catalog
> DllImports libintl.dll, as that library exists on Windows.  However,
> libintl.dll doesn't exist on all Unix platforms; the functions it
> exports are usually part of libc.  Consequently, $prefix/etc/mono/config
> contains a <dllmap/> redirecting libintl.dll to libc.so, which is why
> you're seeing a DllNotFoundException for libc.so: mono is redirecting
> libintl.dll to libc.so, even though the platform you're on doesn't
> require such redirections.

Sorry that you once more had to point me to something I should have
found, but somehow the config file slipped through my search when I
grepped for all libintl occurences.

Anyways the dll mapping is a very good thing! Because on windows the
libintl is actually installed as intl.dll.a. 
So I didn't delete the dllmapping but changed from libc.so.6 it to intl.
And now i18n works like a charm on windows!!

So I don't know which would be the best long term solution. Others are
more qualified to answer this. But I would suggest to keep the dll
mapping option and add a test to the package that detects on build time
for which platform it is compiled and either locates the appropriate
libraries directly or has a list with predefined mappings for the
detected platfrom.

Thanks for all who helped me with all my i18n problems on windows/linux
now a major blocker for my mono development is solved!


More information about the Mono-devel-list mailing list