v.in.shape

brian_adams at jbadams.com brian_adams at jbadams.com
Sun Jun 11 20:57:53 EDT 2000


This is the response I received from the LinuxPPC group.  I assume that it
something that has been deprecated in the latest version of gcc?

>
> The response from the GRASS list suggests that this is a LinuxPPC 
>problem, not their source code.  Specifically that it is a problem in
>va_ppc.h under the /usr/lib/gcc-lib directory.  I suspect the same since
>this same code compiled fine under LinuxPPC 1999.  Have there been any
>changes that might have altered these header files?

No, the code in GIS is buggy, I guess they try to use va_arg(ap,char)  
somewhere in their code. which is illegal C. They have to rewrite it as

 (char)va_arg(ap,int)

Only promoted types can be passed with variable args.

Note that they will have to change their code anyway, because gcc-3.0 (or
the current development snapshots) will correctly produce an error on such
code on _all_ platforms.


On Fri, 9 Jun 2000, David D Gray wrote:

> brian_adams at jbadams.com wrote:
> > 
> > I suspect it is part of the compile process, not the v.in.shape module
> > itself. When I compile on LinuxPPC, I get the following error
> > 
> 
> Brian
> 
> These appear to be link failures. __va_arg_type_violation is defined in
> va_ppc.h under the /usr/lib/gcc-lib directory (follow your system). It
> seems you picked this up as the problem doesn't arise till link time,
> but you seem to be not linking to the object code for this. I don't
> know what that might be, as this is a ppc-specific function and I don't
> have that system. There are some libs under /usr/lib/gcc-lib/ppc-linux
> (?)
> including libgcc.a and others. You will probably find the lost code
> there. I'm assuming you have gcc, but it should be a similar problem
> if you have a different compiler.
> 
> Hope this helps
> 
> David
> 




More information about the grass-user mailing list