Yasuhiro KIMURA
2013-Oct-19 17:26 UTC
Fail to build shells/zsh on 10.0-BETA1 due to conflict of 'bool' definition between rpcsvc/yp_prot.h and stdbool.h
On 10.0-BETA1 amd64, build of shells/zsh fails as following: ===> License ZSH accepted by the user ===> Found saved configuration for zsh-5.0.2_1 ===> zsh-5.0.2_1 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by zsh-5.0.2_1 for building ===> Extracting for zsh-5.0.2_1 => SHA256 Checksum OK for zsh-5.0.2.tar.bz2. => SHA256 Checksum OK for zsh-5.0.2-doc.tar.bz2. ===> Patching for zsh-5.0.2_1 ===> Applying extra patch /am/eastasia/usr0/freebsd/ports/ports/shells/zsh/files/extra-patch-bsdtar ===> Applying FreeBSD patches for zsh-5.0.2_1 ===> Configuring for zsh-5.0.2_1 (snip) cc -c -I. -I../Src -I../Src -I../Src/Zle -I. -I/usr/local/include -DHAVE_CONFIG_H -O2 -pipe -fno-strict-aliasing -o hashnameddir.o hashnameddir.c In file included from hashnameddir.c:52: /usr/include/rpcsvc/yp_prot.h:71:15: error: cannot combine with previous 'type-name' declaration specifier typedef u_int bool; ^ /usr/include/stdbool.h:37:14: note: expanded from macro 'bool' #define bool _Bool ^ 1 error generated. *** Error code 1 Stop. make[4]: stopped in /usr0/freebsd/ports/work/am/eastasia/usr0/freebsd/ports/ports/shells/zsh/work/zsh-5.0.2/Src *** Error code 1 Stop. make[3]: stopped in /usr0/freebsd/ports/work/am/eastasia/usr0/freebsd/ports/ports/shells/zsh/work/zsh-5.0.2/Src *** Error code 1 Stop. make[2]: stopped in /usr0/freebsd/ports/work/am/eastasia/usr0/freebsd/ports/ports/shells/zsh/work/zsh-5.0.2 *** Error code 1 Stop. make[1]: stopped in /am/eastasia/usr0/freebsd/ports/ports/shells/zsh *** Error code 1 Stop. make: stopped in /am/eastasia/usr0/freebsd/ports/ports/shells/zsh Accoding to the error message, there seems to be conflict about definition of 'bool' between /usr/include/rpcsvc/yp_prot.h and /usr/include/stdbool.h. Then how to fix this issue? --- Yasuhiro KIMURA
Yasuhiro KIMURA
2013-Oct-20 09:15 UTC
Fail to build shells/zsh on 10.0-BETA1 due to conflict of 'bool' definition between rpcsvc/yp_prot.h and stdbool.h
From: Yasuhiro KIMURA <yasu at utahime.org> Subject: Fail to build shells/zsh on 10.0-BETA1 due to conflict of 'bool' definition between rpcsvc/yp_prot.h and stdbool.h Date: Sun, 20 Oct 2013 02:26:31 +0900 (JST)> On 10.0-BETA1 amd64, build of shells/zsh fails as following: > (snip) > cc -c -I. -I../Src -I../Src -I../Src/Zle -I. -I/usr/local/include -DHAVE_CONFIG_H -O2 -pipe -fno-strict-aliasing -o hashnameddir.o hashnameddir.c > In file included from hashnameddir.c:52: > /usr/include/rpcsvc/yp_prot.h:71:15: error: cannot combine with previous 'type-name' declaration specifier > typedef u_int bool; > ^ > /usr/include/stdbool.h:37:14: note: expanded from macro 'bool' > #define bool _Bool > ^ > 1 error generated. > *** Error code 1 > > Stop. > > Accoding to the error message, there seems to be conflict about > definition of 'bool' between /usr/include/rpcsvc/yp_prot.h and > /usr/include/stdbool.h. > > Then how to fix this issue?Applying attached patch to port tree is tentative workaround, but I blieve this issue should be fixed by base system. Removing line 70-73 of yp_prot.h is simple idea but I am not certain it is really solution. --- Yasuhiro KIMURA -------------- next part -------------- Index: shells/zsh/Makefile ==================================================================--- shells/zsh/Makefile (revision 330965) +++ shells/zsh/Makefile (working copy) @@ -25,7 +25,7 @@ USES= iconv ncurses GNU_CONFIGURE= yes -CPPFLAGS+= -I${LOCALBASE}/include +CPPFLAGS+= -I${LOCALBASE}/include -DBOOL_DEFINED LDFLAGS+= -L${LOCALBASE}/lib CONFIGURE_ARGS= --with-term-lib="ncursesw ncurses" --with-tcsetpgrp \ --enable-function-subdirs