[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[UDUNITS #OLI-727708]: yacc



Gustavo,

> Full Name: Gustavo Correa
> Email Address: address@hidden
> Organization: Lamont-Doherty Earth Observatory of Columbia University
> Package Version: 1.12.7
> Operating System: Linux tompaine.ldeo.columbia.edu 2.6.9-55.0.2.ELsmp #1 SMP 
> Tue Jun 26 14:30:58 EDT 2007 i686 i686 i386 GNU/Linux
> Hardware: Pentium III
> Description of problem: Hello UCAR/UDUNITS support
> 
> I am trying to install UDUNITs (for use in NetCDF, NCO, etc) on a Cluster 
> Rocks 4.3,
> CentOS 4.3 Linux, Pentium-III machine.
> The installation fails when it tries to run
> yacc, which my system doesn't have.
> 
> Apparently CentOS, which is a clone of RedHat Enterprise, normally doesn't 
> install yacc,
> which has been largely replaced by bison.
> Not even a yacc rpm is present on the system.
> (I installed the two essential OS cds.)

Odd.  My Fedora Linux has the yacc(1) utility.  Oh well.

Please try the following:

1) Replace the rule for the "utparse.c" target in the file
"lib/Makefile.in" with the following:

utparse.c: utparse.y
        yacc -b utparse -d -p ut utparse.y
        cat utparse.tab.c > $@
        rm utparse.tab.c
        cat utparse.tab.h > utparse.h
        rm utparse.tab.h

2) Execute the script "config.status" in the top-level
source-directory (alternatively, you can re-execute the
"configure" script).

3) Make a symbolic-link from someplace in your PATH to the
bison(1) utility.

4) See if a "make" will now work.

Please let me know what you discover.

> The yacc command name seems to be hardwired
> in the UDUNITS configure script
> and/or Makefiles.
> My attempt to configure with "export YACC_LD=/usr/bin/bison" didn't work 
> either,
> and make files when it tries again to use yacc.
> 
> The UDUNITS RELEASE_NOTES file reports that
> it had migrated from yacc and lex to bison and flex in the 1995 Version 1.8!
> 
> Anyway, I wonder if there is a simple fix for this, or if I will have to 
> install the old yacc.  (Not very easy as this computer is the headnode of a 
> cluster running Rocks Clusters,
> which can break on hasty actions.)
> 
> Note: I installed UDUNITS in many systems here,
> most Fedora Core 1-8, and old versions of RedHat, without a problem. They 
> have yacc,
> but one of these days yacc will probably disappear, replaced by bison ...
> 
> Are there plans to replace yacc/lex by bison/flex for good in UDUNITS,
> or perhaps to allow the user to replace
> them in the configure script?

There's a new version of the UDUNITS package known as UDUNITS-2.
It uses XML and doesn't use yacc(1).  Naturally, none of the packages
you mentioned use UDUNITS-2.  :-)

> Many thanks for any help.
> 
> Gus Correa

Regards,
Steve Emmerson

Ticket Details
===================
Ticket ID: OLI-727708
Department: Support UDUNITS
Priority: Normal
Status: Closed