Setup cvs HEAD build problems

Igor Pechtchanski pechtcha@cs.nyu.edu
Thu Oct 17 21:08:00 GMT 2002


Hi,
Just checked setup out from cvs
(:pserver:anoncvs@sources.redhat.com:/cvs/cygwin-apps) and tried to build.
I created a new directory, from there ran "$(SETUP_SOURCE)/configure" with
all the options listed on http://sources.redhat.com/cygwin-apps/setup.html
(except changing "gcc" to "gcc-2" and "g++" to "g++-2"), and then "make".
I previously built setup from the distribution source (2.249.2.5) on the
same machine / software / package configuration with no problems.

Here are some problems I've encountered with the cvs HEAD:

1) Makefile.am has direct calls for flex and bison.  I have byacc
installed instead of bison, and configure found it and set YACC to it.
When I changed the rule to use $(YACC) instead of bison, make was able to
proceed.  I'm attaching a patch for Makefile.am that fixes it (it also
uses $(LEX) instead of flex).

2) zlib doesn't build as checked out from cvs.  The reason is that the
dependences are all screwed up.  Running 'touch aclocal.m4 Makefile.in
configure Makefile' in zlib fixed the dependences.  Oh, and it tried to
rebuild all of them and failed, since I have CVSREAD defined, and the
files couldn't be overwritten.  I'm not sure if there's a fix for this.
Also, the autotools files in zlib were generated for an older version than
is currently available, so the only way to regenerate them would be all at
once...

3) I get a 'yylval not defined' when compiling inilex.cc.  The exact
message is:
g++-2 -mno-cygwin -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"setup\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIBMINGW32=1 -DHAVE_ERRNO_H=1 -DHAVE_STRING=1 -DHAVE_STRING_H=1  -I. -I/usr/src/setup-cvs/setup -I/usr/src/setup-cvs/setup/bz2lib -I/usr/src/setup-cvs/setup/libgetopt++/include \
        -I/usr/include/g++-3 -Winline -Wall -Wpointer-arith -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wcomments -I/usr/src/setup-cvs/setup/bz2lib -I/usr/src/setup-cvs/setup/libgetopt++/include -g -O2 -c -o inilex.o inilex.cc
/usr/src/setup-cvs/setup/inilex.l: In function `int yylex()':
/usr/src/setup-cvs/setup/inilex.l:50: `yylval' undeclared (first use this function)
/usr/src/setup-cvs/setup/inilex.l:50: (Each undeclared identifier is reported only once
/usr/src/setup-cvs/setup/inilex.l:50: for each function it appears in.)

This is probably due to the differences between byacc and bison.  It would
be nice if there was a mention somewhere that setup requires bison to
build.  If that is indeed the case, though, please ignore the attached
patch...

I'll try installing bison and rebuilding tomorrow...  Sorry for the rant.
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"Water molecules expand as they grow warmer" (C) Popular Science, Oct'02, p.51
-------------- next part --------------
2002-10-17  Igor Pechtchanski <pechtcha@cs.nyu.edu>

	* Makefile.am (inilex.cc): Change flex to $(LEX).
	(iniparce.cc iniparse.h): Change bison to $(YACC).

-------------- next part --------------
Index: Makefile.am
===================================================================
RCS file: /cvs/cygwin-apps/setup/Makefile.am,v
retrieving revision 2.22
diff -u -p -r2.22 Makefile.am
--- Makefile.am	9 Jul 2002 06:57:40 -0000	2.22
+++ Makefile.am	18 Oct 2002 03:56:37 -0000
@@ -300,11 +300,11 @@ inilex.o: inilex.cc
        $(AM_CPPFLAGS) $(CPPFLAGS) $(WARNONLY_CFLAGS) $(CXXFLAGS) -c -o $@ $< 
 
 iniparse.cc iniparse.h : iniparse.y
-	bison -d -o iniparse.cc $(srcdir)/iniparse.y
+	$(YACC) -d -o iniparse.cc $(srcdir)/iniparse.y
 	@mv iniparse.cc.h iniparse.h 2>/dev/null || mv iniparse.hh iniparse.h
 
 inilex.cc : inilex.l iniparse.h
-	flex -8 $(srcdir)/inilex.l
+	$(LEX) -8 $(srcdir)/inilex.l
 	mv lex.yy.c inilex.cc
 
 # Make a distribution package and tarball


More information about the Cygwin-apps mailing list