Re: machine/endian.h revision 1.33 breaks port x11-fm/gentoo

2002-05-27 Thread Oliver Braun

* Mike Barcroft [EMAIL PROTECTED] [2002-05-27 01:30]:
 Niels Chr. Bank-Pedersen [EMAIL PROTECTED] writes:
  On Sun, May 19, 2002 at 12:32:07AM +0200, Oliver Braun wrote:
   Hi,
   
   I am the ports maintainer of x11-fm/gentoo. Building gentoo dies since
   revision 1.33 of machine/endian.h with the following error:
   
   In file included from cmdseq.c:18:
   /usr/include/sys/wait.h:114: duplicate member `w_Filler'
   /usr/include/sys/wait.h:115: duplicate member `w_Retcode'
   /usr/include/sys/wait.h:116: duplicate member `w_Coredump'
   /usr/include/sys/wait.h:117: duplicate member `w_Termsig'
   /usr/include/sys/wait.h:132: duplicate member `w_Filler'
   /usr/include/sys/wait.h:133: duplicate member `w_Stopsig'
   /usr/include/sys/wait.h:134: duplicate member `w_Stopval'
   *** Error code 1
   
   With machine/endian.h revision 1.32 it works.
   
   A workaround for x11-fm/gentoo is to declare the functions needed
   explicit and avoid including whole sys/wait.h.

 This is good.  I was hoping fixing the namespace pollution in endian.h
 would expose more bugs.  The bug in this case is that wait.h is
 depending on the old pollution of endian.h in the !__BSD_VISIBLE
 case.  The solution is to use the underscored variants in wait.h.
 I'll commit the fix soon.

 I ran into another build problem later on.  This time the bug was in
 the port itself.  It was missing a string.h include, for the
 strdup() prototype.  I think the previous GCC didn't complain about
 missing prototypes for built-ins, which is probably why this wasn't
 exposed earlier.

 Adding the include doesn't fix the problem because the program, via
 gentoo.h, specifies that it wants a POSIX environment
 (`#define _POSIX_C_SOURCE 3').  I think the value 3 is wrong here.
 The correct format is MM, which specifies the ratified date of the
 Standard.  Nevertheless, our headers try and accomodate and provide
 a 1988 environment.  strdup() wasn't added to POSIX until 2001.

 The solution would be to specify a Standard that provides the
 interface the application needs, or to not specify a Standard at all.
 The software does the latter in the NetBSD, et al cases.  This patch
 below and the upcoming commit to sys/wait.h should fix this port.

 %%%
 --- gentoo.h.orig Sun May 26 19:20:42 2002
 +++ gentoo.h  Sun May 26 19:13:52 2002
 @@ -13,7 +13,7 @@

  #include config.h

 -#if !(defined __osf__  defined __alpha__)  !defined __NetBSD__
 +#if !(defined __osf__  defined __alpha__)  !defined __NetBSD__  !defined 
__FreeBSD__
  #define __EXTENSIONS__
  #define _POSIX_C_SOURCE  3 /* This is for Solaris. */
  #define  POSIX_C_SOURCE3
 %%%

Thanks, it fixes the port. I have tested it and submitted it already.

Regards,
 Olli
-- 
IST  IIS _ INF _ UniBwM  http://ist.unibw-muenchen.de/People/obraun/
Tele-Consulting GmbH  http://www.tele-consulting.com/ ___ obraun@
FreeBSD: The Power To Serve _ http://www.freebsd.org/ ___

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: machine/endian.h revision 1.33 breaks port x11-fm/gentoo

2002-05-27 Thread Andrea Campi

There's a problem with coldsync port on -current which has to do with
endian macros:

cc -Wall -ansi -pedantic -O -pipe -march=pentiumpro -DHAVE_CONFIG_H -I. -I./.. -
I./../include -I/usr/local/include -c PConnection_net.c
In file included from /usr/include/arpa/nameser.h:446,
 from PConnection_net.c:11:
