[HACKERS] Re: Add support for xti.h

2000-11-23 Thread Pete Forman

Tom Lane writes:
  Pete Forman wrote:
   The basic problem is that netinet/tcp.h is a BSD header.  The
   correct header for TCP internals such as TCP_NODELAY on a UNIX
   system is xti.h.  By UNIX I mean UNIX95 (aka XPG4v2 or SUSv1)
   or later.  The 2 files which conditionally include
   netinet/tcp.h need also to conditionally include xti.h.

I've done bit more research.  xti.h was the correct place to find
TCP_NODELAY in UNIX98/SUSv2.  However in the Austin Group draft of the
next version of POSIX and UNIX0x/SUSv3, XTI has been dropped and
netinet/tcp.h  officially included.

  I have never heard of xti.h before and am rather dubious that it
  should be considered more standard than tcp.h.  However, if we
  are going to include it then it evidently must be *mutually
  exclusive* with including tcp.h.  The $64 question is, which one
  ought to be included when both are available?  I'd tend to go for
  tcp.h on the grounds of "don't fix what wasn't broken".
  
  Actually, given your description of the problem, I'm half inclined
  to revert the whole patch and instead make configure's test for
  availability of netinet/tcp.h first include netinet/in.h, so
  that that configure test will succeed on IRIX etc.  Do you know any
  platforms where tcp.h doesn't exist at all?

I agree with this.  Back out the patch and update configure.in.  I
might have done that myself but I do not have enough experience with
autoconf.

The only platform I know of without netinet/tcp.h is Cygwin B20.1.
There is a workaround in place for that.  The current Cygwin 1.1 does
have the header.
-- 
Pete Forman -./\.- Disclaimer: This post is originated
Western Geophysical   -./\.-  by myself and does not represent
[EMAIL PROTECTED] -./\.-  the opinion of Baker Hughes or
http://www.crosswinds.net/~petef  -./\.-  its divisions.



Re: [HACKERS] Re: Add support for xti.h

2000-10-26 Thread Peter Eisentraut

Pete Forman writes:

 There is a separate problem running the configure script on AIX.  It
 hangs while testing for flex.  The two processes that I killed to
 allow configure to continue were
 
 /usr/ccs/bin/lex --version
 /usr/bin/lex --version
 
 The problem is that lex is waiting for input from stdin.  This patch
 should fix it.   I've only tested modification of the configure file
 directly.

Done.

-- 
Peter Eisentraut  [EMAIL PROTECTED]   http://yi.org/peter-e/




Re: [HACKERS] Re: Add support for xti.h

2000-10-25 Thread Pete Forman

Tom Lane writes:
   This is an IRIX bug but I think that we need to work around it.
  
   Roger, will do.
  
  I have changed configure in the CVS repository to test for
  netinet/tcp.h per your recommendation.  At your convenience, please
  verify that it really does do the right thing on IRIX.

Yes, that works.


There is a separate problem running the configure script on AIX.  It
hangs while testing for flex.  The two processes that I killed to
allow configure to continue were

/usr/ccs/bin/lex --version
/usr/bin/lex --version

The problem is that lex is waiting for input from stdin.  This patch
should fix it.   I've only tested modification of the configure file
directly.

*** config/programs.m4.orig Mon Aug 28 12:53:13 2000
--- config/programs.m4  Wed Oct 25 10:20:31 2000
***
*** 22,28 
  for pgac_prog in flex lex; do
pgac_candidate="$pgac_dir/$pgac_prog"
if test -f "$pgac_candidate" \
!  $pgac_candidate --version /dev/null 21
then
  echo '%%'   conftest.l
  if $pgac_candidate -t conftest.l 2/dev/null | grep FLEX_SCANNER /dev/null 
21; then
--- 22,28 
  for pgac_prog in flex lex; do
pgac_candidate="$pgac_dir/$pgac_prog"
if test -f "$pgac_candidate" \
!  $pgac_candidate --version /dev/null /dev/null 21
then
  echo '%%'   conftest.l
  if $pgac_candidate -t conftest.l 2/dev/null | grep FLEX_SCANNER /dev/null 
21; then



-- 
Pete Forman -./\.- Disclaimer: This post is originated
Western Geophysical   -./\.-  by myself and does not represent
[EMAIL PROTECTED] -./\.-  the opinion of Baker Hughes or
http://www.crosswinds.net/~petef  -./\.-  its divisions.



Re: [HACKERS] Re: Add support for xti.h

2000-10-24 Thread Tom Lane

 This is an IRIX bug but I think that we need to work around it.

 Roger, will do.

I have changed configure in the CVS repository to test for netinet/tcp.h
per your recommendation.  At your convenience, please verify that it
really does do the right thing on IRIX.

