Re: Debian: build on ppc fails?

From: Masayuki Hatta (mhatta@po.airs.net)
Date: Mon Apr 01 2002 - 19:09:30 EST

  • Next message: Virgil Arrington Jr.: "RE: Font Size save to blank lines in RTF files"

    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