[GRASS5] CRAY T3E compile errors

Markus Neteler neteler at geog.uni-hannover.de
Tue Sep 19 12:34:35 EDT 2000


On Tue, Sep 19, 2000 at 05:36:00PM +0200, Bernhard Reiter wrote:
> On Tue, Sep 19, 2000 at 04:56:59PM +0100, Markus Neteler wrote:
> > 
> > currently I have access to a CRAY T3E in our university computer 
> > center and try to compile the GRASS (what surprise).
> > I have to use a CC compiler:
> > cc(1) and c89(1).  These commands invoke the Cray Standard C
> >        compiler and the source preprocessor on source files that contain C
> >        code.  The compiler conforms to the International Standards
> >        Organization (ISO) ISO/IEC 9899:1990 and to the American National
> >        Standards Institute (ANSI) X3.159-1989 standards.  The c89 command
> >        conforms to the POSIX standard, IEEE Std P1003.2.
> 
> Even when compatible with C standards,
> there can be significant differences.
Yes, very true. But I have no admin rights there... So I will have
to live with this compiler currently.
 
> > Unfortunately I run into some troubles where I am rather
> > helpless:
> > 
> > /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?!
> 
> What version of make are you using?
> (It might be an idea to build gnu make first.)
It is a CRAY make. As only the libes/digitizer/OBJ*/make.rules fails
but all others are o.k. it might be a problem in
libes/digitizer/OBJ*/make.rules (only I can't see it).


> > ---------------------------------------------------
> > 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
> 
> Try "man setpgrp" and compare.
  SETPGID(2)          Linux Programmer's Manual          SETPGID(2)
  NAME
       setpgid, getpgid, setpgrp, getpgrp - set/get process group
  SYNOPSIS
       #include <unistd.h>

       int setpgid(pid_t pid, pid_t pgid);
       pid_t getpgid(pid_t pid);
       int setpgrp(void);
       pid_t getpgrp(void);


   SETPGRP(2)                    UNICOS/mk 2.0.4         Last changed: 2-24-98
   NAME
     setpgrp - Sets process group ID
   SYNOPSIS
     #include <unistd.h>

     int setpgrp (void);
   IMPLEMENTATION
     CRAY T3E systems
   DESCRIPTION
     The setpgrp system call sets the process group ID of the calling
     process to the process ID of the calling process and returns the new
     process group ID.

.. it looks pretty different. Probably some #ifdef environment is
required in src/libes/gis/fork.c ?


> > ---------------------------------------------------
> > 
> > /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
> 
> Again, man might help.
> You might be able lto use a cast here.
freev2 is defined in src/libes/proj/vector1.c:

        void /* free 2D array */
          freev2(void **v, int nrows) {
            [...]
        }

Mhhh....

Markus

---------------------------------------- 
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