regards, tom lane



Re: [HACKERS] Re: Add support for xti.h

2000-10-24 Thread Tom Lane

Pete Forman [EMAIL PROTECTED] writes:
 On IRIX 6.5.5m I get the following error.  The header standards.h is
 included by (nearly!) all of the standard headers.  It is the IRIX
 equivalent of config.h if you will.

 configure:4349: checking for netinet/tcp.h
 configure:4359: cc -E   conftest.c /dev/null 2conftest.out
 cc-1035 cc: WARNING File = /usr/include/sys/endian.h, Line = 32
   #error directive:  "standards.h must be included before sys/endian.h."

   #error "standards.h must be included before sys/endian.h."
^
 configure: failed program was:
 #line 4354 "configure"
 #include "confdefs.h"
 #include netinet/tcp.h

How bizarre.  One would think it'd make more sense to just include the
desired file, instead of going belly-up like that.

 In order to preprocess this test on IRIX a system header such as
 stdio.h must precede netinet/tcp.h.  The logical choice of header
 to use is netinet/in.h as tcp.h is supplying values for levels
 defined in in.h.

 This is an IRIX bug but I think that we need to work around it.

Roger, will do.

regards, tom lane



Re: [HACKERS] Re: Add support for xti.h

2000-10-24 Thread Pete Forman

Tom Lane writes:
   Actually, given your description of the problem, I'm half
   inclined to revert the whole patch and instead make configure's
   test for availability of netinet/tcp.h first include
   netinet/in.h, so that that configure test will succeed on IRIX
   etc.
  
  Pete,
After looking at this I'm confused again.  The configure test
  consists of seeing whether cpp will process
  
   #include netinet/tcp.h
  
  without complaint.  I can well believe that the full C compilation
  process will generate errors if netinet/tcp.h is included without
  also including netinet/in.h, but it's a little harder to believe
  that cpp alone will complain.  Could you double-check this?
  
  It would be useful to look at the config.log file generated by the
  configure run that's reporting tcp.h isn't found.  It should
  contain the error messages generated by failed tests.

On IRIX 6.5.5m I get the following error.  The header standards.h is
included by (nearly!) all of the standard headers.  It is the IRIX
equivalent of config.h if you will.

In order to preprocess this test on IRIX a system header such as
stdio.h must precede netinet/tcp.h.  The logical choice of header
to use is netinet/in.h as tcp.h is supplying values for levels
defined in in.h.

This is an IRIX bug but I think that we need to work around it.


configure:4349: checking for netinet/tcp.h
configure:4359: cc -E   conftest.c /dev/null 2conftest.out
cc-1035 cc: WARNING File = /usr/include/sys/endian.h, Line = 32
  #error directive:  "standards.h must be included before sys/endian.h."

  #error "standards.h must be included before sys/endian.h."
   ^
configure: failed program was:
#line 4354 "configure"
#include "confdefs.h"
#include netinet/tcp.h



-- 
Pete Forman -./\.- Disclaimer: This post is originated
Western Geophysical   -./\.-  by myself and does not represent
[EMAIL PROTECTED] -./\.-  the opinion of Baker Hughes or
http://www.crosswinds.net/~petef  -./\.-  its divisions.



[HACKERS] Re: Add support for xti.h

2000-10-23 Thread Tom Lane

 Actually, given your description of the problem, I'm half inclined
 to revert the whole patch and instead make configure's test for
 availability of netinet/tcp.h first include netinet/in.h, so
 that that configure test will succeed on IRIX etc.

Pete,
  After looking at this I'm confused again.  The configure test
consists of seeing whether cpp will process

#include netinet/tcp.h

without complaint.  I can well believe that the full C compilation
process will generate errors if netinet/tcp.h is included without
also including netinet/in.h, but it's a little harder to believe
that cpp alone will complain.  Could you double-check this?

It would be useful to look at the config.log file generated by the
configure run that's reporting tcp.h isn't found.  It should contain
the error messages generated by failed tests.

regards, tom lane



[HACKERS] Re: Add support for xti.h

2000-10-23 Thread Tom Lane

Pete Forman [EMAIL PROTECTED] writes:
 I've done bit more research.  xti.h was the correct place to find
 TCP_NODELAY in UNIX98/SUSv2.  However in the Austin Group draft of the
 next version of POSIX and UNIX0x/SUSv3, XTI has been dropped and
 netinet/tcp.h  officially included.

OK, thanks for following up on that.

 to revert the whole patch and instead make configure's test for
 availability of netinet/tcp.h first include netinet/in.h, so
 that that configure test will succeed on IRIX etc.

 I agree with this.  Back out the patch and update configure.in.

Will do.

regards, tom lane



[HACKERS] Re: Add support for xti.h

