[Gfoss] R: Errore Compilazione GRASS-6.3.0RC4 Windows Native Binary

Markus Neteler neteler a osgeo.org
Mer 23 Gen 2008 16:27:51 CET


Ciao Marco,

On Jan 23, 2008 10:55 AM,  <marco.pasetti a alice.it> wrote:
...
> Avrei solo altre 2 domande:
>
> 1. rispetto alle note che mi hai indicato, nel log ho (in pił) i seguenti
> errori:
>
> /usr/local/src/grass-6.3.0RC4/imagery/i.ortho.photo/photo.rectify

... fallisce per questi segnali SIG_* assenti su MinW (mi pare)
Poin non ci sono X-Monitors per MingW che sono richiesti da questi i.*
commandi.

> /usr/local/src/grass-6.3.0RC4/raster/r.li/r.li.daemon
> /usr/local/src/grass-6.3.0RC4/raster/r.li/r.li.edgedensity
...

... falliscono perchč r.li.daemon fallisce ...

Avevi controllato l'archivio di GRASS?

Paul Kelly:
"Main problems as far as I can see:
- Use of FIFOs? AIUI Windows doesn't have FIFOs so that won't work.
- Also I don't think fork() is available on Windows either
"

Brad Douglas:
"Linux: fork() exec()
Win32: CreateProcess()

Linux: exit()
Win32: ExitProcess()

Linux: get/putenv()
Win32: Get/SetEnvironmentVariable()

Linux: waitpid()
Win32: GetExitCodeProcess()

Linux; getpid()
Win32: GetCurrentProcessId()
It would be nice to have wrappers for these functions.  Thoughts, Glynn?
"

Glynn Clements (Jan 05, 2007):
"There are limits to "wrapping" process management. It isn't as if Unix
and Windows are the same except for the names given to the functions;
the semantics are quite different. Particularly the Unix model of
separate fork() and exec(), with the ability to substantially alter
the state of the child between the two, versus a single
CreateProcess() call with a fixed set of parameters.

Having said that, you could wrap the simpler cases. You would need to
stick to what's available on Windows; some of the more complex things
which can be done on Unix either aren't possible on Windows (e.g.
setting descriptors other than stdin/stdout/stderr) or don't have any
equivalent there (e.g. signal handling).

I already started writing potential replacements for typical usage of
system(); see lib/gis/spawn.c. G_spawn() is a direct replacement for
the simplest uses of system(), except that it accepts individual
arguments rather than a single string and doesn't use "sh -c ...".
G_spawn_ex() is intended to handle more advanced usage, e.g.
redirection, signal handling, environment variable substitution and
binding.
"


> /usr/local/src/grass-6.3.0RC4/visualization/nviz
>
> 2. dici che sia meglio provare a compilare la RC03, magari mi da meno
> errori? (magari adesso di provo direttamente, ma ci vogliono pił di 2
> ore!!!)

No, meglio RC4! Per favore dimmi cosa non va pił in RC4.

In generale propogo di discutere questi dettagli tecnici nella GRASS
developers list dove ci sono tanti esperti di MingW...:
http://lists.osgeo.org/mailman/listinfo/grass-dev

ciao
Markus



Maggiori informazioni sulla lista Gfoss