This is the mail archive of the
mailing list for the GCC project.
Re: cygwin build problems...(libintl)
- From: Kelley Cook <kcook34 at ford dot com>
- To: Marcus Binny <marcusbinny at yahoo dot com>
- Cc: Zack Weinberg <zack at codesourcery dot com>, Jan Hubicka <hubicka at ucw dot cz>, gcc at gcc dot gnu dot org, binutils at sources dot redhat dot com, gdb at sources dot redhat dot com, cygwin at cygwin dot com
- Date: Mon, 08 Sep 2003 10:07:34 -0400
- Subject: Re: cygwin build problems...(libintl)
- Hop-count: 1
- Reply-to: Kelley Cook <kelleycook at wideopenwest dot com>
[Crossposted to binutils, gdb, and cygwin for information purposes]
Marcus Binny said:
> I am trying to build a cross compiler from the latest
> checked out sources. When I configure into the
> combined sources, it says that it doesn't need to
> build libintl.a (in intl/Makefile all: is all-no),
> but then it is trying to link binutils with
> ../intl/libintl.a instead of -lintl. I tried -lintl
> and it works.
> If I use configure --with-included-getttext, linking
> with the built libintl.a gives unresolved symobols
> problem like
> ./../intl/libintl.a(dcigettext.o)(.text+0xad7): In function
undefined reference to `_libiconv'
> ./../intl/libintl.a(loadmsgcat.o)(.text+0x4e9): In function
undefined reference to `_libiconv_open'
> ./../intl/libintl.a(loadmsgcat.o)(.text+0x542): In
undefined reference to `_libiconv_close'
> ./../intl/libintl.a(relocatable.o)(.text+0xfe): In
undefined reference to `_libiconv_set_relocation_prefix'
> To be sure, I had updated my cygwin installations also today.
> Now I am clueless.
You will have two problems, with combined tree Cygwin build.
The first is related to the current intl 0.12.1 directory the Zack
Weinberg imported into the GCC sources. Neither binutils nor gdb have
been updated for the new version and still are expecting version 0.10.4.
This probably could be fixed by applying some configury wizardry to the
binutils/gdb sources similar to those that were necessary to get cygwin
to build on GCC again after it was imported. But no one has volunteered
the time to do it yet. See
The workaround is to use the older copy of intl directory that comes
with binutils or gdb instead of the copy that comes with GCC. Then GCC
will ignore intl, but unless you actually require the international
error messages, the resulting compiler will work.
The second problem is with GCC itself and is related to -funit-at-a-time
now being turned on at -O2. A cygwin bootstrap will ICE when the stage2
compiler attempts to compile _popcountsi2 in libgcc2. It might be a
problem with the loop optimizer being miscompiled; I am in the process
of filing a more detailed bug report.
The work around for this is to
make BOOT_CFLAGS="-O2 -g -fno-unit-a-time" bootstrap