2000-10-19 Thread Tom Lane

Pete Forman wrote:
 The basic problem is that netinet/tcp.h is a BSD header.  The
 correct header for TCP internals such as TCP_NODELAY on a UNIX system
 is xti.h.  By UNIX I mean UNIX95 (aka XPG4v2 or SUSv1) or later.
 The 2 files which conditionally include netinet/tcp.h need also to
 conditionally include xti.h.

This patch is causing compilation warnings on HPUX 10.20:

gcc -c  -I../../../src/include  -O1 -Wall -Wmissing-prototypes -Wmissing-declarations 
-g -o pqcomm.o pqcomm.c
In file included from pqcomm.c:76:
/usr/include/netinet/tcp.h:71: warning: `TCP_NODELAY' redefined
/usr/include/sys/xti.h:469: warning: this is the location of the previous definition
/usr/include/netinet/tcp.h:72: warning: `TCP_MAXSEG' redefined
/usr/include/sys/xti.h:470: warning: this is the location of the previous definition

I have never heard of xti.h before and am rather dubious that it
should be considered more standard than tcp.h.  However, if we are
going to include it then it evidently must be *mutually exclusive*
with including tcp.h.  The $64 question is, which one ought to be
included when both are available?  I'd tend to go for tcp.h on the
grounds of "don't fix what wasn't broken".

Actually, given your description of the problem, I'm half inclined to
revert the whole patch and instead make configure's test for
availability of netinet/tcp.h first include netinet/in.h, so that
that configure test will succeed on IRIX etc.  Do you know any platforms
where tcp.h doesn't exist at all?

regards, tom lane



Re: [HACKERS] Re: Add support for xti.h

2000-10-19 Thread Bruce Momjian

 Pete Forman wrote:
  The basic problem is that netinet/tcp.h is a BSD header.  The
  correct header for TCP internals such as TCP_NODELAY on a UNIX system
  is xti.h.  By UNIX I mean UNIX95 (aka XPG4v2 or SUSv1) or later.
  The 2 files which conditionally include netinet/tcp.h need also to
  conditionally include xti.h.
 
 This patch is causing compilation warnings on HPUX 10.20:
 
 gcc -c  -I../../../src/include  -O1 -Wall -Wmissing-prototypes 
-Wmissing-declarations -g -o pqcomm.o pqcomm.c
 In file included from pqcomm.c:76:
 /usr/include/netinet/tcp.h:71: warning: `TCP_NODELAY' redefined
 /usr/include/sys/xti.h:469: warning: this is the location of the previous definition
 /usr/include/netinet/tcp.h:72: warning: `TCP_MAXSEG' redefined
 /usr/include/sys/xti.h:470: warning: this is the location of the previous definition
 
 I have never heard of xti.h before and am rather dubious that it

Yes, I never heard of xti.h either.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026



Re: [HACKERS] Re: Add support for xti.h

2000-10-19 Thread Larry Rosenman

On my UnixWare Box, both xti.h and netinet/... are present.

(Arguably the ONE TRUE UNIX, decendant from the ATT sources, and all
that rot, and current highest SysVrX release, at SysV R5). 

LER

* Bruce Momjian [EMAIL PROTECTED] [001019 22:34]:
  Pete Forman wrote:
   The basic problem is that netinet/tcp.h is a BSD header.  The
   correct header for TCP internals such as TCP_NODELAY on a UNIX system
   is xti.h.  By UNIX I mean UNIX95 (aka XPG4v2 or SUSv1) or later.
   The 2 files which conditionally include netinet/tcp.h need also to
   conditionally include xti.h.
  
  This patch is causing compilation warnings on HPUX 10.20:
  
  gcc -c  -I../../../src/include  -O1 -Wall -Wmissing-prototypes 
-Wmissing-declarations -g -o pqcomm.o pqcomm.c
  In file included from pqcomm.c:76:
  /usr/include/netinet/tcp.h:71: warning: `TCP_NODELAY' redefined
  /usr/include/sys/xti.h:469: warning: this is the location of the previous 
definition
  /usr/include/netinet/tcp.h:72: warning: `TCP_MAXSEG' redefined
  /usr/include/sys/xti.h:470: warning: this is the location of the previous 
definition
  
  I have never heard of xti.h before and am rather dubious that it
 
 Yes, I never heard of xti.h either.
 
 -- 
   Bruce Momjian|  http://candle.pha.pa.us
   [EMAIL PROTECTED]   |  (610) 853-3000
   +  If your life is a hard drive, |  830 Blythe Avenue
   +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026
-- 
Larry Rosenman  http://www.lerctr.org/~ler
Phone: +1 972-414-9812 (voice) Internet: [EMAIL PROTECTED]
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

 PGP signature