/usr/include/arpa/nameser_compat.h:54: syntax error before string constant
/usr/include/arpa/nameser_compat.h:82: duplicate member `rd'
/usr/include/arpa/nameser_compat.h:83: duplicate member `tc'
/usr/include/arpa/nameser_compat.h:84: duplicate member `aa'
/usr/include/arpa/nameser_compat.h:85: duplicate member `opcode'
/usr/include/arpa/nameser_compat.h:86: duplicate member `qr'
/usr/include/arpa/nameser_compat.h:88: duplicate member `rcode'
/usr/include/arpa/nameser_compat.h:89: duplicate member `cd'
/usr/include/arpa/nameser_compat.h:90: duplicate member `ad'
/usr/include/arpa/nameser_compat.h:91: duplicate member `unused'
/usr/include/arpa/nameser_compat.h:92: duplicate member `ra'
In file included from PConnection_net.c:12:
/usr/include/resolv.h:130: field `in6a' has incomplete type
*** Error code 1


Anybody cares to have a look?

Bye,
Andrea


-- 
Tagline generated by 'gensig' mail-client-independent .signature generator.
Get your copy at http://www.geeks.com/~robf/gensig/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: machine/endian.h revision 1.33 breaks port x11-fm/gentoo

2002-05-27 Thread Mike Barcroft

Andrea Campi [EMAIL PROTECTED] writes:
 There's a problem with coldsync port on -current which has to do with
 endian macros:
 
 cc -Wall -ansi -pedantic -O -pipe -march=pentiumpro -DHAVE_CONFIG_H -I. -I./.. -
 I./../include -I/usr/local/include -c PConnection_net.c
 In file included from /usr/include/arpa/nameser.h:446,
  from PConnection_net.c:11:
 /usr/include/arpa/nameser_compat.h:54: syntax error before string constant
 /usr/include/arpa/nameser_compat.h:82: duplicate member `rd'
 /usr/include/arpa/nameser_compat.h:83: duplicate member `tc'
 /usr/include/arpa/nameser_compat.h:84: duplicate member `aa'
 /usr/include/arpa/nameser_compat.h:85: duplicate member `opcode'
 /usr/include/arpa/nameser_compat.h:86: duplicate member `qr'
 /usr/include/arpa/nameser_compat.h:88: duplicate member `rcode'
 /usr/include/arpa/nameser_compat.h:89: duplicate member `cd'
 /usr/include/arpa/nameser_compat.h:90: duplicate member `ad'
 /usr/include/arpa/nameser_compat.h:91: duplicate member `unused'
 /usr/include/arpa/nameser_compat.h:92: duplicate member `ra'
 In file included from PConnection_net.c:12:
 /usr/include/resolv.h:130: field `in6a' has incomplete type
 *** Error code 1
 
 
 Anybody cares to have a look?

Hmm, the application thinks it conforms to POSIX, but uses headers not
defined in POSIX.  Removing:
#ifndef _POSIX_C_SOURCE
#  define _POSIX_C_SOURCE  2
#endif  /* _POSIX_C_SOURCE */

...from config.h will probably fix it.  I may just change all the
headers over to _BYTE_ORDER and friends, so that even confussed
applications work.

Best regards,
Mike Barcroft

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: machine/endian.h revision 1.33 breaks port x11-fm/gentoo

2002-05-26 Thread Niels Chr. Bank-Pedersen

