Hello everyone,

I'm having some build troubles, and am running out of ideas.

I'm using a Windows 10 (stable) VM in Virtual box.

I'm using MSYS (20111123.zip
<https://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20%28Win64%20hosted%29/MSYS%20%2832-bit%29/MSYS-20111123.zip/download>)
which I found here:
https://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20%28Win64%20hosted%29/MSYS%20%2832-bit%29/

And, I'm using MinGW 64 which I've found here:
https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/5.3.0/threads-win32/seh/

I've gotten the gettext-0.18.2 tarball, and opened it.
After that, I've run:
./configure
Once that's complete, I run a quick perl script:
perl -p -i -e 's:void cdecl:void __cdecl:g' */*/msvc-inval.c

If I don't do this, I get an error:
gl/msvc-inval.c:124:39: error: 'gl_msvc_invalid_parameter_handler'
undeclared (first use in this function)
I found a few threads on it, and a patch that seems applicable:
http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=86725346a1b116f3c2da26c124288f5f4495bf69;hp=2845ecc459a4ad03de8397a2c942c2e91d2d3ed5
With my perl script, I've made that patch to the 3 source files, and things
get a lot farther along, but now I have linking troubles.

I think the system tries creating libgettextlib.la but while doing so, it
throws a warning:
 "This system can not link to static lib archive ../intl/libintl.la"
After this, it tries to link and create libgettextlib.dll.a, and I get a
bunch of errors (more on that later).

I wanted to verify that I'm building a shared library, so for my next pass,
since that warning has me worried.  So, I did the following:
./configure --enable-threads=win32 --enable-shared --enable-relocatable

I found those flags on various sites.  I'm not sure if the 'relocatable'
flag is even a thing for this build, but I'm pretty confident in the other
two.

The good news is that this time, I can tell that --enable-shared is doing
its job because I see the following in the libgettextlib.dll.a link attempt
(which happens just after the warning):
libtool: link: g++ -shared

Seeing that -shared flag is a good thing.  But, I'm not seeing that flag on
the ibgettextlib.la link, which is curious to me.

Since it still throws a warning, I don't really know what's wrong.  I would
have thought that --enable-shared would fix it, so I'm confused as to why
that isn't working in this case.

Secondly, I'm confused on the error itself that I get when linking
ibgettextlib.dll.a.

That error at link time is:
"undefined reference to libintl_gettext"
I get a bunch of those errors all in a row, and then the link stage fails.

I've tried looking around the internet for answers, but am coming up with
answers that aren't really related to compiling gettext on Windows-- most
threads are about compiling something else and linking gettext into it.

Does anyone have any ideas as to what I need to do to make this work?

Thanks!
  -John

Reply via email to