[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