Subject: pkg/30914: devel/cscope doesn't build if devel/bison is installed
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Chuck Cranor <chuck@xxx.pdl.cmu.edu>
List: pkgsrc-bugs
Date: 08/04/2005 16:19:00
>Number:         30914
>Category:       pkg
>Synopsis:       devel/cscope doesn't build if devel/bison is installed
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Aug 04 16:19:00 +0000 2005
>Originator:     Chuck Cranor
>Release:        NetBSD 3.0_BETA, pkgsrc Aug 3, 2005
>Organization:
CMU
>Environment:
System: NetBSD xxx.pdl.cmu.edu 3.0_BETA NetBSD 3.0_BETA (XXX) #0: Tue Aug 2 13:00:21 EDT 2005 chuck@xxx.pdl.cmu.edu:/home/netbsd/30/src/sys/arch/i386/compile/XXX i386
Architecture: i386
Machine: i386
>Description:

	devel/cscope's configuration script dynamically chooses to use
	bison if it can find it (otherwise it uses yacc).   unfortunately,
	it doesn't compile with our devel/bison.

	if you haven't installed devel/bison, then devel/cscope compiles fine.
	on the other hand, if you've installed devel/bison, then you'll lose
	when you try devel/cscope.

>How-To-Repeat:

here is a script of the problem:

Script started on Thu Aug  4 12:10:24 2005
# which bison
/usr/pkg/bin/bison
# make 
===> *** No /usr/home/netbsd/cur/pkgsrc/distfiles/pkg-vulnerabilities file found,
===> *** skipping vulnerability checks. To fix, install
===> *** the pkgsrc/security/audit-packages package and run
===> *** '/usr/pkg/sbin/download-vulnerability-list'.
=> Checksum SHA1 OK for cscope-15.4.tar.gz.
=> Checksum RMD160 OK for cscope-15.4.tar.gz.
===> Extracting for cscope-15.4nb4
===> Patching for cscope-15.4nb4
===> Applying pkgsrc patches for cscope-15.4nb4
===> Overriding tools for cscope-15.4nb4
===> Creating toolchain wrappers for cscope-15.4nb4
===> Configuring for cscope-15.4nb4
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking for a BSD compatible install... /usr/bin/install -c -o root -g wheel
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... missing
checking build system type... i386-unknown-netbsdelf3.0.
checking host system type... i386--netbsdelf
checking user specification of lexer... flex
checking user specification of yacc... 
checking for a BSD compatible install... /usr/bin/install -c -o root -g wheel
checking for i386--netbsdelf-gcc... cc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for executable suffix... 
checking for object suffix... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking how to run the C preprocessor... cc -E
checking for flex... flex
checking for flex... (cached) flex
checking for yywrap in -lfl... yes
checking lex output file root... lex.yy
checking whether yytext is a pointer... no
checking for bison... bison -y
checking for regcomp in -lregex... no
checking for dirent.h that defines DIR... yes
checking for opendir in -ldir... no
checking for ANSI C header files... yes
checking for fcntl.h... yes
checking for sys/window.h... no
checking for sys/termios.h... yes
checking for unistd.h... yes
checking for cc option to accept ANSI C... none needed
checking for an ANSI C-conforming const... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... (cached) yes
checking for mode_t... yes
checking for pid_t... yes
checking for size_t... yes
checking return type of signal handlers... void
checking for strchr... yes
checking for memcpy... yes
checking for memset... yes
checking for setmode... yes
checking for _setmode... yes
checking for getcwd... yes
checking for regcmp... no
checking for regcomp... yes
checking for strerror... yes
checking for vsnprintf... yes
checking for snprintf... yes
checking for lstat... yes
checking for fixkeypad... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: creating contrib/Makefile
config.status: creating config.h
===> Building for cscope-15.4nb4
cd . && autoheader
WARNING: `autoheader' is missing on your system.  You should only need it if
         you modified `acconfig.h' or `configure.in'.  You might want
         to install the `Autoconf' and `GNU m4' packages.  Grab them
         from any GNU archive site.
cd .  && CONFIG_FILES= CONFIG_HEADERS=config.h:config.h.in  /bin/sh ./config.status
config.status: creating config.h
config.status: config.h is unchanged
/usr/bin/make  all-recursive
Making all in doc
Making all in src
/bin/sh ./ylwrap "flex" fscanner.l lex.yy.c fscanner.c --  
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c fscanner.c
bison -y   egrep.y && mv y.tab.c egrep.c
egrep.y:106.17: syntax error, unexpected "="
egrep.y:111.17: syntax error, unexpected "="
egrep.y:113.39-40: invalid $ value
egrep.y:115.39-40: invalid $ value
egrep.y:120.17: syntax error, unexpected "="
egrep.y:124.17: syntax error, unexpected "="
egrep.y:134.17: syntax error, unexpected "="
*** Error code 1

Stop.
make: stopped in /usr/home/netbsd/cur/pkgsrc/devel/cscope/work/cscope-15.4/src
*** Error code 1

Stop.
make: stopped in /usr/home/netbsd/cur/pkgsrc/devel/cscope/work/cscope-15.4
*** Error code 1

Stop.
make: stopped in /usr/home/netbsd/cur/pkgsrc/devel/cscope/work/cscope-15.4
*** Error code 1

