Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to compile GRASS GIS on Windows #4485

Closed
girishnand opened this issue Oct 10, 2024 · 16 comments · Fixed by #4514
Closed

Unable to compile GRASS GIS on Windows #4485

girishnand opened this issue Oct 10, 2024 · 16 comments · Fixed by #4514
Labels
windows Microsoft Windows specific
Milestone

Comments

@girishnand
Copy link

I am following the instructions here -

https://trac.osgeo.org/grass/wiki/CompileOnWindows

but the final step of running ./mswindows/osgeo4w/package.sh generates errors in multiple modules, which appear to be the ones that use OpenMP. Trying to run make on failed modules individually seems to confirm this -

Girish@DESKTOP MINGW64 /usr/src/grass/raster/r.sun
$ make
make OBJ.x86_64-w64-mingw32/r.sun.manifest.res && x86_64-w64-mingw32-gcc -L/usr/src/grass/dist.x86_64-w64-mingw32/lib -L/usr/src/grass/dist.x86_64-w64-mingw32/lib -Wl,--export-dynamic,--enable-runtime-pseudo-reloc  -L/c/osgeo4w/lib  -o /usr/src/grass/dist.x86_64-w64-mingw32/bin/r.sun.exe OBJ.x86_64-w64-mingw32/main.o OBJ.x86_64-w64-mingw32/rsunlib.o  /usr/src/grass/dist.x86_64-w64-mingw32/lib/fmode.o OBJ.x86_64-w64-mingw32/r.sun.manifest.res -lgrass_gproj.8.4 -lgrass_raster.8.4 -lgrass_gis.8.4 -lintl  -lgrass_gmath.8.4 -L/c/osgeo4w/lib -lproj   -lomp
make[1]: Entering directory '/usr/src/grass/raster/r.sun'
make[1]: 'OBJ.x86_64-w64-mingw32/r.sun.manifest.res' is up to date.
make[1]: Leaving directory '/usr/src/grass/raster/r.sun'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: OBJ.x86_64-w64-mingw32/main.o: in function `calculate._omp_fn.0':
C:/msys64/usr/src/grass/raster/r.sun/main.c:1825:(.text+0x1ff5): undefined reference to `GOMP_barrier'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/usr/src/grass/raster/r.sun/main.c:1825:(.text+0x201c): undefined reference to `GOMP_loop_nonmonotonic_dynamic_start'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/usr/src/grass/raster/r.sun/main.c:1906:(.text+0x2b61): undefined reference to `GOMP_loop_nonmonotonic_dynamic_next'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/usr/src/grass/raster/r.sun/main.c:1906:(.text+0x2b7e): undefined reference to `GOMP_atomic_start'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/usr/src/grass/raster/r.sun/main.c:1825:(.text+0x2c67): undefined reference to `GOMP_atomic_end'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/usr/src/grass/raster/r.sun/main.c:1825:(.text+0x2d5c): undefined reference to `GOMP_loop_end'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: OBJ.x86_64-w64-mingw32/main.o: in function `calculate':
C:/msys64/usr/src/grass/raster/r.sun/main.c:1817:(.text+0x3581): undefined reference to `GOMP_parallel'
collect2.exe: error: ld returned 1 exit status
make: *** [../../include/Make/Module.make:18: /usr/src/grass/dist.x86_64-w64-mingw32/bin/r.sun.exe] Error 1

My config.log file seems to confirm this, as it includes the following text -

configure:15669: checking for x86_64-w64-mingw32-gcc option to support OpenMP
configure:15688: x86_64-w64-mingw32-gcc -c -g -O2     -lomp     -I/c/osgeo4w/include conftest.c >&5
conftest.c:72:2: error: #error "OpenMP not supported"
   72 | #error "OpenMP not supported"
      |  ^~~~~
configure:15688: $? = 1

My Msys2 is up to date and I have re-installed all the listed msys2 requirements -

pacman -S tar libintl make bison flex diffutils git dos2unix zip mingw-w64-x86_64-toolchain mingw-w64-x86_64-cairo mingw-w64-x86_64-fftw mingw-w64-x86_64-lapack mingw-w64-x86_64-pkg-config mingw-w64-x86_64-gcc mingw-w64-x86_64-ccache mingw-w64-x86_64-zlib mingw-w64-x86_64-libiconv mingw-w64-x86_64-bzip2 mingw-w64-x86_64-gettext mingw-w64-x86_64-libsystre mingw-w64-x86_64-libtre-git mingw-w64-x86_64-libwinpthread-git mingw-w64-x86_64-libpng mingw-w64-x86_64-pcre mingw-w64-x86_64-python3-six mingw-w64-x86_64-openblas mingw-w64-x86_64-llvm-openmp

The problem persists even if I switch to an older GRASS GIS branch like releasebranch_8_3.

I am on Windows 11 Home.

Would appreciate suggestions on resolving this.

@nilason
Copy link
Contributor

nilason commented Oct 10, 2024

There's ongoing efforts to address this (among other things) with #4121, but you should start with removing the package mingw-w64-x86_64-llvm-openmp which conflicts with libgomp.dll (part of gcc).

@nilason nilason added the windows Microsoft Windows specific label Oct 10, 2024
@girishnand
Copy link
Author

Thank you for the extremely prompt reply.

Unfortunately, removing the mingw-w64-x86_64-llvm-openmp package seems to break pretty much everything.

Here's the start of my error.log file -

GRASS GIS 8.4.1dev bdec8dde4b compilation log
--------------------------------------------------
Started compilation: Thu Oct 10 16:47:14 IST 2024
--
Errors in:
/usr/src/grass/lib/gis
/usr/src/grass/lib/raster
/usr/src/grass/lib/gmath
/usr/src/grass/lib/driver
/usr/src/grass/lib/pngdriver
/usr/src/grass/lib/display
/usr/src/grass/lib/vector/rtree
/usr/src/grass/lib/vector/diglib
/usr/src/grass/lib/vector/Vlib
/usr/src/grass/lib/vector/vedit
/usr/src/grass/lib/vector/neta
/usr/src/grass/lib/imagery
/usr/src/grass/lib/rst/interp_float
/usr/src/grass/lib/lidar
/usr/src/grass/lib/raster3d
/usr/src/grass/lib/raster3d/test
/usr/src/grass/lib/gpde
/usr/src/grass/lib/dspf
/usr/src/grass/lib/init
/usr/src/grass/lib/cdhc
/usr/src/grass/lib/ogsf
/usr/src/grass/lib/nviz

and so on ...

Running make in lib/gis gives the following errors -

Girish@DESKTOP MINGW64 /usr/src/grass/lib/gis
$ make
x86_64-w64-mingw32-gcc -shared -o /usr/src/grass/dist.x86_64-w64-mingw32/lib/libgrass_gis.8.4.dll -L/usr/src/grass/dist.x86_64-w64-mingw32/lib -L/usr/src/grass/dist.x86_64-w64-mingw32/lib -Wl,--export-dynamic,--enable-runtime-pseudo-reloc  -L/c/osgeo4w/lib   OBJ.x86_64-w64-mingw32/adj_cellhd.o OBJ.x86_64-w64-mingw32/alloc.o OBJ.x86_64-w64-mingw32/aprintf.o OBJ.x86_64-w64-mingw32/area.o OBJ.x86_64-w64-mingw32/area_ellipse.o OBJ.x86_64-w64-mingw32/area_poly1.o OBJ.x86_64-w64-mingw32/area_poly2.o OBJ.x86_64-w64-mingw32/area_sphere.o OBJ.x86_64-w64-mingw32/ascii_chk.o OBJ.x86_64-w64-mingw32/asprintf.o OBJ.x86_64-w64-mingw32/basename.o OBJ.x86_64-w64-mingw32/bres_line.o OBJ.x86_64-w64-mingw32/clicker.o OBJ.x86_64-w64-mingw32/cmprbzip.o OBJ.x86_64-w64-mingw32/cmprlz4.o OBJ.x86_64-w64-mingw32/cmprrle.o OBJ.x86_64-w64-mingw32/cmprzlib.o OBJ.x86_64-w64-mingw32/cmprzstd.o OBJ.x86_64-w64-mingw32/color_rules.o OBJ.x86_64-w64-mingw32/color_str.o OBJ.x86_64-w64-mingw32/commas.o OBJ.x86_64-w64-mingw32/compress.o OBJ.x86_64-w64-mingw32/copy_dir.o OBJ.x86_64-w64-mingw32/copy_file.o OBJ.x86_64-w64-mingw32/counter.o OBJ.x86_64-w64-mingw32/date.o OBJ.x86_64-w64-mingw32/datum.o OBJ.x86_64-w64-mingw32/debug.o OBJ.x86_64-w64-mingw32/distance.o OBJ.x86_64-w64-mingw32/done_msg.o OBJ.x86_64-w64-mingw32/endian.o OBJ.x86_64-w64-mingw32/env.o OBJ.x86_64-w64-mingw32/error.o OBJ.x86_64-w64-mingw32/file_name.o OBJ.x86_64-w64-mingw32/find_etc.o OBJ.x86_64-w64-mingw32/find_file.o OBJ.x86_64-w64-mingw32/find_rast.o OBJ.x86_64-w64-mingw32/find_rast3d.o OBJ.x86_64-w64-mingw32/find_vect.o OBJ.x86_64-w64-mingw32/geodesic.o OBJ.x86_64-w64-mingw32/geodist.o OBJ.x86_64-w64-mingw32/get_ellipse.o OBJ.x86_64-w64-mingw32/get_projinfo.o OBJ.x86_64-w64-mingw32/get_window.o OBJ.x86_64-w64-mingw32/getl.o OBJ.x86_64-w64-mingw32/gisbase.o OBJ.x86_64-w64-mingw32/gisdbase.o OBJ.x86_64-w64-mingw32/gisinit.o OBJ.x86_64-w64-mingw32/handler.o OBJ.x86_64-w64-mingw32/home.o OBJ.x86_64-w64-mingw32/ilist.o OBJ.x86_64-w64-mingw32/intersect.o OBJ.x86_64-w64-mingw32/is.o OBJ.x86_64-w64-mingw32/key_value1.o OBJ.x86_64-w64-mingw32/key_value2.o OBJ.x86_64-w64-mingw32/key_value3.o OBJ.x86_64-w64-mingw32/key_value4.o OBJ.x86_64-w64-mingw32/legal_name.o OBJ.x86_64-w64-mingw32/line_dist.o OBJ.x86_64-w64-mingw32/list.o OBJ.x86_64-w64-mingw32/ll_format.o OBJ.x86_64-w64-mingw32/ll_scan.o OBJ.x86_64-w64-mingw32/locale.o OBJ.x86_64-w64-mingw32/location.o OBJ.x86_64-w64-mingw32/lrand48.o OBJ.x86_64-w64-mingw32/ls.o OBJ.x86_64-w64-mingw32/ls_filter.o OBJ.x86_64-w64-mingw32/lz4.o OBJ.x86_64-w64-mingw32/mach_name.o OBJ.x86_64-w64-mingw32/make_loc.o OBJ.x86_64-w64-mingw32/make_mapset.o OBJ.x86_64-w64-mingw32/mapcase.o OBJ.x86_64-w64-mingw32/mapset.o OBJ.x86_64-w64-mingw32/mapset_msc.o OBJ.x86_64-w64-mingw32/mapset_nme.o OBJ.x86_64-w64-mingw32/mkstemp.o OBJ.x86_64-w64-mingw32/myname.o OBJ.x86_64-w64-mingw32/named_colr.o OBJ.x86_64-w64-mingw32/nl_to_spaces.o OBJ.x86_64-w64-mingw32/nme_in_mps.o OBJ.x86_64-w64-mingw32/omp_threads.o OBJ.x86_64-w64-mingw32/open.o OBJ.x86_64-w64-mingw32/open_misc.o OBJ.x86_64-w64-mingw32/overwrite.o OBJ.x86_64-w64-mingw32/pager.o OBJ.x86_64-w64-mingw32/parser.o OBJ.x86_64-w64-mingw32/parser_dependencies.o OBJ.x86_64-w64-mingw32/parser_help.o OBJ.x86_64-w64-mingw32/parser_html.o OBJ.x86_64-w64-mingw32/parser_interface.o OBJ.x86_64-w64-mingw32/parser_json.o OBJ.x86_64-w64-mingw32/parser_rest_md.o OBJ.x86_64-w64-mingw32/parser_script.o OBJ.x86_64-w64-mingw32/parser_standard_options.o OBJ.x86_64-w64-mingw32/parser_wps.o OBJ.x86_64-w64-mingw32/paths.o OBJ.x86_64-w64-mingw32/percent.o OBJ.x86_64-w64-mingw32/plot.o OBJ.x86_64-w64-mingw32/pole_in_poly.o OBJ.x86_64-w64-mingw32/popen.o OBJ.x86_64-w64-mingw32/progrm_nme.o OBJ.x86_64-w64-mingw32/proj1.o OBJ.x86_64-w64-mingw32/proj2.o OBJ.x86_64-w64-mingw32/proj3.o OBJ.x86_64-w64-mingw32/put_window.o OBJ.x86_64-w64-mingw32/putenv.o OBJ.x86_64-w64-mingw32/radii.o OBJ.x86_64-w64-mingw32/rd_cellhd.o OBJ.x86_64-w64-mingw32/remove.o OBJ.x86_64-w64-mingw32/rename.o OBJ.x86_64-w64-mingw32/rhumbline.o OBJ.x86_64-w64-mingw32/rotate.o OBJ.x86_64-w64-mingw32/seek.o OBJ.x86_64-w64-mingw32/set_window.o OBJ.x86_64-w64-mingw32/short_way.o OBJ.x86_64-w64-mingw32/sleep.o OBJ.x86_64-w64-mingw32/snprintf.o OBJ.x86_64-w64-mingw32/spawn.o OBJ.x86_64-w64-mingw32/strings.o OBJ.x86_64-w64-mingw32/strlcat.o OBJ.x86_64-w64-mingw32/strlcpy.o OBJ.x86_64-w64-mingw32/tempfile.o OBJ.x86_64-w64-mingw32/timestamp.o OBJ.x86_64-w64-mingw32/token.o OBJ.x86_64-w64-mingw32/trim_dec.o OBJ.x86_64-w64-mingw32/units.o OBJ.x86_64-w64-mingw32/user_config.o OBJ.x86_64-w64-mingw32/verbose.o OBJ.x86_64-w64-mingw32/view.o OBJ.x86_64-w64-mingw32/whoami.o OBJ.x86_64-w64-mingw32/win32_pipes.o OBJ.x86_64-w64-mingw32/wind_2_box.o OBJ.x86_64-w64-mingw32/wind_format.o OBJ.x86_64-w64-mingw32/wind_in.o OBJ.x86_64-w64-mingw32/wind_limits.o OBJ.x86_64-w64-mingw32/wind_overlap.o OBJ.x86_64-w64-mingw32/wind_scan.o OBJ.x86_64-w64-mingw32/window_map.o OBJ.x86_64-w64-mingw32/worker.o OBJ.x86_64-w64-mingw32/wr_cellhd.o OBJ.x86_64-w64-mingw32/writ_zeros.o OBJ.x86_64-w64-mingw32/xdr.o OBJ.x86_64-w64-mingw32/zero.o OBJ.x86_64-w64-mingw32/zone.o  -lomp  -lgrass_datetime.8.4  -lz   -lbz2   -lzstd  -lintl  -lregex  -liconv
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lomp: No such file or directory
collect2.exe: error: ld returned 1 exit status
make: *** [../../include/Make/Shlib.make:16: /usr/src/grass/dist.x86_64-w64-mingw32/lib/libgrass_gis.8.4.dll] Error 1

Looks like it no longer recognizes the -lomp flag.

@nilason
Copy link
Contributor

nilason commented Oct 10, 2024

You should clean previous attempt with make distclean, and then configure and compile again. Configuration should pick up -lgomp flag (if I’m remembering correctly).

@girishnand
Copy link
Author

girishnand commented Oct 10, 2024

Thank you.

That worked and I am able to compile without errors.

But I am unable to run r.sun.

If I try to invoke in inside the GRASS GUI console tab, I get the following error -


 File "C:\OSGeo4W\apps\grass\grass85\etc\python\grass\scrip
t\task.py", line 484, in get_interface_description

raise ScriptError(
grass.exceptions
.
ScriptError
:
Unable to fetch interface description for command '<r.sun>'.
Details: <C:\OSGeo4W\bin\python3.exe: can't open file
'C:\\OSGeo4W\\bin\\r.sun': [Errno 2] No such file or
directory
>

Instead, if I try to invoke it directly at the command line, the following popup comes up -

image

@girishnand
Copy link
Author

Update: Switching to releasebranch_8_3 from main resolves the issue with r.sun.

@girishnand
Copy link
Author

There's ongoing efforts to address this (among other things) with #4121, but you should start with removing the package mingw-w64-x86_64-llvm-openmp which conflicts with libgomp.dll (part of gcc).

Please consider updating https://trac.osgeo.org/grass/wiki/CompileOnWindows suitably.

@nilason
Copy link
Contributor

nilason commented Oct 10, 2024

Thank you.

That worked and I am able to compile without errors.

But I am unable to run r.sun.

If you try again building from main branch, what does configure say about blas and lapack, these lines am I curious about:

checking whether to use (C)BLAS... yes
checking for cblas.h... yes
checking for linking to (C)BLAS... cblas
checking whether to use LAPACK(E)... yes
checking for lapacke.h... yes
checking for linking to LAPACK(E)... lapacke

it is likely you have linking to "openblas" instead of "cblas" and "lapacke", which would be expected. If that is the case your problem can perhaps be fixed by replacing the two lines:

/mingw64/bin/libblas.dll
/mingw64/bin/liblapack.dll

with /mingw64/bin/libopenblas.dll

@girishnand
Copy link
Author

Re-compiled main branch. The lines from my config.log that you asked about are as follows -

configure:13779: checking for linking to (C)BLAS
configure:13792: x86_64-w64-mingw32-gcc -o conftest.exe -I/mingw64/include/openblas -fopenmp    -I/c/osgeo4w/include  -fopenmp -Wl,--export-dynamic,--enable-runtime-pseudo-reloc  -L/c/osgeo4w/lib conftest.c -fopenmp -lopenblas >&5
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?
configure:13792: $? = 0
configure:13801: result: openblas
configure:13820: checking whether to use LAPACK(E)
configure:13822: result: yes
configure:13877: checking for lapacke.h
configure:13877: x86_64-w64-mingw32-gcc -c -I/mingw64/include/openblas -fopenmp    -I/c/osgeo4w/include conftest.c >&5
configure:13877: $? = 0
configure:13877: result: yes
configure:13888: checking for linking to LAPACK(E)
configure:13901: x86_64-w64-mingw32-gcc -o conftest.exe -I/mingw64/include/openblas -fopenmp    -I/c/osgeo4w/include  -fopenmp -Wl,--export-dynamic,--enable-runtime-pseudo-reloc  -L/c/osgeo4w/lib conftest.c -fopenmp -lopenblas >&5
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?
configure:13901: $? = 0
configure:13910: result: openblas

It does seem to be linking to openblas as you suspected. I will make the change you suggest to package.sh and try again.

@girishnand
Copy link
Author

Update: Recompiling with with /mingw64/bin/libopenblas.dll works, sort of. I am able to invoke r.sun from the command line -

image

But invoking it from the console tab within the GRASS GUI still generates errors -

Traceback (most recent call last):
  File "C:\OSGeo4W\apps\grass\grass85\gui\wxpython\gui_core\
prompt.py", line 468, in OnKeyPressed

self._runCmd(self.GetCurLine()[0].strip())
  File "C:\OSGeo4W\apps\grass\grass85\gui\wxpython\gui_core\
prompt.py", line 101, in _runCmd

self.promptRunCmd.emit(cmd={"cmd": cmd, "cmdString":
str(cmdString)})
  File "C:\OSGeo4W\apps\grass\grass85\etc\python\grass\pydis
patch\signal.py", line 232, in emit

dispatcher.send(signal=self, *args, **kwargs)
  File "C:\OSGeo4W\apps\grass\grass85\etc\python\grass\pydis
patch\dispatcher.py", line 340, in send

response = robustapply.robustApply(















^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
  File "C:\OSGeo4W\apps\grass\grass85\etc\python\grass\pydis
patch\robustapply.py", line 90, in robustApply

return receiver(*arguments, **named)











^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
  File "C:\OSGeo4W\apps\grass\grass85\gui\wxpython\gui_core\
goutput.py", line 132, in <lambda>

lambda cmd: self._gconsole.RunCmd(command=cmd)
















^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
  File "C:\OSGeo4W\apps\grass\grass85\gui\wxpython\core\gcon
sole.py", line 626, in RunCmd

GUI(parent=self._guiparent,
giface=self._giface).ParseCommand(
  File "C:\OSGeo4W\apps\grass\grass85\gui\wxpython\gui_core\
forms.py", line 3178, in ParseCommand

self.mf = TaskFrame(














^
^
^
^
^
^
^
^
^
^
  File "C:\OSGeo4W\apps\grass\grass85\gui\wxpython\gui_core\
forms.py", line 559, in __init__

self.notebookpanel = CmdPanel(

























^
^
^
^
^
^
^
^
^
  File "C:\OSGeo4W\apps\grass\grass85\gui\wxpython\gui_core\
forms.py", line 1523, in __init__

if len(layers) > 0:







^
^
^
^
^
^
^
^
^
^
^
  File
"C:\OSGeo4W\apps\grass\grass85\gui\wxpython\lmgr\giface.py",
line 57, in __len__

return len(list(self))














^
^
^
^
^
^
^
^
^
^
  [Previous line repeated 984 more times]
RecursionError
:
maximum recursion depth exceeded

@nilason
Copy link
Contributor

nilason commented Oct 11, 2024

We're making some progress! Will it work if you run the command from command line only, with all arguments (not only fire up the gui)?

@girishnand
Copy link
Author

I am able to run it from a python script (through r.sun.daily), so that should be an affirmative.
Have not tried invoking r.sun with arguments directly at the command line.

Appreciate your prompt and helpful guidance in resolving this.

@echoix
Copy link
Member

echoix commented Oct 11, 2024

I have an idea for the maximum recursion thing. I'm not sure I have time this weekend though.

@nilason
Copy link
Contributor

nilason commented Oct 11, 2024

I am able to run it from a python script (through r.sun.daily), so that should be an affirmative. Have not tried invoking r.sun with arguments directly at the command line.

Good. I suppose the latter issue is somehow Python related. I don't know the reason for that, the error log looks familiar though...

Appreciate your prompt and helpful guidance in resolving this.

Most welcome, and thank you for testing and reporting back!

@girishnand
Copy link
Author

Update: The recursion error seems to be fixed -

image

(I have not tested extensively, because I invariably use r.sun by calling it from a script. )

@nilason
Copy link
Contributor

nilason commented Oct 15, 2024

Update: The recursion error seems to be fixed -

Great!

@echoix
Copy link
Member

echoix commented Oct 15, 2024

Update: The recursion error seems to be fixed -

image

(I have not tested extensively, because I invariably use r.sun by calling it from a script. )

Thanks for confirming #4514 works!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
windows Microsoft Windows specific
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants