[GRASS5] CRAY T3E compile errors

Justin Hickey jhickey at hpcc.nectec.or.th
Wed Sep 20 04:56:57 EDT 2000


Hi Markus

Markus Neteler wrote:
> /home/t3e/fsn/nhdc/nhdcmark/grass5/src/libes/digitizer
> sh-48 /home/t3e/fsn/nhdc/nhdcmark/grass5bin/gmake5[7]:
> OBJ.alpha-cray-unicosmk2.0.4.X/make.rules: file already exists.
>   make -f OBJ.alpha-cray-unicosmk2.0.4.X/make.rules
> 
> cmd-2415 make: line '158': 'syntax error'. Stop.
> Make: "/home/t3e/fsn/nhdc/nhdcmark/grass5bin/gmake5 digitizer": Error
> code 1
> -> I can't see any problems in libes/digitizer/OBJ*/make.rules
>    But somehow it is different to other make.rules files?!

I came across this type of error before in the old grass code (that is,
I haven't seen it recently). The line at the stated line number for me
was something like

$(LIB): # in case LIB changes.

I'm not sure, but this sounds like the LIB target contained something
like -lm which is an invalid target. Check to see if the line mentioned
is something like this, then check the definition for the target to make
sure it only contains proper values (if it is a LIB target it should
only have -L values).

> /home/t3e/fsn/nhdc/nhdcmark/grass5/src/libes/gis
> sh-48 /home/t3e/fsn/nhdc/nhdcmark/grass5bin/gmake5[7]:
> OBJ.alpha-cray-unicosmk2.0.4.X/make.rules: file already exists.
>   make -f OBJ.alpha-cray-unicosmk2.0.4.X/make.rules
>         cc -g   -I/home/t3e/fsn/nhdc/nhdcmark/grass5/src/include  -c
> fork.c
> -o OBJ.alpha-cray-unicosmk2.0.4.X/fork.o
> CC-140 cc: ERROR File = fork.c, Line = 32
>   Too many arguments in function call.
> 
>         setpgrp (0, getpid());
>                  ^
> 1 error detected in the compilation of "fork.c".
> Make: "cc -g   -I/home/t3e/fsn/nhdc/nhdcmark/grass5/src/include  -c fork.c
> -o OBJ.alpha-cray-unicosmk2.0.4.X/fork.o": Error code 1
> cmd-2436 make: Stop.
> Make: "/home/t3e/fsn/nhdc/nhdcmark/grass5bin/gmake5 gis": Error code 1
> -> mhhh, no idea here

As you can see from you man page listing in your reply to Bernhard, the
setpgrp() function on the cray does not take any arguments. You could
use #ifdef's as you suggested but it would be much better to have this
determined by configure. Unfortunately, I have no idea how to do that.

> ---------------------------------------------------
> 
> /home/t3e/fsn/nhdc/nhdcmark/grass5/src/libes/proj
> sh-48 /home/t3e/fsn/nhdc/nhdcmark/grass5bin/gmake5[7]:
> OBJ.alpha-cray-unicosmk2.0.4.X/make.rules: file already exists.
>   make -f OBJ.alpha-cray-unicosmk2.0.4.X/make.rules
> 
>         rm -f OBJ.alpha-cray-unicosmk2.0.4.X/bch2bps.o
>         cc -g  -I. -I/home/t3e/fsn/nhdc/nhdcmark/grass5/src/include  -c
> bch2bps.c
> CC-167 cc: ERROR File = bch2bps.c, Line = 141
>   Argument of type "UV **" is incompatible with parameter of type "void **".
> 
>         freev2(d, nu);
>                ^
> 1 error detected in the compilation of "bch2bps.c".
> Make: "cc -g  -I. -I/home/t3e/fsn/nhdc/nhdcmark/grass5/src/include  -c
> bch2bps.c": Error code 1
> Make: "/home/t3e/fsn/nhdc/nhdcmark/grass5bin/gmake5 proj": Error code 1
> -> mhhh, no idea here

Here, d has probably been defiined as type UV ** in bch2bps.c and as you
saw, the first argument to freev2 is a void **. Therefore, d needs to be
cast to a void ** as follows:

freev2((void **) d, nu);

Unfortunately, this could be dangerous since the structure of UV
(whatever it happens to be) is unknown to the freev2 function. This may
not be a problem but should at least be considered.

> ---------------------------------------------------
> /home/t3e/fsn/nhdc/nhdcmark/grass5/src/libes/segment
> sh-48 /home/t3e/fsn/nhdc/nhdcmark/grass5bin/gmake5[7]:
> OBJ.alpha-cray-unicosmk2.
> 0.4.X/make.rules: file already exists.
>   make -f OBJ.alpha-cray-unicosmk2.0.4.X/make.rules
> 
>         rm -f OBJ.alpha-cray-unicosmk2.0.4.X/address.o
>         cc -g   -I/home/t3e/fsn/nhdc/nhdcmark/grass5/src/include  -c
> address.c
> CC-20 cc: ERROR File =
> /home/t3e/fsn/nhdc/nhdcmark/grass5/src/include/segment.h,
>  Line = 39
>   The identifier "off_t" is undefined.
> 
>       SEEK_OFFSET offset;       /* offset of data past header */
>       ^
> CC-20 cc: ERROR File =
> /home/t3e/fsn/nhdc/nhdcmark/grass5/src/include/segment.h,
>  Line = 43
>   The identifier "off_t" is undefined.
> 
>   SEEK_OFFSET lseek();
>   ^
> 2 errors detected in the compilation of "address.c".
> Make: "cc -g   -I/home/t3e/fsn/nhdc/nhdcmark/grass5/src/include  -c
> address.c":
> Error code 1
> Make: "/home/t3e/fsn/nhdc/nhdcmark/grass5bin/gmake5 segment": Error code 1
> -> probably a problem with includes/config.h ?

I think you're right here, which means another visit to configure.
 
> ---------------------------------------------------
> 
> /home/t3e/fsn/nhdc/nhdcmark/grass5/src/libes/vect32/georef
> sh-48 /home/t3e/fsn/nhdc/nhdcmark/grass5bin/gmake5[7]:
> OBJ.alpha-cray-unicosmk2.0.4.X/make.rules: file already exists.
>   make -f OBJ.alpha-cray-unicosmk2.0.4.X/make.rules
> 
>         rm -f OBJ.alpha-cray-unicosmk2.0.4.X/curses.o
>         cc -g   -I../digitizers -I../libes
> -I/home/t3e/fsn/nhdc/nhdcmark/grass5/src/include  -c curses.c
> CC-147 cc: ERROR File = georef.h, Line = 27
>   Declaration is incompatible with "int suspend(int, int)" (declared at line
> 359
>           of "/usr/include/unistd.h").
> 
>   int suspend(void);
>       ^
> 1 error detected in the compilation of "curses.c".
> Make: "cc -g   -I../digitizers -I../libes
> -I/home/t3e/fsn/nhdc/nhdcmark/grass5/src/include  -c curses.c": Error code 1
> Make: "/home/t3e/fsn/nhdc/nhdcmark/grass5bin/gmake5 georef": Error code 1

This is again similar to the setpgrp error and should be dealt with in
configure.
 
I hope this helped.

-- 
Sincerely,

Jazzman (a.k.a. Justin Hickey)  e-mail: jhickey at hpcc.nectec.or.th
High Performance Computing Center
National Electronics and Computer Technology Center (NECTEC)
Bangkok, Thailand
==================================================================
People who think they know everything are very irritating to those
of us who do.  ---Anonymous

Jazz and Trek Rule!!!
==================================================================

---------------------------------------- 
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo at geog.uni-hannover.de with
subject 'unsubscribe grass5'



More information about the grass-dev mailing list