Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Authentication-Warning: slinky.cs.nyu.edu: pechtcha owned process doing -bs Date: Tue, 13 May 2003 12:04:07 -0400 (EDT) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: Chu Wang cc: cygwin AT cygwin DOT com Subject: Re: Help: problems with unreferenced yywrap In-Reply-To: <12B3AE0049C5D511A59A00D0B7B77ED506A3BC7F@bilbo.hud.ac.uk> Message-ID: Importance: Normal MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Tue, 13 May 2003, Chu Wang wrote: > Hi, all > > I tried to compile and install a package under Cygwin, and the package > requires lex and yacc tool. I have installed bison and flex into > Cygwin, but the configuration process didn't find yywrap... actually I > don't know what the yywrap is for and have few ideas about lex and yacc. > I just want to install the package and run it. Part of the configuration > results like below: > > creating cache ./config.cache > checking for name and version number... \c > concepts 0.3f > checking for bison... \c > bison -y > checking for flex... \c > flex > checking for yywrap in -lfl... \c > no ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > checking for gcc... \c > gcc > > A Makefile is created after configuration. When I tried to make the > files, errors appeared like below: > > gcc -c -DHAVE_CONFIG_H -g concept.c > gcc -c -DHAVE_CONFIG_H -g hash.c > gcc -c -DHAVE_CONFIG_H -g list.c > gcc -c -DHAVE_CONFIG_H -g main.c > gcc -c -DHAVE_CONFIG_H -g panic.c > gcc -c -DHAVE_CONFIG_H -g print.c > gcc -c -DHAVE_CONFIG_H -g relation.c > gcc -c -DHAVE_CONFIG_H -g set.c > gcc -c -DHAVE_CONFIG_H -g context.c > gcc -c -DHAVE_CONFIG_H -g input.c > gcc -c -DHAVE_CONFIG_H -g arrow.c > flex scanner.lex > mv lex.yy.c scanner.c > bison -y -d parser.yacc > mv y.tab.c parser.c > mv y.tab.h parser.h > gcc -c -DHAVE_CONFIG_H -g scanner.c > gcc -c -DHAVE_CONFIG_H -g parser.c > gcc -c -DHAVE_CONFIG_H -g lib.c > gcc -g -o concepts concept.o hash.o list.o main.o panic.o print.o relation.o set.o context.o input.o arrow.o scanner.o parser.o lib.o > scanner.o(.text+0x92e): In function `yylex': > /cygdrive/c/work/concept/lex.yy.c:793: undefined reference to `_yywrap' > scanner.o(.text+0x111f): In function `input': > /cygdrive/c/work/concept/lex.yy.c:1142: undefined reference to `_yywrap' > collect2: ld returned 1 exit status > make: *** [concepts] Error 1 > > I checked with previous email archieves, and found yywrap is a function in flex library libfl.a. However, I have installed flex , what else do I need to get the package installed? > > Any suggestion will be highly appreciated! Thanks a lot. > > Regards, > Chu Chu, Note the underlined line above. "configure" is not all-knowing, and sometimes makes mistakes. In this particular case, the program that tested for yywrap in libfl.a failed (possibly for an unrelated reason), and configure assumed that yywrap is not available in -lfl, and, judging by the lower commands, decided not to link it in. This probably is a bug in the configure script. To find out why the test program failed, look in "config.log" for the line "checking for yywrap in -lfl". The exact failed program, and the nature of the failure (i.e., compiler errors) should be right around that line. Once that is fixed (which might require editing "configure", or rerunning autoconf if the project uses "configure.in"). Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT com |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! Knowledge is an unending adventure at the edge of uncertainty. -- Leto II -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/