ports/178350: [ports/net/pchar] Fix compile error by avoid sizeof(bool) test, and Reduce compiler warning.
Norikatsu Shigemura
nork at FreeBSD.org
Sun May 5 18:00:01 UTC 2013
>Number: 178350
>Category: ports
>Synopsis: [ports/net/pchar] Fix compile error by avoid sizeof(bool) test, and Reduce compiler warning.
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun May 05 18:00:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: Norikatsu Shigemura
>Release: FreeBSD/amd64 10.0-CURRENT
>Organization:
Personal
>Environment:
FreeBSD pelsia.ninth-nine.com 10.0-CURRENT FreeBSD 10.0-CURRENT #147 r250254M: Sun May 5 21:15:09 JST 2013 nork at pelsia.ninth-nine.com:/usr/obj/usr/src/sys/PELSIA amd64
>Description:
pchar's configure did test noncompliance sizeof(bool) on C++ compiler.
To avoid this issue, I submit to set 'ac_cv_sizeof_bool=1' on CONFIGURE_ENV.
And I fixed some simple and blatant compiler warnings.
>How-To-Repeat:
cd /usr/ports/net/pchar
env CXX=clang++ make
:
checking size of bool... 0
:
===> Building for pchar-1.5
clang++ -O2 -pipe -march=core2 -fno-strict-aliasing -I. -DSIZEOF_BOOL=0 -DHAVE_SOCKLEN_T=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SOCKADDR_SA_LEN=1 -DHAVE_HERROR=1 -DHAVE_SNPRINTF=1 -DHAVE_LIBM=1 -DHAVE_IPV6=1 -DHAVE_PCAP=1 -DHAVE_LIBPCAP=1 -DHAVE_BPF=1 -c main.cc -o main.o
In file included from main.cc:48:
./pc.h:28:15: error: expected '}'
typedef enum {false, true} bool;
^
./pc.h:28:14: note: to match this '{'
typedef enum {false, true} bool;
^
./pc.h:28:28: error: redeclaration of C++ built-in type 'bool'
typedef enum {false, true} bool;
^
2 errors generated.
*** [main.o] Error code 1
>Fix:
Please apply my attached patch file.
Patch attached with submission follows:
Index: Makefile
===================================================================
--- Makefile (revision 317421)
+++ Makefile (working copy)
@@ -17,6 +17,7 @@
.include <bsd.port.pre.mk>
CONFIGURE_ARGS= --with-pcap
+CONFIGURE_ENV+= ac_cv_sizeof_bool=1
.if !defined(NOPORTDOCS)
post-install:
Index: files/patch-Pctest.h
===================================================================
--- files/patch-Pctest.h (revision 0)
+++ files/patch-Pctest.h (working copy)
@@ -0,0 +1,11 @@
+--- Pctest.h.orig 2005-02-13 05:32:18.000000000 +0900
++++ Pctest.h 2013-05-06 00:39:43.413338781 +0900
+@@ -86,7 +86,7 @@
+ virtual char *GetPrintableAddress() = 0;
+ virtual char *GetPrintableAddress(void *a) = 0;
+ virtual char *GetName(void *a) = 0;
+- virtual char *GetAddressFamilyString() = 0;
++ virtual const char *GetAddressFamilyString() = 0;
+ virtual int GetAddressFamily() = 0;
+
+ // Get input and output sockets needed
Index: files/patch-PctestIpv4.h
===================================================================
--- files/patch-PctestIpv4.h (revision 0)
+++ files/patch-PctestIpv4.h (working copy)
@@ -0,0 +1,11 @@
+--- PctestIpv4.h.orig 2005-02-13 05:32:18.000000000 +0900
++++ PctestIpv4.h 2013-05-06 00:36:17.432762986 +0900
+@@ -77,7 +77,7 @@
+ virtual char *GetPrintableAddress();
+ virtual char *GetPrintableAddress(void *a);
+ virtual char *GetName(void *a);
+- virtual char *GetAddressFamilyString() { return "AF_INET"; };
++ virtual const char *GetAddressFamilyString() { return "AF_INET"; };
+ virtual int GetAddressFamily() { return (AF_INET); };
+
+ protected:
Index: files/patch-PctestIpv6.h
===================================================================
--- files/patch-PctestIpv6.h (revision 0)
+++ files/patch-PctestIpv6.h (working copy)
@@ -0,0 +1,11 @@
+--- PctestIpv6.h.orig 2005-02-13 05:32:18.000000000 +0900
++++ PctestIpv6.h 2013-05-06 00:36:41.683117194 +0900
+@@ -82,7 +82,7 @@
+ virtual char *GetPrintableAddress();
+ virtual char *GetPrintableAddress(void *a);
+ virtual char *GetName(void *a);
+- virtual char *GetAddressFamilyString() { return "AF_INET6"; }
++ virtual const char *GetAddressFamilyString() { return "AF_INET6"; }
+ virtual int GetAddressFamily() { return (AF_INET6); }
+
+ protected:
Index: files/patch-main.cc
===================================================================
--- files/patch-main.cc (revision 0)
+++ files/patch-main.cc (working copy)
@@ -0,0 +1,20 @@
+--- main.cc.orig 2005-02-13 05:32:18.000000000 +0900
++++ main.cc 2013-05-06 00:41:42.842653383 +0900
+@@ -292,7 +292,7 @@
+ //
+ // Output: ASCII representation of network protocol name.
+ //
+-char *GetPrintableNetworkProtocol(NetworkProtocolType np)
++const char *GetPrintableNetworkProtocol(NetworkProtocolType np)
+ {
+ switch (np) {
+ case (NetworkProtocolIpv4Udp):
+@@ -371,7 +371,7 @@
+ case 'b': {
+ Burst = atoi(optarg);
+ if (Burst < 1) {
+- fprintf(stderr, "Warning: burst size %d too small; resetting to 1\n");
++ fprintf(stderr, "Warning: burst size %u too small; resetting to 1\n", Burst);
+ Burst = 1;
+ }
+ break;
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list