[GRASS5] CRAY T3E compile errors

Markus Neteler neteler at geog.uni-hannover.de
Mon Sep 25 12:49:52 EDT 2000


Hi James,

On Sun, Sep 24, 2000 at 11:15:05PM +1100, James Cameron wrote:
> On Tue, Sep 19, 2000 at 05:34:35PM +0100, Markus Neteler wrote:
> > On Tue, Sep 19, 2000 at 05:36:00PM +0200, Bernhard Reiter wrote:
> > > 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.
> > > 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).
> 
> You have no admin rights, but you have shell and disk space?  If so,
> install gcc and make in your own home directory ...
[...] 
> Then I'd remake make with gcc.  ;-)

thanks for your help. But :-) 
the libes/digitizer/ directory is the *only* directory causing such
problem. Therefore I think it is a bug which should be fixed.
The entire src/ directories are compiled now.

Currently I am jumping into the G3D stuff encountering further
bugs. It seems that the CRAY compiler is nice to find them as
gcc is more tolerant (at least it prevents us from further mails
of other users later):

src/libes/g3d:
        cc -g    -I/home/t3e/fsn/nhdc/nhdcmark/grass/src/include  -c
filecompare.c -o OBJ.alpha-cray-unicosmk2.0.4.X/filecompare.o
CC-167 cc: ERROR File = filecompare.c, Line = 25
  Argument of type "float *" is incompatible with parameter of type
"caddr_t".

    xdrmem_create (&xdrEncodeStream, xdrf, 4, XDR_ENCODE);
                                     ^

CC-167 cc: ERROR File = filecompare.c, Line = 46
  Argument of type "double *" is incompatible with parameter of type
"caddr_t".

    xdrmem_create (&xdrEncodeStream, xdrd, 8, XDR_ENCODE);
                                     ^
On Linux I have:
grep caddr_t /usr/include/rpc/xdr.h
        bool_t (*x_getbytes) __PMT ((XDR *__xdrs, caddr_t __addr,
    caddr_t x_public;           /* users' data */
    caddr_t x_private;          /* pointer to private data */
    caddr_t x_base;             /* private used for position info */
 * bool_t       (*xdrproc_t)(XDR *, caddr_t *);
 * caddr_t       addr;
extern bool_t xdr_array __P ((XDR * _xdrs, caddr_t *__addrp, u_int *__sizep,
extern bool_t xdr_opaque __P ((XDR *__xdrs, caddr_t __cp, u_int __cnt));
extern bool_t xdr_reference __P ((XDR *__xdrs, caddr_t *__xpp, u_int __size,
extern void xdrmem_create __P ((XDR *__xdrs, __const caddr_t __addr,
                                u_int __recvsize, caddr_t __tcp_handle,

On CRAY I have:
grep caddr_t /usr/include/rpc/xdr.h
 * bool_t       (*xdrproc_t)(XDR *, caddr_t *);
        caddr_t         x_public;       /* users' data */
        caddr_t         x_private;      /* pointer to private data */
        caddr_t         x_base;         /* private used for position info */
 * caddr_t       addr;
extern bool_t xdr_array __((XDR *_Xdrs, caddr_t *_Addrp, u_int *_Sizep,
extern bool_t xdr_opaque __((XDR *_Xdrs, caddr_t _Cp, u_int _Cnt));
extern bool_t xdr_reference __((XDR *_Xdrs, caddr_t *_Pp, u_int _Size,
extern void xdrmem_create __((XDR *_Xdrs, caddr_t _Addr, u_int _Size,

As this is pretty complex (for me), I would be glad to receive
an advice.

I hope it's not too annoying to post these problems here. If so, I
will stop it. Just complain.

Thanks again

 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