[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


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.