PATCH: Fix libcpp configury/portability issue

Mark Kettenis kettenis@gnu.org
Sun Oct 31 15:53:00 GMT 2004


   Date: Sun, 31 Oct 2004 13:54:30 +0100 (CET)
   From: Gerald Pfeifer <gerald@pfeifer.com>

Coincidentally, I'm running into the same, or at least similar
problems on x86_64-unknown-openbsd3.6.

   >> The *real* problem, I assume, is that we have several config.h file in
   >> the include path -- intl/config.h versus libcpp/config.h.
   > Yes.  Maybe we should rename them so it's unambiguous.

   Definitely.  This is a complete and utter mess: two config.h files plus
   auto-host.h, all containing definitions of HAVE_ICONV and HAVE_ICON_H
   (though not all have both and the latter even is not consistent) is a
   software engineering nightmare.

Hmm, well, the real problem seems to be that on this particular
machine, GNU libiconv is installed in /usr/local.  For some reasone
AM_ICONV decides to look for libiconv in /usr/local/lib (which is not
in the standard library search path on this machine).  Since it finds
libiconv there, it decides to #define HAVE_ICONV.  However it fails to
find iconv.h so it doesn't define HAVE_ICONV_H, and things go downhill
from there.

Now why is iconv.h not found.  Well, the system compiler on OpenBSD
(and presumably NetBSD and FreeBSD) doesn't have /usr/local/include in
its default search path.  Since AM_ICONV doesn't explicitly look in
/usr/local/include it misses the iconv.h there.

Mark



More information about the Gcc-patches mailing list