cURL / Mailing Lists / curl-library / Single Mail

curl-library

7.12.1 Solaris build problem with getdate.y

From: Mohun Biswas <m_biswas_at_mailinator.com>
Date: Fri, 10 Sep 2004 08:39:18 -0400

After building many many curl versions successfully on my Solaris 9 box,
I suddenly find that 7.12.1 fails when running yacc on getdate.y. And
this also highlights what I consider a bug in the Makefile.am. Here's
the sequence of events:

% make
cd . && \
   yacc getdate.y; \
   mv -f y.tab.c getdate.c
"getdate.y", line 216: fatal: invalid escape, or illegal reserved word:
expect
make all-am
make[1]: Entering directory `/big1/src/AO/curl-7.12.1/lib'
if /bin/bash ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I../include
-I../lib -I../lib -g -O2 -MT file.lo -MD -MP -MF ".deps/file.Tpo" -c
-o file.lo file.c; \
then mv -f ".deps/file.Tpo" ".deps/file.Plo"; else rm -f
".deps/file.Tpo"; exit 1; fi
^Cmake[1]: *** [file.lo] Interrupt
make: *** [all] Interrupt

% whence yacc
/usr/ccs/bin/yacc

Notice that make continues past the error. This is because of the
semicolon after the yacc command. If replaced with "&&", make fails
appropriately.

Regarding the actual yacc problem, it seems to have come up once before
in 2003:
http://marc.theaimsgroup.com/?l=curl-library&m=104850282815879&w=2. I
suspect it doesn't come up more often because the tar package comes with
getdate.c, and the problem only shows up if you do a "make clean", which
removes getdate.c, before building.

I suspect the recommendation would be the same as in 2003: "install
bison". But IMHO a creeping dependence on the GNU toolchain would be
unfortunate. I'm reluctant to install bison because I'm afraid of how it
might affect my fulltime development activities (which consist of more
than rebuilding curl). I don't know much about yacc but as far as I
know, Solaris yacc is standard. Is it possible to make the yacc grammar
such that it will build with a standard yacc? Or alternatively, if
getdate.c is to be considered a delivered source file rather than a
derived object, why should "make clean" remove it?

Thanks,
M. Biswas
Received on 2004-09-10