On Sun, May 19, 2002 at 12:32:07AM +0200, Oliver Braun wrote:
 Hi,
 
 I am the ports maintainer of x11-fm/gentoo. Building gentoo dies since
 revision 1.33 of machine/endian.h with the following error:
 
 In file included from cmdseq.c:18:
 /usr/include/sys/wait.h:114: duplicate member `w_Filler'
 /usr/include/sys/wait.h:115: duplicate member `w_Retcode'
 /usr/include/sys/wait.h:116: duplicate member `w_Coredump'
 /usr/include/sys/wait.h:117: duplicate member `w_Termsig'
 /usr/include/sys/wait.h:132: duplicate member `w_Filler'
 /usr/include/sys/wait.h:133: duplicate member `w_Stopsig'
 /usr/include/sys/wait.h:134: duplicate member `w_Stopval'
 *** Error code 1
 
 With machine/endian.h revision 1.32 it works.
 
 A workaround for x11-fm/gentoo is to declare the functions needed
 explicit and avoid including whole sys/wait.h.

Same problem (and workaround) exists for comms/gnokii (not that
the workaround matters too much, xgnokii still cores for me).

[...]

  Olli


/Niels Chr.

-- 
 Niels Christian Bank-Pedersen, NCB1-RIPE.

 Hey, are any of you guys out there actually *using* RFC 2549?

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: machine/endian.h revision 1.33 breaks port x11-fm/gentoo

2002-05-26 Thread Mike Barcroft

[Sorry I missed the beginning of this thread.]

Niels Chr. Bank-Pedersen [EMAIL PROTECTED] writes:
 On Sun, May 19, 2002 at 12:32:07AM +0200, Oliver Braun wrote:
  Hi,
  
  I am the ports maintainer of x11-fm/gentoo. Building gentoo dies since
  revision 1.33 of machine/endian.h with the following error:
  
  In file included from cmdseq.c:18:
  /usr/include/sys/wait.h:114: duplicate member `w_Filler'
  /usr/include/sys/wait.h:115: duplicate member `w_Retcode'
  /usr/include/sys/wait.h:116: duplicate member `w_Coredump'
  /usr/include/sys/wait.h:117: duplicate member `w_Termsig'
  /usr/include/sys/wait.h:132: duplicate member `w_Filler'
  /usr/include/sys/wait.h:133: duplicate member `w_Stopsig'
  /usr/include/sys/wait.h:134: duplicate member `w_Stopval'
  *** Error code 1
  
  With machine/endian.h revision 1.32 it works.
  
  A workaround for x11-fm/gentoo is to declare the functions needed
  explicit and avoid including whole sys/wait.h.

This is good.  I was hoping fixing the namespace pollution in endian.h
would expose more bugs.  The bug in this case is that wait.h is
depending on the old pollution of endian.h in the !__BSD_VISIBLE
case.  The solution is to use the underscored variants in wait.h.
I'll commit the fix soon.

I ran into another build problem later on.  This time the bug was in
the port itself.  It was missing a string.h include, for the
strdup() prototype.  I think the previous GCC didn't complain about
missing prototypes for built-ins, which is probably why this wasn't
exposed earlier.

Adding the include doesn't fix the problem because the program, via
gentoo.h, specifies that it wants a POSIX environment
(`#define _POSIX_C_SOURCE 3').  I think the value 3 is wrong here.
The correct format is MM, which specifies the ratified date of the
Standard.  Nevertheless, our headers try and accomodate and provide
a 1988 environment.  strdup() wasn't added to POSIX until 2001.

The solution would be to specify a Standard that provides the
interface the application needs, or to not specify a Standard at all.
The software does the latter in the NetBSD, et al cases.  This patch
below and the upcoming commit to sys/wait.h should fix this port.

%%%
--- gentoo.h.orig   Sun May 26 19:20:42 2002
+++ gentoo.hSun May 26 19:13:52 2002
@@ -13,7 +13,7 @@
 
 #include config.h
 
-#if !(defined __osf__  defined __alpha__)  !defined __NetBSD__
+#if !(defined __osf__  defined __alpha__)  !defined __NetBSD__  !defined 
+__FreeBSD__
 #define __EXTENSIONS__
 #define _POSIX_C_SOURCE3 /* This is for Solaris. */
 #definePOSIX_C_SOURCE3
%%%

Best regards,
Mike Barcroft

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message