[GRASS5] CRAY T3E compile errors

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


Hi Justin,

many thanks again...

On Mon, Sep 25, 2000 at 12:17:43PM +0700, Justin Hickey wrote:
> Hi Markus
> 
> Most of these can be fixed by casting, and it appears that most of the
> casts will be OK. I have noted which ones need some care.
> 
> Markus Neteler wrote:
>>v.cutter:
> >   Argument of type "struct poly_vert_info **" is incompatible with parameter
> > of
> >           type "void **".
> > 
> >                 swap_pointers (&Vert, &Vert2);
> >                                ^
> 
> This one should be safe to cast.
> 
> >   Argument of type "struct poly_vert_info **" is incompatible with parameter
> > of
> >           type "void **".
> > 
> >                 swap_pointers (&Vert, &Vert2);
> >                                       ^
> 
> This one should be safe to cast

Both are casted now. It compiles o.k. on CRAY now.

> >   Argument of type "pntDescript ***" is incompatible with parameter of type
> >           "void **".
> > 
> >     res = btree_find( hDB, keyHolder, &dataHolder );
> >                                       ^
> 
> Already fixed by David (I think)
That's right.

>v.out.mapinfo: 
> >   Argument of type "struct Map_info **" is incompatible with parameter of
> > type
> >           "struct Map_info *".
> > 
> >             Vect_close (&Map);
> >                         ^
> 
> Looks like a typo, perhaps Map is declared as a pointer already and
> passing the address of Map is passing a double pointer, thus the
> conflict. You can verify this if other calls to Vect_close exist.
> Otherwise, I still think it is safe to simply remove the "&" from Map.
> Note this also applies to the second error. Another thing you could do
> is check the code in Vect_close to see how Map is used. If it is used as
> a single pointer then you can get rid of the "&".
Bingo. It was a typo, I have fixed it.


> >   The struct "<unnamed>" has no field "_shortbuf".
> > 
> >       while (match == 0 && Closet->dig_fp->_shortbuf[1])  /* try to upgrade
> > in 5/2000 */
> >                                            ^
> Ahh! This one happened to me as well. There are #ifdef's in place
> already for this line in the code. In the code they check for a struct
> member called _cnt for SGI, and _bf._size for CYGWIN and FreeBSD. Check
> the file /usr/include/stdio.h to see if either of these members are
> inside the FILE structure. If it is there, then add the appropriate
> "defined (cray)" check (just guessing on the cray part, you will need to
> verify the proper variable name) in the source code. If there is no
> match in the FILE struct, then send the FILE struct details to me and I
> will see if I can determine the proper member to check. It may be the
> same as the SGI line since SGI owned (or still does own) Cray.
Yep. I have added CRAY to _cnt (like SGI). Now this one compiles, too.

> > "binfer.l":line 13: Error: Missing translation value
> > Make: "lex binfer.l": Error code 1
> > 
> > -> looks like a problem with  "%option lex-compat"
> 
> No idea with this one.
Hello lex-professionals! Any ideas? This is the last bug to be fixed
on CRAY. All other basic modules compile.

Thanks to all who have helped here!

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