Re: machine/endian.h revision 1.33 breaks port x11-fm/gentoo
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
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
* 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
[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
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