Opened 10 years ago

Closed 10 years ago

#930 closed defect (fixed)

Wingrass7 - compiling errors

Reported by: hellik Owned by: grass-dev@…
Priority: normal Milestone: 7.0.0
Component: Compiling Version: svn-trunk
Keywords: wingrass, grass7 Cc:
CPU: Unspecified Platform: MSWindows Vista

Description

compiling grass_trunk (grass7) on WinVista32 in the osgeo4w-stack, there are errors in a few modules.

a few errors with patch in the module-name, so maybe again an issue with the UAC on WinVista?? but I've this never seen in compiling grass64 or grass65

Errors in: /c/osgeo4w/usr/src/grass_trunk/lib/vector/diglib

$ make
if [ "" != "" -a -f "".html ] ; then make html ; fi
==============TEST=============
make test
make[1]: Entering directory `/c/osgeo4w/usr/src/grass_trunk/lib/vector/diglib'
diff OBJ.i686-pc-mingw32/test.tmp test64.ok
Files OBJ.i686-pc-mingw32/test.tmp and test64.ok differ
make[1]: *** [test] Error 2
make[1]: Leaving directory `/c/osgeo4w/usr/src/grass_trunk/lib/vector/diglib'
make: *** [default] Error 2

/c/osgeo4w/usr/src/grass_trunk/raster/r.li/r.li.patchdensity

$ make
if [ "/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin/r.li.patchdensity.exe" != "" ] ; then GISRC=/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/demolocation/.grassrc70 GISBASE=c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32 PATH="/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin:$PATH" PYTHONPATH="c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/etc/python;$PYTHONPATH" PATH="/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin:/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib:/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib:.:/usr/local/bin:/mingw/bin:/bin:/osgeo4w/bin:/c/windows/system32:/c/windows:/c/windows/System32/Wbem:/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/c/Program Files/ActivIdentity/ActivClient/:/c/Program Files/Hewlett-Packard/IAM/bin:/c/Program Files/Common Files/Roxio Shared/DLLShared/:/c/Program Files/Common Files/Roxio Shared/10.0/DLLShared/:/c/windows/System32/WindowsPowerShell/v1.0/:/c/Program Files/TortoiseSVN/bin:/c/Program Files/QuickTime/QTSystem/:/bin" LC_ALL=C /c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin/r.li.patchdensity.exe --html-description < /dev/null | grep -v '</body>\|</html>' > r.li.patchdensity.tmp.html ; fi
/bin/sh: /c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin/r.li.patchdensity.exe: Bad file number
make: *** [r.li.patchdensity.tmp.html] Error 1
rm r.li.patchdensity.tmp.html

/c/osgeo4w/usr/src/grass_trunk/raster/r.li/r.li.patchnum

$ make
if [ "/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin/r.li.patchnum.exe" != "" ] ; then GISRC=/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/demolocation/.grassrc70 GISBASE=c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32 PATH="/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin:$PATH" PYTHONPATH="c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/etc/python;$PYTHONPATH" PATH="/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin:/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib:/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib:.:/usr/local/bin:/mingw/bin:/bin:/osgeo4w/bin:/c/windows/system32:/c/windows:/c/windows/System32/Wbem:/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/c/Program Files/ActivIdentity/ActivClient/:/c/Program Files/Hewlett-Packard/IAM/bin:/c/Program Files/Common Files/Roxio Shared/DLLShared/:/c/Program Files/Common Files/Roxio Shared/10.0/DLLShared/:/c/windows/System32/WindowsPowerShell/v1.0/:/c/Program Files/TortoiseSVN/bin:/c/Program Files/QuickTime/QTSystem/:/bin" LC_ALL=C /c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin/r.li.patchnum.exe --html-description < /dev/null | grep -v '</body>\|</html>' > r.li.patchnum.tmp.html ; fi
rm r.li.patchnum.tmp.html
/bin/sh: /c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin/r.li.patchnum.exe: Bad file number
make: *** [r.li.patchnum.tmp.html] Error 1

/c/osgeo4w/usr/src/grass_trunk/raster/r.patch

$ make
if [ "/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin/r.patch.exe" != "" ] ; then GISRC=/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/demolocation/.grassrc70 GISBASE=c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32 PATH="/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin:$PATH" PYTHONPATH="c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/etc/python;$PYTHONPATH" PATH="/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin:/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib:/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib:.:/usr/local/bin:/mingw/bin:/bin:/osgeo4w/bin:/c/windows/system32:/c/windows:/c/windows/System32/Wbem:/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/c/Program Files/ActivIdentity/ActivClient/:/c/Program Files/Hewlett-Packard/IAM/bin:/c/Program Files/Common Files/Roxio Shared/DLLShared/:/c/Program Files/Common Files/Roxio Shared/10.0/DLLShared/:/c/windows/System32/WindowsPowerShell/v1.0/:/c/Program Files/TortoiseSVN/bin:/c/Program Files/QuickTime/QTSystem/:/bin" LC_ALL=C /c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin/r.patch.exe --html-description < /dev/null | grep -v '</body>\|</html>' > r.patch.tmp.html ; fi
rm r.patch.tmp.html
/bin/sh: /c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin/r.patch.exe: Bad file number
make: *** [r.patch.tmp.html] Error 1

