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-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 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  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  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-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  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  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



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