Details Ticket 1382


Comment | Reply | Take | Open


Serial Number 1382
Subject r.mapcalc3 compilation error
Area bug
Queue grass
Requestors neteler@itc.it
Owner none
Status resolved
Last User Contact Tue Oct 29 09:37:51 2002 (6 yr ago)
Current Priority 30
Final Priority 70
Due No date assigned
Last Action Tue Oct 29 09:37:58 2002 (6 yr ago)
Created Sat Oct 26 17:52:33 2002 (6 yr ago)

Transaction History Ticket 1382


Sat, Oct 26 2002 17:52:33    Request created by guest  
Subject: r.mapcalc3 compilation error

Platform: GNU/Linux/i386
grass obtained from: CVS
grass binary for platform: Compiled from Sources

Hi,

I compiled the today's CVS HEAD (using the new makefile system from
mk/ directory), but got an error in r.mapcalc:

make[1]: Entering directory `/home/neteler/ggg/src/raster/r.mapcalc3'
gcc -L/home/neteler/ggg/src/libes -Wl,-rpath-link,/home/neteler/ggg/src/libes
-o /home/neteler/ggg/dist.i686-pc-linux-gnu/etc/bin/cmd/r.mapcalc /home/neteler/ggg/src/raster/r.map
calc3/y.tab.o
/home/neteler/ggg/src/raster/r.mapcalc3/lex.yy.o 
[...]
/home/neteler/ggg/src/raster/r.mapcalc3/xsqrt.o /home/neteler/ggg/src/raster/r.mapcalc3/xsub.o
/home/neteler/ggg/src/raster/r.mapcalc3/xtan.o -lgrass_gis -lgrass_btree -lgrass_rowio
-lreadline  -lhistory  -lm  -lz  
/home/neteler/ggg/src/raster/r.mapcalc3/expression.o: In function `function':
/home/neteler/ggg/src/raster/r.mapcalc3/expression.o(.text+0x2a3): undefined
reference to `syntax_error'
/home/neteler/ggg/src/raster/r.mapcalc3/expression.o: In function `variable':
/home/neteler/ggg/src/raster/r.mapcalc3/expression.o(.text+0x748): undefined
reference to `syntax_error'
/home/neteler/ggg/src/raster/r.mapcalc3/expression.o: In function `mapname':
/home/neteler/ggg/src/raster/r.mapcalc3/expression.o(.text+0x7e6): undefined
reference to `syntax_error'
collect2: ld returned 1 exit status
make[1]: *** [/home/neteler/ggg/dist.i686-pc-linux-gnu/etc/bin/cmd/r.mapcalc]
Error 1
make[1]: Leaving directory `/home/neteler/ggg/src/raster/r.mapcalc3'

I am using
CC                  = gcc
FC                  = g77
LEX                 = flex
YACC                = bison -y
PERL                = /usr/bin/perl
MAKE                = make

It seems to be a problem with yacc/bison, which does not generate `syntax_error'
from the mapcalc.y file.Unfortunaltely I have no idea
how to solve this.

bison --version
GNU Bison version 1.28

Thanks for a hint,

 Markus
Sat, Oct 26 2002 21:52:11    Mail sent by glynn.clements@virgin.net  
Return-Path <glynn.clements@virgin.net>
Delivered-To grass-bugs@lists.intevation.de
From Glynn Clements <glynn.clements@virgin.net>
MIME-Version 1.0
Content-Type text/plain; charset=us-ascii
Content-Transfer-Encoding 7bit
Message-ID <15802.61710.629583.486703@cerise.nosuchdomain.co.uk>
Date Sat, 26 Oct 2002 20:46:22 +0100
To Request Tracker <grass-bugs@intevation.de>
Cc grass5@grass.itc.it
Subject Re: [GRASS5] [bug #1382] (grass) r.mapcalc3 compilation error
In-Reply-To <20021026155234.2B40813ABD@lists.intevation.de>
References <20021026155234.2B40813ABD@lists.intevation.de>
X-Mailer VM 6.94 under 21.4 (patch 9) "Informed Management" XEmacs Lucid
X-Spam-Status No, hits=-14.5 required=5.0 tests=EMAIL_ATTRIBUTION,IN_REP_TO,QUOTED_EMAIL_TEXT,REFERENCES, SIGNATURE_SHORT_DENSE,SPAM_PHRASE_01_02,SUPERLONG_LINE version=2.41
X-Spam-Level
Request Tracker wrote:

> Subject: r.mapcalc3 compilation error
> 
> Platform: GNU/Linux/i386
> grass obtained from: CVS
> grass binary for platform: Compiled from Sources
> 
> Hi,
> 
> I compiled the today's CVS HEAD (using the new makefile system from
> mk/ directory), but got an error in r.mapcalc:
> 
> make[1]: Entering directory `/home/neteler/ggg/src/raster/r.mapcalc3'
> gcc -L/home/neteler/ggg/src/libes -Wl,-rpath-link,/home/neteler/ggg/src/libes
-o /home/neteler/ggg/dist.i686-pc-linux-gnu/etc/bin/cmd/r.mapcalc /home/neteler/ggg/src/raster/r.map
calc3/y.tab.o
/home/neteler/ggg/src/raster/r.mapcalc3/lex.yy.o 
> [...]
> /home/neteler/ggg/src/raster/r.mapcalc3/xsqrt.o /home/neteler/ggg/src/raster/r.mapcalc3/xsub.o
/home/neteler/ggg/src/raster/r.mapcalc3/xtan.o -lgrass_gis -lgrass_btree -lgrass_rowio
-lreadline  -lhistory  -lm  -lz  
> /home/neteler/ggg/src/raster/r.mapcalc3/expression.o: In function `function':
> /home/neteler/ggg/src/raster/r.mapcalc3/expression.o(.text+0x2a3): undefined
reference to `syntax_error'
> /home/neteler/ggg/src/raster/r.mapcalc3/expression.o: In function `variable':
> /home/neteler/ggg/src/raster/r.mapcalc3/expression.o(.text+0x748): undefined
reference to `syntax_error'
> /home/neteler/ggg/src/raster/r.mapcalc3/expression.o: In function `mapname':
> /home/neteler/ggg/src/raster/r.mapcalc3/expression.o(.text+0x7e6): undefined
reference to `syntax_error'
> collect2: ld returned 1 exit status
> make[1]: *** [/home/neteler/ggg/dist.i686-pc-linux-gnu/etc/bin/cmd/r.mapcalc]
Error 1
> make[1]: Leaving directory `/home/neteler/ggg/src/raster/r.mapcalc3'

It appears that you are trying to build from within the source
directory; I have no idea whether that works.

> I am using
> CC                  = gcc
> FC                  = g77
> LEX                 = flex
> YACC                = bison -y
> PERL                = /usr/bin/perl
> MAKE                = make
> 
> It seems to be a problem with yacc/bison, which does not generate
> `syntax_error' from the mapcalc.y file. Unfortunaltely I have no
> idea how to solve this.

