From: Masayuki Hatta (mhatta@po.airs.net)
Date: Mon Apr 01 2002 - 19:09:30 EST
Hi,
>>>>> In <Pine.GSO.4.10.10203241341430.23264-100000@gold>
>>>>> F J Franklin <F.J.Franklin@sheffield.ac.uk> wrote:
> On Sun, 24 Mar 2002, Masayuki Hatta wrote:
> > Debian's package auto-builder (aka build daemon) reported the build of
> > AbiWord on PPC failed. Seems something is wrong in
> > abi/src/text/fmt/xp/fp_PageSize.h?
> My guess is that on debian PPC one of the following is #defined somewhere:
> DIN_4B, DIN_2B, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10,
> thus screwing up the enumeration in abi/src/text/fmt/xp/fp_PageSize.h
You're right...and now it's clear when
0) on Debian
1) on PPC
2) only with --enable-scripting
the build fails. Daniel Eisenbud kindly investigated this problem and
he said:
>>>>> In <20020401080113.GA8143@katahdin.eisenbud.net>
>>>>> Daniel Eisenbud <eisenbud@MIT.EDU> wrote:
> The latest debian sources fail to compile here. A build log is
> attached. The basic problem, it seems, is that somehow
> /usr/lib/bits/termios.h is getting included, and it defines B0 (an
> element of the failing enum) as 00000, screwing things up royally. Why
> does termios.h get included? I don't know, but it looks like it's
> because of perl stuff using termios.h and mentioning in .ph files
> bits/termios.h. I don't really know whose fault this namespace
> pollution is, so I don't really know what the correct fix is. I suppose
> one could #undef all the offending symbols right before the enum, but
> that seems pretty horribly broken.
>>>>> In <20020401180504.GA14095@katahdin.eisenbud.net>
>>>>> Daniel Eisenbud <eisenbud@MIT.EDU> wrote:
> First of all /usr/include/bits/termios.h #defines B0 to be 0000000, not
> 00000, just to avoid any confusion. The way it's included, after a
> little more investigation, turns out to be through the perl includes.
> /usr/lib/perl/5.6.1/CORE/perl.h #includes <sys/ioctl.h>, which #includes
> <bits/ioctl-types.h>, which #includes <termios.h>, which #includes
> <bits/termios.h>, which contains the fatal definition of B0.
> It seems broken, on the part of perl or glibc, to have perl.h cause such
> widespread namespace pollution. On the other hand, it might be simplest
> to just rename the elements of the enum and be done with it.
Weird thing is, in my i386 environment(and possibly other archs),
bits/ioctl-types.h doesn't include termios.h. That's why it can be
built on archs except ppc.
Regards,
MH
-- Masayuki Hatta mhatta@gnu.org / mhatta@debian.org / mhatta@opensource.gr.jp
This archive was generated by hypermail 2.1.4 : Mon Apr 01 2002 - 19:11:02 EST