It is somehow OpenMP related. Configure succeeds however:
checking whether to use OpenMP... "yes"
checking for location of OpenMP includes...
checking for location of OpenMP library...
checking for omp.h... yes
checking for omp_get_num_threads in -lomp... yes
checking for x86_64-w64-mingw32-gcc option to support OpenMP... -fopenmp
I think I already saw some similar GOMP linking errors when I was trying to use the package.sh script to reproduce a OSGeo4W build instead of our build in CI that is a bit different (too different I would say, and does replacements on the fly that are hard to follow). I had to apply some patches that are applied by OSGeo4W, that are also in win: patch from OSGeo4W applied by landam · Pull Request #4121 · OSGeo/grass · GitHub
Hi, all builds on wingrass.fsv.cvut.cz are still failing with this error. Even grass85 [1] which has #4121 already applied. Due to this problem I am not able to build Windows binaries for standalone 8.4.1 installer.
x86_64-w64-mingw32-gcc -shared -o /usr/src/grass841/dist.x86_64-w64-mingw32/lib/libgrass_interpfl.8.4.dll -L/usr/src/grass841/dist.x86_64-w64-mingw32/lib -L/usr/src/grass841/dist.x86_64-w64-mingw32/lib -Wl,--export-dynamic,--enable-runtime-pseudo-reloc -L/c/osgeo4w/lib OBJ.x86_64-w64-mingw32/distance.o OBJ.x86_64-w64-mingw32/func2d.o OBJ.x86_64-w64-mingw32/init2d.o OBJ.x86_64-w64-mingw32/input2d.o OBJ.x86_64-w64-mingw32/interp2d.o OBJ.x86_64-w64-mingw32/matrix.o OBJ.x86_64-w64-mingw32/minmax.o OBJ.x86_64-w64-mingw32/output2d.o OBJ.x86_64-w64-mingw32/point2d.o OBJ.x86_64-w64-mingw32/resout2d.o OBJ.x86_64-w64-mingw32/ressegm2d.o OBJ.x86_64-w64-mingw32/secpar2d.o OBJ.x86_64-w64-mingw32/segmen2d.o OBJ.x86_64-w64-mingw32/segmen2d_parallel.o OBJ.x86_64-w64-mingw32/vinput2d.o OBJ.x86_64-w64-mingw32/write2d.o -lgrass_gis.8.4 -lintl -lgrass_raster.8.4 -lgrass_vector.8.4 -lgrass_gmath.8.4 -lgrass_dbmiclient.8.4 -lgrass_dbmibase.8.4 -lgrass_bitmap.8.4 -lgrass_qtree.8.4 -lgrass_interpdata.8.4 -lomp
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/segmen2d_parallel.o: in function `IL_interp_segments_2d_parallel._omp_fn.0':
C:/msys64/usr/src/grass841/lib/rst/interp_float/segmen2d_parallel.c:108:(.text+0x1b0): 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/grass841/lib/rst/interp_float/segmen2d_parallel.c:143:(.text+0x585): 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/grass841/lib/rst/interp_float/segmen2d_parallel.c:143:(.text+0x592): 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: C:/msys64/usr/src/grass841/lib/rst/interp_float/segmen2d_parallel.c:384:(.text+0x965): undefined reference to `GOMP_critical_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/grass841/lib/rst/interp_float/segmen2d_parallel.c:384:(.text+0xa60): undefined reference to `GOMP_critical_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/segmen2d_parallel.o: in function `IL_interp_segments_2d_parallel':
C:/msys64/usr/src/grass841/lib/rst/interp_float/segmen2d_parallel.c:108:(.text+0x1354): undefined reference to `GOMP_parallel'
collect2.exe: error: ld returned 1 exit status
make[5]: *** [../../../include/Make/Shlib.make:16: /usr/src/grass841/dist.x86_64-w64-mingw32/lib/libgrass_interpfl.8.4.dll] Error 1
Hi, all builds on wingrass.fsv.cvut.cz are still failing with this error. Even grass85 [1] which has #4121 already applied. Due to this problem I am not able to build Windows binaries for standalone 8.4.1 installer.
x86_64-w64-mingw32-gcc -shared -o /usr/src/grass841/dist.x86_64-w64-mingw32/lib/libgrass_interpfl.8.4.dll -L/usr/src/grass841/dist.x86_64-w64-mingw32/lib -L/usr/src/grass841/dist.x86_64-w64-mingw32/lib -Wl,--export-dynamic,--enable-runtime-pseudo-reloc -L/c/osgeo4w/lib OBJ.x86_64-w64-mingw32/distance.o OBJ.x86_64-w64-mingw32/func2d.o OBJ.x86_64-w64-mingw32/init2d.o OBJ.x86_64-w64-mingw32/input2d.o OBJ.x86_64-w64-mingw32/interp2d.o OBJ.x86_64-w64-mingw32/matrix.o OBJ.x86_64-w64-mingw32/minmax.o OBJ.x86_64-w64-mingw32/output2d.o OBJ.x86_64-w64-mingw32/point2d.o OBJ.x86_64-w64-mingw32/resout2d.o OBJ.x86_64-w64-mingw32/ressegm2d.o OBJ.x86_64-w64-mingw32/secpar2d.o OBJ.x86_64-w64-mingw32/segmen2d.o OBJ.x86_64-w64-mingw32/segmen2d_parallel.o OBJ.x86_64-w64-mingw32/vinput2d.o OBJ.x86_64-w64-mingw32/write2d.o -lgrass_gis.8.4 -lintl -lgrass_raster.8.4 -lgrass_vector.8.4 -lgrass_gmath.8.4 -lgrass_dbmiclient.8.4 -lgrass_dbmibase.8.4 -lgrass_bitmap.8.4 -lgrass_qtree.8.4 -lgrass_interpdata.8.4 -lomp
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/segmen2d_parallel.o: in function `IL_interp_segments_2d_parallel._omp_fn.0':
C:/msys64/usr/src/grass841/lib/rst/interp_float/segmen2d_parallel.c:108:(.text+0x1b0): 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/grass841/lib/rst/interp_float/segmen2d_parallel.c:143:(.text+0x585): 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/grass841/lib/rst/interp_float/segmen2d_parallel.c:143:(.text+0x592): 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: C:/msys64/usr/src/grass841/lib/rst/interp_float/segmen2d_parallel.c:384:(.text+0x965): undefined reference to `GOMP_critical_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/grass841/lib/rst/interp_float/segmen2d_parallel.c:384:(.text+0xa60): undefined reference to `GOMP_critical_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/segmen2d_parallel.o: in function `IL_interp_segments_2d_parallel':
C:/msys64/usr/src/grass841/lib/rst/interp_float/segmen2d_parallel.c:108:(.text+0x1354): undefined reference to `GOMP_parallel'
collect2.exe: error: ld returned 1 exit status
make[5]: *** [../../../include/Make/Shlib.make:16: /usr/src/grass841/dist.x86_64-w64-mingw32/lib/libgrass_interpfl.8.4.dll] Error 1