Hi, >>>>> In <Pine.GSO.4.10.10203241341430.23264-100000@gold> >>>>> F J Franklin <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> >>>>> Daniel Eisenbud <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> >>>>> Daniel Eisenbud <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] / [EMAIL PROTECTED] / [EMAIL PROTECTED]
