libintl breakage

Mark Kettenis
2006-07-04T20:16:35Z

Currently libbfd fails to build on OpenBSD systems:

gcc -DHAVE_CONFIG_H -I. -I../../../src/gdb/bfd -I. -DNETBSD_CORE -I. -I../../../src/gdb/bfd -I../../../src/gdb/bfd/../include -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror -g -O2 -c ../../../src/gdb/bfd/archive.c -o archive.o
In file included from ../../../src/gdb/bfd/archive.c:133:
../../../src/gdb/bfd/sysdep.h:172: libintl.h: No such file or directory

The problem here seems to be that the system has the gettext packages
installed in /usr/local, but the system compiler doesn't search
/usr/local by default.

Now for some reason the configure script uses -I/usr/local/include and
-L/usr/local/include, so it finds the installed libintl and decides
not to build the bundled gettext in intl/. However when compiling
bfd/ (and presumably other subdirectories) these options are omitted.
Somehow the logic in gettext-sister.m5, gettext.m4 and/or
lib-prefix.m4 seems to be flawed.

A way around this is to configure with --prefix set to something
that's not /usr/local. Then the bundled intl is built. Unfortunately
it always gets rebuilt, since stamp-h1 is never created.

All in all, it seems that the recent changes to use the new gettext
were never properly tested :(.

Mark