/c/osgeo4w/usr/src/grass_trunk/vector/v.patch

$ make
if [ "/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin/v.patch.exe" != "" ] ; then GISRC=/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/demolocation/.grassrc70 GISBASE=c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32 PATH="/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin:$PATH" PYTHONPATH="c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/etc/python;$PYTHONPATH" PATH="/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin:/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib:/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib:.:/usr/local/bin:/mingw/bin:/bin:/osgeo4w/bin:/c/windows/system32:/c/windows:/c/windows/System32/Wbem:/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/c/Program Files/ActivIdentity/ActivClient/:/c/Program Files/Hewlett-Packard/IAM/bin:/c/Program Files/Common Files/Roxio Shared/DLLShared/:/c/Program Files/Common Files/Roxio Shared/10.0/DLLShared/:/c/windows/System32/WindowsPowerShell/v1.0/:/c/Program Files/TortoiseSVN/bin:/c/Program Files/QuickTime/QTSystem/:/bin" LC_ALL=C /c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin/v.patch.exe --html-description < /dev/null | grep -v '</body>\|</html>' > v.patch.tmp.html ; fi
rm v.patch.tmp.html
/bin/sh: /c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin/v.patch.exe: Bad file number
make: *** [v.patch.tmp.html] Error 1

/c/osgeo4w/usr/src/grass_trunk/gem

gcc -L/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib -L/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib -Wl,--export-dynamic,--enable-runtime-pseudo-reloc  -L/c/OSGeo4W/apps/gdal-16/lib -L/c/OSGeo4W/lib    -o /c/osgeo4w/usr/src/grass_trunk/bin.i686-pc-mingw32/gem70.exe OBJ.i686-pc-mingw32/actions.o OBJ.i686-pc-mingw32/at_exit_funcs.o OBJ.i686-pc-mingw32/error.o OBJ.i686-pc-mingw32/main.o OBJ.i686-pc-mingw32/reg_deps.o OBJ.i686-pc-mingw32/reg_entries.o OBJ.i686-pc-mingw32/reg_html.o OBJ.i686-pc-mingw32/tools.o /c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib/fmode.o  
OBJ.i686-pc-mingw32/actions.o: In function `unpack_extension':
c:/osgeo4w/usr/src/grass_trunk/gem/actions.c:99: undefined reference to `mkstemp'
OBJ.i686-pc-mingw32/main.o: In function `main':
c:/osgeo4w/usr/src/grass_trunk/gem/main.c:585: undefined reference to `mkstemp'
OBJ.i686-pc-mingw32/reg_deps.o: In function `register_extension':
c:/osgeo4w/usr/src/grass_trunk/gem/reg_deps.c:127: undefined reference to `mkstemp'
c:/osgeo4w/usr/src/grass_trunk/gem/reg_deps.c:212: undefined reference to `mkstemp'
OBJ.i686-pc-mingw32/reg_deps.o: In function `deregister_extension':
c:/osgeo4w/usr/src/grass_trunk/gem/reg_deps.c:281: undefined reference to `mkstemp'
OBJ.i686-pc-mingw32/reg_entries.o:c:/osgeo4w/usr/src/grass_trunk/gem/reg_entries.c:282: more undefined references to `mkstemp' follow
collect2: ld returned 1 exit status
make: *** [/c/osgeo4w/usr/src/grass_trunk/bin.i686-pc-mingw32/gem70.exe] Error 1

Change History (8)

comment:1 in reply to:  description ; Changed 10 years ago by glynn

Replying to hellik:

compiling grass_trunk (grass7) on !WinVista32 in the osgeo4w-stack, there are errors in a few modules.

Errors in: /c/osgeo4w/usr/src/grass_trunk/lib/vector/diglib

This is because LFS is enabled although it doesn't work on Windows.

The MinGW headers don't have any equivalent of _FILE_OFFSET_BITS. There is a 64-bit off_t and 64-bit versions of stat(), lseek(), etc, but there's no option to redirect the standard names to their 64-bit equivalents; we would need to do that ourselves.

comment:2 in reply to:  1 ; Changed 10 years ago by hamish

Replying to glynn:

The MinGW headers don't have any equivalent of _FILE_OFFSET_BITS. There is a 64-bit off_t and 64-bit versions of stat(), lseek(), etc, but there's no option to redirect the standard names to their 64-bit equivalents; we would need to do that ourselves.

is this something which should be in the MinGW wish tracker, or is it just for us?

Hamish

comment:3 in reply to:  2 Changed 10 years ago by glynn

Replying to hamish:

The MinGW headers don't have any equivalent of _FILE_OFFSET_BITS. There is a 64-bit off_t and 64-bit versions of stat(), lseek(), etc, but there's no option to redirect the standard names to their 64-bit equivalents; we would need to do that ourselves.

is this something which should be in the MinGW wish tracker, or is it just for us?

