bugGNU gettext - Bugs: bug #22184, gettext-runtime/intl fails to...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #22184: gettext-runtime/intl fails to build when cross-compiling from Linux to Win32

Submitter:  None
Submitted:  Wed 30 Jan 2008 10:14:11 PM UTC
   
 
Category:  Build Severity:  3 - Normal
Item Group:  None Status:  Invalid
Privacy:  Public Assigned to:  haible
Open/Closed:  Closed

Thu 31 Jan 2008 12:24:42 PM UTC, comment #5: 


> I thought the "msvc" part of the i586-pc-mingw32msvc triplet
> referred to the MSVCRT.DLL runtime, not the MSVC compiler?


The Cygwin package uses the triplet i586-pc-mingw32. MSYS does
the same. If the Debian cross package yields the same kind of
executables than these two, there is no reason for it to have
a different triplet. If, however, the Debian cross package
yields different executables and libraries, I don't want to
hear about it. Then it's an unsupported platform.

> I am not so sure about the recommendation to use Cygwin in the
> README.woe32. Sure, if one is extremely careful, it should work
> fine to use Cygwin and its gcc -mno-cygwin to build non-Cygwin
> code. But my personal experience is that this is very likely
> to accidentally get you into a confusing state where you mix
> Cygwin headers and non-Cygwin headers, or even mix Cygwin
> libraries into non-Cygwin executables.


Sure, I agree with you that if you are not careful, you can
more easily mess up your environment in Cygwin than in MSYS.
But there's an explicit warning against this problem in
gettext's README.woe32.

MSYS is also supported as a build platform by gettext, but is
not recommended. I cannot recommend it due to the amount of
hacks that are in the MSYS runtime.

> MSYS was created exactly to avoid that kind of problems, and to
> avoid the need to manually use `cygpath -w foo` here and there.
> MSYS does the pathname translation on command lines
> automatically, and translates pathnames in environment
> variables. (When invoking non-MSYS programs, like the native
> mingw compiler.)


MSYS also does pathname translation in command-line arguments:
it converts "nul" to "/dev/null" (or vice versa, I don't
remember) when it finds it appropriate. In command-line
arguments!!

MSYS also causes pipes in bash to behave differently when
run inside rxvt. See the groff mailing list for multiple
reports of this bug.

Hope you understand why I cannot recommend MSYS.

Regarding the Debian cross package. Sometimes it is used with
a library called "libgw32c". of which people say
   "Use of LibGw32c as a separate development library is very
complicated."
http://gnuwin32.sourceforge.net/packages/libgw32c.htm
That's the second reason why I don't want to hear about
problems with this build environment.

Bruno Haible <haible>
Group administrator
Thu 31 Jan 2008 09:19:40 AM UTC, comment #4: 

I thought the "msvc" part of the i586-pc-mingw32msvc triplet referred to the MSVCRT.DLL runtime, not the MSVC compiler?

I am not so sure about the recommendation to use Cygwin in the README.woe32. Sure, if one is extremely careful, it should work fine to use Cygwin and its gcc -mno-cygwin to build non-Cygwin code. But my personal experience is that this is very likely to accidentally get you into a confusing state where you mix Cygwin headers and non-Cygwin headers, or even mix Cygwin libraries into non-Cygwin executables.

MSYS was created exactly to avoid that kind of problems, and to avoid the need to manually use `cygpath -w foo` here and there. MSYS does the pathname translation on command lines automatically, and translates pathnames in environment variables. (When invoking non-MSYS programs, like the native mingw compiler.)

Tor Lillqvist <tml1024>
Thu 31 Jan 2008 01:24:59 AM UTC, comment #3: 

I don't know if it's a nonsense or not, but that triplet is the prefix of all the mingw binaries on the mingw32 ubuntu package.

Alberto Ruiz <aruiz>
Thu 31 Jan 2008 12:11:49 AM UTC, comment #2: 


> --host=i586-pc-mingw32msvc


This is nonsense. Mingw uses the GCC compiler, not MSVC. Its canonical triplet is i586-pc-mingw32.

> --build=i686-pc-linux-gnuaout


This is nonsense as well. Systems of this type are not in use any more since 1993.

> this breaks


Saying "this breaks" without providing a description of what happens (error messages etc.) does not constitute a complete bug report.

If you want to build gettext for mingw, I suggest that you take
a look at the README.woe32 file.

Bruno Haible <haible>
Group administrator
Wed 30 Jan 2008 10:20:37 PM UTC, comment #1: 

To reproduce the bug, install MinGW and run the following ./configure command:

./configure --prefix /home/aruiz/gtk-target \ --build=i686-pc-linux-gnuaout \
--host=i586-pc-mingw32msvc \
--target=i586-pc-mingw32msvc \
--disable-docs \
--enable-all-warnings \
AR="/usr/bin/i586-mingw32msvc-ar" \
RANLIB="/usr/bin/i586-mingw32msvc-ranlib" \
STRIP="/usr/bin/i586-mingw32msvc-strip" \
AS="/usr/bin/i586-mingw32msvc-as" \
DLLTOOL="/usr/bin/i586-mingw32msvc-dlltool" \
OBJDUMP="/usr/bin/i586-mingw32msvc-objdump" \
NM="/usr/bin/i586-mingw32msvc-nm" \
WINDRES="/usr/bin/i586-mingw32msvc-windres" \
--without-emacs \
--disable-java \
--disable-native-java \
--enable-relocatable


It actually throws some WARNINGS at the begining:
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: 
checking for a BSD-compatible install... /home/aruiz/bin/install-check
checking whether build environment is sane... yes
...

Anonymous
Wed 30 Jan 2008 10:14:11 PM UTC, original submission:  

gettext-runtime/intl/Makefile.in has a hack for the sed version included with MSYS.

This hack assumes that the build for a Win32 target is made, however, this breaks when gettext is cross compiled from Linux to Win32 using mingw.

Checking that the host is different than the target should do it.

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by tml1024 (Posted a comment)
  • -email is unavailable- added by aruiz (Posted a comment)
  • -email is unavailable- added by haible (Posted a comment)
  • -email is unavailable- added by aruiz
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-11-26 haible CategoryNone Build
    2008-01-31 haible StatusNone Invalid
        Assigned toNone haible
        Open/ClosedOpen Closed
        Summarygettext-runtime/intl fails to build when cross-compiling from Linux ti Win32 gettext-runtime/intl fails to build when cross-compiling from Linux to Win32
    2008-01-30 aruiz Carbon-Copy- Added -email is unavailable-

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code