Stop.
make: stopped in /usr/home/netbsd/cur/pkgsrc/devel/cscope
===> 
===> There was an error during the ``build'' phase.
===> Please investigate the following for more information:
===>      * log of the build
===>      * /usr/home/netbsd/cur/pkgsrc/devel/cscope/work/.work.log
===> 
*** Error code 1

Stop.
make: stopped in /home/netbsd/cur/pkgsrc/devel/cscope
# 
# 
# mv /usr/pkg/bin/bison /usr/pkg/bin/bison_SAVE
# make clean
===> Cleaning for cscope-15.4nb4
# make
===> *** No /usr/home/netbsd/cur/pkgsrc/distfiles/pkg-vulnerabilities file found,
===> *** skipping vulnerability checks. To fix, install
===> *** the pkgsrc/security/audit-packages package and run
===> *** '/usr/pkg/sbin/download-vulnerability-list'.
=> Checksum SHA1 OK for cscope-15.4.tar.gz.
=> Checksum RMD160 OK for cscope-15.4.tar.gz.
===> Extracting for cscope-15.4nb4
===> Patching for cscope-15.4nb4
===> Applying pkgsrc patches for cscope-15.4nb4
===> Overriding tools for cscope-15.4nb4
===> Creating toolchain wrappers for cscope-15.4nb4
===> Configuring for cscope-15.4nb4
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking for a BSD compatible install... /usr/bin/install -c -o root -g wheel
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... missing
checking build system type... i386-unknown-netbsdelf3.0.
checking host system type... i386--netbsdelf
checking user specification of lexer... flex
checking user specification of yacc... 
checking for a BSD compatible install... /usr/bin/install -c -o root -g wheel
checking for i386--netbsdelf-gcc... cc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for executable suffix... 
checking for object suffix... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking how to run the C preprocessor... cc -E
checking for flex... flex
checking for flex... (cached) flex
checking for yywrap in -lfl... yes
checking lex output file root... lex.yy
checking whether yytext is a pointer... no
checking for bison... no
checking for byacc... no
checking for regcomp in -lregex... no
checking for dirent.h that defines DIR... yes
checking for opendir in -ldir... no
checking for ANSI C header files... yes
checking for fcntl.h... yes
checking for sys/window.h... no
checking for sys/termios.h... yes
checking for unistd.h... yes
checking for cc option to accept ANSI C... none needed
checking for an ANSI C-conforming const... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... (cached) yes
checking for mode_t... yes
checking for pid_t... yes
checking for size_t... yes
checking return type of signal handlers... void
checking for strchr... yes
checking for memcpy... yes
checking for memset... yes
checking for setmode... yes
checking for _setmode... yes
checking for getcwd... yes
checking for regcmp... no
checking for regcomp... yes
checking for strerror... yes
checking for vsnprintf... yes
checking for snprintf... yes
checking for lstat... yes
checking for fixkeypad... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: creating contrib/Makefile
config.status: creating config.h
===> Building for cscope-15.4nb4
cd . && autoheader
WARNING: `autoheader' is missing on your system.  You should only need it if
         you modified `acconfig.h' or `configure.in'.  You might want
         to install the `Autoconf' and `GNU m4' packages.  Grab them
         from any GNU archive site.
/usr/bin/make  all-recursive
Making all in doc
cd ..  && CONFIG_FILES=doc/Makefile CONFIG_HEADERS= /bin/sh ./config.status
config.status: creating doc/Makefile
Making all in src
cd ..  && CONFIG_FILES=src/Makefile CONFIG_HEADERS= /bin/sh ./config.status
config.status: creating src/Makefile
/bin/sh ./ylwrap "flex" fscanner.l lex.yy.c fscanner.c --  
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c fscanner.c
yacc   egrep.y && mv y.tab.c egrep.c
yacc: 2 shift/reduce conflicts.
if test -f y.tab.h; then  if cmp -s y.tab.h egrep.h; then rm -f y.tab.h; else mv y.tab.h egrep.h; fi;  else :; fi
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c egrep.c
egrep.y:616: warning: conflicting types for built-in function `memset'
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c alloc.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c basename.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c build.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c command.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c compath.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c crossref.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c dir.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c display.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c edit.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c exec.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c find.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c help.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c history.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c input.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c invlib.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c logdir.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c lookup.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c main.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c mouse.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c mygetenv.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c mypopen.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c vpaccess.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c vpfopen.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c vpinit.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include  -I/usr/include  -O2 -I/usr/include -c vpopen.c
cc  -O2 -I/usr/include -L/usr/lib -Wl,-R/usr/lib -Wl,-R/usr/pkg/lib -o cscope  fscanner.o egrep.o alloc.o basename.o  build.o command.o compath.o crossref.o dir.o display.o  edit.o exec.o find.o help.o history.o input.o invlib.o  logdir.o lookup.o main.o mouse.o mygetenv.o mypopen.o  vpaccess.o vpfopen.o vpinit.o vpopen.o -L/usr/lib -lncurses -lfl 
main.o(.text+0x148): In function `main':
: warning: warning: tempnam() possibly used unsafely, use mkstemp() or mkdtemp()
Making all in contrib
cd ..  && CONFIG_FILES=contrib/Makefile CONFIG_HEADERS= /bin/sh ./config.status
config.status: creating contrib/Makefile
cd .  && CONFIG_FILES=Makefile CONFIG_HEADERS= /bin/sh ./config.status
config.status: creating Makefile
=> Unwrapping files-to-be-installed.
# ^D
Script done on Thu Aug  4 12:11:24 2005

>Fix:

	don't use bison?