What does the bison command look like?

Was the build performed from clean, or were there old files lying
around? Note that:

1. For the "normal" build mechanism, you have to use
"make maintainer-clean" to remove the files which are generated by
lex/yacc; "make distclean" won't work (presumably, the idea is that
source tarballs include the generated C files, so that users don't
need lex/yacc).

2. For the new build mechanism, the "make clean" rule is bogus. It is
designed for use with a separate build directory, so you don't need
"make clean"; just "rm -rf" the entire build directory once you're
finished with it (obviously, you don't do this if the build directory
happens to be the source directory).

-- 
Glynn Clements <glynn.clements@virgin.net>


Mon, Oct 28 2002 09:15:50    Mail sent by neteler@itc.it  
Return-Path <neteler@itc.it>
Delivered-To grass-bugs@lists.intevation.de
Date Mon, 28 Oct 2002 09:15:46 +0100
From Markus Neteler <neteler@itc.it>
To Glynn Clements via RT <grass-bugs@intevation.de>
Cc grass5 developers list <grass5@grass.itc.it>
Subject Re: [bug #1382] (grass) r.mapcalc3 compilation error
Message-ID <20021028091546.D12083@itc.it>
Mail-Followup-To Glynn Clements via RT <grass-bugs@intevation.de>, grass5 developers list <grass5@grass.itc.it>
References <20021026195211.9C66F13ABE@lists.intevation.de>
Mime-Version 1.0
Content-Type text/plain; charset=us-ascii
Content-Disposition inline
User-Agent Mutt/1.2.5.1i
In-Reply-To <20021026195211.9C66F13ABE@lists.intevation.de>; from grass-bugs@intevation.de on Sat, Oct 26, 2002 at 09:52:11PM +0200
X-Spam-Status No, hits=-14.7 required=5.0 tests=IN_REP_TO,QUOTED_EMAIL_TEXT,REFERENCES,SPAM_PHRASE_02_03, USER_AGENT,USER_AGENT_MUTT version=2.41
X-Spam-Level
On Sat, Oct 26, 2002 at 09:52:11PM +0200, Glynn Clements via RT wrote:
> 
> Request Tracker wrote:
> 
> > Subject: r.mapcalc3 compilation error
> > 
[...]
> 
> It appears that you are trying to build from within the source
> directory; I have no idea whether that works.

Yes, that's right. I have modified the mk/* things for that (unsubmitted)
and it was working for several month.

> > I am using
> > CC                  = gcc
> > FC                  = g77
> > LEX                 = flex
> > YACC                = bison -y
> > PERL                = /usr/bin/perl
> > MAKE                = make
> > 
> > It seems to be a problem with yacc/bison, which does not generate
> > `syntax_error' from the mapcalc.y file. Unfortunaltely I have no
> > idea how to solve this.
> 
> What does the bison command look like?

I have to check that at home (where the computer is).
 
> Was the build performed from clean, or were there old files lying
> around? Note that:
> 
> 1. For the "normal" build mechanism, you have to use
> "make maintainer-clean" to remove the files which are generated by
> lex/yacc; "make distclean" won't work (presumably, the idea is that
> source tarballs include the generated C files, so that users don't
> need lex/yacc).

Aha. I only deleted the *.o files.
 
> 2. For the new build mechanism, the "make clean" rule is bogus. It is
> designed for use with a separate build directory, so you don't need
> "make clean"; just "rm -rf" the entire build directory once you're
> finished with it (obviously, you don't do this if the build directory
> happens to be the source directory).

Yes, I only deleted the *.o files as I still don't understand
how to build into an extra directory :-)

More soon,

 Markus


Tue, Oct 29 2002 09:37:51    Mail sent by mneteler  
Hi Glynn,

after deleting the bison residuals (as stated in the "clean" target
in the Makefile) r.mapcalc3 compiles well.

Thanks and sorry for the confusion,

 Markus

(bug closed)
Tue, Oct 29 2002 09:37:58    Status changed to resolved by mneteler  
Comment | Reply | Take | Open

You are currently authenticated as guest.
[Show Configuration] [Login as another user]

Users Guide - Mail Commands - Homepage of RequestTracker 1.0.7 - list any request