brian_adams@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
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@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
brian_adams@jbadams.com wrote:
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.
Yes. There are calls to va_arg(ap,double) and others.
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.
What is the current snapshot in this context? I have gcc-2.95-2. I
thought that
was a v3.0 pre-release, but I have no problems with building the code on
Intel.
David