I suspect that there would be reasons why they haven't done something like this.

E.g. I note that there are two different candidates for the 64-bit version of the stat structure and function, depending upon which version of MSVCRT is being used.

comment:4 in reply to:  description Changed 10 years ago by hellik

Replying to hellik:

compiling grass_trunk (grass7) on WinVista32 in the osgeo4w-stack, there are errors in a few modules.

a few errors with patch in the module-name, so maybe again an issue with the UAC on WinVista?? but I've this never seen in compiling grass64 or grass65

see also https://trac.osgeo.org/grass/ticket/1008 for diglib

Errors in: /c/osgeo4w/usr/src/grass_trunk/lib/vector/diglib

$ make
if [ "" != "" -a -f "".html ] ; then make html ; fi
==============TEST=============
make test
make[1]: Entering directory `/c/osgeo4w/usr/src/grass_trunk/lib/vector/diglib'
diff OBJ.i686-pc-mingw32/test.tmp test64.ok
Files OBJ.i686-pc-mingw32/test.tmp and test64.ok differ
make[1]: *** [test] Error 2
make[1]: Leaving directory `/c/osgeo4w/usr/src/grass_trunk/lib/vector/diglib'
make: *** [default] Error 2

for this:

/c/osgeo4w/usr/src/grass_trunk/raster/r.li/r.li.patchdensity /c/osgeo4w/usr/src/grass_trunk/raster/r.li/r.li.patchnum /c/osgeo4w/usr/src/grass_trunk/raster/r.patch /c/osgeo4w/usr/src/grass_trunk/vector/v.patch

r41457 MinGW: embed manifests in EXEs

these are compiling now

comment:5 in reply to:  description ; Changed 10 years ago by hellik

Replying to hellik:

/c/osgeo4w/usr/src/grass_trunk/gem

gcc -L/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib -L/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib -Wl,--export-dynamic,--enable-runtime-pseudo-reloc  -L/c/OSGeo4W/apps/gdal-16/lib -L/c/OSGeo4W/lib    -o /c/osgeo4w/usr/src/grass_trunk/bin.i686-pc-mingw32/gem70.exe OBJ.i686-pc-mingw32/actions.o OBJ.i686-pc-mingw32/at_exit_funcs.o OBJ.i686-pc-mingw32/error.o OBJ.i686-pc-mingw32/main.o OBJ.i686-pc-mingw32/reg_deps.o OBJ.i686-pc-mingw32/reg_entries.o OBJ.i686-pc-mingw32/reg_html.o OBJ.i686-pc-mingw32/tools.o /c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib/fmode.o  
OBJ.i686-pc-mingw32/actions.o: In function `unpack_extension':
c:/osgeo4w/usr/src/grass_trunk/gem/actions.c:99: undefined reference to `mkstemp'
OBJ.i686-pc-mingw32/main.o: In function `main':
c:/osgeo4w/usr/src/grass_trunk/gem/main.c:585: undefined reference to `mkstemp'
OBJ.i686-pc-mingw32/reg_deps.o: In function `register_extension':
c:/osgeo4w/usr/src/grass_trunk/gem/reg_deps.c:127: undefined reference to `mkstemp'
c:/osgeo4w/usr/src/grass_trunk/gem/reg_deps.c:212: undefined reference to `mkstemp'
OBJ.i686-pc-mingw32/reg_deps.o: In function `deregister_extension':
c:/osgeo4w/usr/src/grass_trunk/gem/reg_deps.c:281: undefined reference to `mkstemp'
OBJ.i686-pc-mingw32/reg_entries.o:c:/osgeo4w/usr/src/grass_trunk/gem/reg_entries.c:282: more undefined references to `mkstemp' follow
collect2: ld returned 1 exit status
make: *** [/c/osgeo4w/usr/src/grass_trunk/bin.i686-pc-mingw32/gem70.exe] Error 1

tested with rev 41474, gem still fails compiling.

Helmut

comment:6 in reply to:  5 ; Changed 10 years ago by glynn

Replying to hellik:

tested with rev 41474, gem still fails compiling.

Even if the compile errors were fixed, it wouldn't run. There are lots of Unix-isms, e.g. hard-coded /tmp, system() with Unix-specific commands (Windows' system uses cmd.exe), etc.

Making it work with Windows would probably require a complete re-write (and for what GEM does, it should probably be written in Python anyhow), so I'll remove it from 7.0.

comment:7 in reply to:  6 Changed 10 years ago by hellik

Replying to glynn:

Replying to hellik:

tested with rev 41474, gem still fails compiling.

Even if the compile errors were fixed, it wouldn't run. There are lots of Unix-isms, e.g. hard-coded /tmp, system() with Unix-specific commands (Windows' system uses cmd.exe), etc.

Making it work with Windows would probably require a complete re-write (and for what GEM does, it should probably be written in Python anyhow), so I'll remove it from 7.0.

the compiling errors are fixed for wingrass7, gem is removed in grass7 and grass7 is compiling now on windows in the osgeo4w-stack.

so I will close the ticket.

Helmut

comment:8 Changed 10 years ago by hellik

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.