[GRASS-dev] wingrass: --with-nls

Paul Kelly paul-grass at stjohnspoint.co.uk
Thu Jan 17 05:55:03 EST 2008


On Thu, 17 Jan 2008, Moritz Lennert wrote:

> On Thu, January 17, 2008 03:38, Paul Kelly wrote:
>> Hello Moritz
>>
>> On Wed, 16 Jan 2008, Moritz Lennert wrote:
>>
>>> Hello,
>>>
>>> I'm trying to compile 6.3RC4 on windows with internationalisation
>>> support.
>>> However, I'm already stumbling over configure:
>>>
>>> checking whether to use NLS... yes
>>> checking for gettext... no
>>> checking for gettext in -lintl... no
>>> configure: error: *** Unable to locate gettext() function.
>>
>> Can you check config.log to see what exactly is the problem?
>
> See attached gettext.log. It can't find the gettext() function. I guess
> this means that it can't find the relevant headers. I'm not quite sure how
> to tell configure where to find them (i.e. no --with-gettext-includes). I
> tried copying the contents of gnuwin32\include to msys\include, but to no
> avail...

I think these are the relevant lines:
configure:14319: checking for gettext in -lintl
configure:14336: gcc -o conftest.exe -g -O2     -I/c/grasslibs/include  -Wl,--export-dynamic,--enable-runtime-pseudo-reloc  -L/c/grasslibs/lib conftest.c -lintl   1>&5
configure:14329: warning: conflicting types for built-in function 'gettext'
c:\mingw\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lintl
collect2: ld returned 1 exit status

i.e. "cannot find -lintl" seems to be what's stopping it.

>> I got it
>> working when doing a few tests over Christmas; unfortunately never got far
>> enough to properly document it all and publish hints for others to follow.
>> But one thing I stumbled over several times was the fact that many of the
>> gnuwin32 pre-compiled binaries have unexpected dependencies.
>
> But normally, if you get the "Complete package" setup, this includes all
> dependencies.
>
>> Have you also
>> got libiconv and libintl installed?
>
> Yes. libintl is part of gettext and the package contains the libiconv dll.

For compiling with the gnuwin32 packages, I found that as well as the dll 
you generally also need the import library (.la) file - which probably 
comes in the libiconv-lib package (or called something very similar). (The 
libraries that I compiled myself though, mostly I got them to work so you 
could link directly against the .dll and didn't need the .la file.)

So the dll alone isn't enough for compiling - but also you don't need to 
distribute the .la file with a binary distribution either. It's just 
needed to help the linker find the dll and tell it what's inside it. As 
far as I can see it generally isn't needed any more (but used to be before 
some improvements to the MinGW ld?) but the gnuwin32 packages all use it 
still.

Hope you're able to get a bit further with it.

Paul



More information about the grass-dev mailing list