[gcc-3.0] Fixinclude uw7_byteorder_fix not getting applied to UnixWare7.1.1 /usr/include/arpa/inet.h

Matt Schalit mschalit@pacbell.net
Tue Jun 26 05:21:00 GMT 2001


Madam/Sir:


Synopsis:   Header file conflicting types -- A fixinclude not getting applied
--------    to UnixWare 7.1.1 /usr/include/arpa/inet.h.



  Evidence:  Installing cdrtools-1.10 using gcc-3.0
  --------------------------------------------------
     ...
     In file included from rscsi.c:53:
     /usr/include/arpa/inet.h:67: conflicting types for `htons'
     /usr/local/lib/gcc-lib/i586-sco-sysv5uw7.1.1/3.0/include/sys/byteorder.h:69: previous declaration of `htons'
     /usr/include/arpa/inet.h:73: conflicting types for `ntohs'
     /usr/local/lib/gcc-lib/i586-sco-sysv5uw7.1.1/3.0/include/sys/byteorder.h:149: previous declaration of `ntohs'



  Problem file:   gcc/fixinc/inclhack.def:
  ----------------------------------------
      hackname = uw7_byteorder_fix


  Reason:   Unknown
  ------------------

  Fix:   Unknown
  ----------------





===================
Hi folks,

  I compiled gcc-3.0 on SCO UnixWare 7.1.1.  It went smoothly, 
thanks.  This system is an i586-sco-sysv5uw7.1.1.  When the
newer config.guess comes out, it will be known as something
else, like i586-unknown-sysv5unixware7.1.1.


gmake-3.79.1
binutils-2.11
SCO's cc

../gcc-3.0/configure --with-gnu-ld --with-ld=/usr/local/bin/ld --with-gnu-as  --with-as=/usr/local/bin/as
gmake bootstrap



Ok so here's the problem:  When I used gcc-3.0 to compile/install cdrecord-1.10,
it failed with the error:

In file included from rscsi.c:53:
/usr/include/arpa/inet.h:67: conflicting types for `htons'
/usr/local/lib/gcc-lib/i586-sco-sysv5uw7.1.1/3.0/include/sys/byteorder.h:69: previous declaration of `htons'
/usr/include/arpa/inet.h:73: conflicting types for `ntohs'
/usr/local/lib/gcc-lib/i586-sco-sysv5uw7.1.1/3.0/include/sys/byteorder.h:149: previous declaration of `ntohs'


Here's the fix{} from <build_dir>/gcc-3.0/gcc/fixinc/inclhack.def
------------------------------------------------------------------
fix = {
    hackname = uw7_byteorder_fix;
    files    = arpa/inet.h;
    select   = "in_port_t";
    test     = "-f $DESTDIR/sys/byteorder.h";
#ifndef SVR5
        mach = "*-*-sysv4*";
        mach = "i?86-*-sysv5*";
        mach = "i?86-*-udk*";
        mach = "i?86-*-solaris2.[0-4]";
        mach = "powerpcle-*-solaris2.[0-4]";
        mach = "sparc-*-solaris2.[0-4]";
#endif /* SVR5 */

    c_fix     = format;
    c_fix_arg = "";
    c_fix_arg = "^extern.*(htons|ntohs).*\\(in_port_t\\).*\n";

    test_text = "extern htons(in_port_t);"
                "`[ ! -d $DESTDIR/sys ] && mkdir $DESTDIR/sys\n"
                "echo '/* DUMMY */' >> sys/byteorder.h\n"
                "touch $DESTDIR/sys/byteorder.h`";
};
--------------------------------------------------------------------


I tried changing the ifndef SVR5 to ifdef SVR5, but that didn't
help at all, and I could swear that it wanted autogen, which I
didn't have installed.  When I installed autogen and tried
with a freshly unzipped gcc-3.0.tar.gz with ifdef SVR5, it
didn't want the autgoen and it still didn't fix arpa/inet.h.

I could use some help with this.  Thanks.
Matthew



More information about the Gcc-bugs mailing list