This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cygwin build problems...(libintl)


[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 `_nl_find_msg':
> /cygdrive/d/work/new_src/build/intl/../../combined/intl/dcigettext.c:940:
undefined reference to `_libiconv'
> ./../intl/libintl.a(loadmsgcat.o)(.text+0x4e9): In function `_nl_init_domain_con
v':
> /cygdrive/d/work/new_src/build/intl/../../combined/intl/loadmsgcat.c:863:
undefined reference to `_libiconv_open'
> ./../intl/libintl.a(loadmsgcat.o)(.text+0x542): In
function `_nl_free_domain_conv':
> /cygdrive/d/work/new_src/build/intl/../../combined/intl/loadmsgcat.c:896:
undefined reference to `_libiconv_close'
> ./../intl/libintl.a(relocatable.o)(.text+0xfe): In
function `libintl_set_relocation_prefix':
> /cygdrive/d/work/new_src/build/intl/../../combined/intl/relocatable.c:148:
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 http://gcc.gnu.org/ml/gcc-patches/2003-07/msg00781.html

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

Cheers,
Kelley Cook


-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]