[GRASS-dev] Seeking advices for image segmentation algorithms and windows compile question

Yang, Bo (yangb2) yangb2 at mail.uc.edu
Wed May 18 22:52:48 PDT 2016


Hi All,

Markus, thanks for your reply, I will notice the length of error report. Although one of my computer(win 10 64bit) could compile and run i.segment module without error. I found that windows compile has some random error happens. I can now working on the project with one of my computer but sometimes when I run "i.segment --ui" it will reported:
" the program can't start because libgcc_s_dw2-1.dll is missing from your computer. Try reinstalling the program to fix this problem."

I use another computer to install 32bit packages since I see that some error only reported in 64bit environmental. Below is my procedures:

1. I downloaded 32 bit OSGeo4W installer with selection of:
cairo
gdal
geos
fftw
fftw-devel (32bit only)
freetype-devel
freetype-devel-mingw (32bit only)
iconv
libjpeg
liblas-devel
libpng
libpq
libtiff
libxdr
pdcurses
proj
regex-devel
sqlite3

2. I downloaded 32bit MSYS2 terminal and install requirements:
pacman -S tar libintl make bison diffutils subversion dos2unix zip
pacman -S mingw-w64-i686-toolchain mingw-w64-i686-cairo mingw-w64-i686-python2-numpy mingw-w64-i686-sqlite3

3. I checked out codes from trunk and build it:
svn checkout https://svn.osgeo.org/grass/grass/trunk grass_trunk
PACKAGE_POSTFIX=-daily ./mswindows/osgeo4w/package.sh

After built it reported:
Started compilation: Thu May 19 00:45:39 EDT 2016
--
Errors in:
/usr/src/grass_trunk/raster/r.in.lidar
/usr/src/grass_trunk/raster3d/r3.in.lidar
/usr/src/grass_trunk/vector/v.out.lidar
/usr/src/grass_trunk/vector/v.in.lidar
--
In case of errors please change into the directory with error and run 'make'.
If you get multiple errors, you need to deal with them in the order they
appear in the error log. If you get an error building a library, you will
also get errors from anything which uses the library.

5. Because the module "i.segment" which I am focusing report no error, so I just change to i.segment folder and run "make":
$ make
make: Nothing to be done for 'first'.

6. I suppose run 'make' in "i.segment" folder works and I changed to the binary files in "msys32\usr\src\grass_trunk\dist.i386-w64-mingw32\bin" and run 'i.segment --ui'. But it reported:
"the program can't start because libgrass_btree2.7.1.svn.dll is missing from your computer. Try reinstalling the program to fix this problem."

I searched that libgrass_btree2.7.1.svn.dll are located in folder of " msys32\usr\src\grass_trunk\dist.i386-w64-mingw32\lib" but I don't know why the program still can not find it. Then I tried to copy all files from "..\lib" to "..\bin", then run 'i.segment --ui' again:

Then the error is:
" the program can't start because libgcc_s_dw2-1.dll is missing from your computer. Try reinstalling the program to fix this problem."

I searched again and found libgcc_s_dw2-1.dll are located in both " C:\msys32\mingw32\bin " and " C:\OSGeo4W\bin ".

PS: I tried to copy either of them to the folder of "msys32\usr\src\grass_trunk\dist.i386-w64-mingw32\bin" but the i.segment juse start and force closed.

Given this missing dll error always reported, I am writing to ask if anyone could help. Any suggestions would be greatly appreciated.

Best regards,
Bo Yang


-----Original Message-----
From: neteler.osgeo at gmail.com [mailto:neteler.osgeo at gmail.com] On Behalf Of Markus Neteler
Sent: Saturday, May 14, 2016 6:03 AM
To: Yang, Bo (yangb2) <yangb2 at mail.uc.edu>
Cc: GRASS developers list <grass-dev at lists.osgeo.org>; Moritz Lennert <mlennert at club.worldonline.be>; Markus Metz <markus.metz.giswork at gmail.com>; Helmut Kudrnovsky <hellik at web.de>
Subject: Re: [GRASS-dev] Seeking advices for image segmentation algorithms and windows compile question

Hi,

On Fri, May 13, 2016 at 3:44 AM, Yang, Bo (yangb2) <yangb2 at mail.uc.edu> wrote:
...
> For the 32 bit version, error is appendix I; After I run ‘make’, the 
> report is in appendix II.

please be so kind and reduce the copy.paste stuff to a minimum.
Repetitive errors you may remove and replace with [...] in order to make it readable.

> Appendix I:
> GRASS GIS 7.1.svn r68419 compilation log
> --------------------------------------------------
> Started compilation: Wed, May 11, 2016  7:34:55 PM Errors in:
> /usr/src/grass_trunk/lib/python/ctypes
[...]

> /usr/src/grass_trunk/temporal/t.vect.univar
> In case of errors please change into the directory with error and run 
> 'make'.

Now, where is the error message of
/usr/src/grass_trunk/lib/python/ctypes
?
The same as below?


> -------------------------
>
> Appendix II:
>
> $ make
>
> make /usr/src/grass_trunk/dist.i386-w64-mingw32/etc/python/grass/lib
> make[1]: Entering directory '/usr/src/grass_trunk/lib/python/ctypes'
> make[1]: '/usr/src/grass_trunk/dist.i386-w64-mingw32/etc/python/grass/lib'
> is up to date.
> make[1]: Leaving directory '/usr/src/grass_trunk/lib/python/ctypes'
> make OBJ.i386-w64-mingw32/date.py OBJ.i386-w64-mingw32/gis.py
[...]

> /usr/src/grass_trunk/dist.i386-w64-mingw32/etc/python/grass/lib/ctypes
> _loader.pyc
> make[1]: Entering directory '/usr/src/grass_trunk/lib/python/ctypes'
> make[1]: 'OBJ.i386-w64-mingw32/date.py' is up to date.
[...]
>
> PYTHONPATH="C:/msys32/usr/src/grass_trunk/dist.i386-w64-mingw32/etc/python;C:/msys32/usr/src/grass_trunk/dist.i386-w64-mingw32/gui/wxpython;$PYTHONPATH"
> PATH="/usr/src/grass_trunk/dist.i386-w64-mingw32/bin:/usr/src/grass_trunk/dist.i386-w64-mingw32/bin:/usr/src/grass_trunk/dist.i386-w64-mingw32/scripts:/usr/src/grass_trunk/dist.i386-w64-mingw32/lib:/usr/src/grass_trunk/dist.i386-w64-mingw32/lib:/mingw32/bin:/usr/local/bin:/usr/bin:/bin:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0"
> LC_ALL=C ./ctypesgen.py --cpp "gcc -E -I/c/OSGeo4W/include
> -D_FILE_OFFSET_BITS=64
> -I/usr/src/grass_trunk/dist.i386-w64-mingw32/include
> -I/usr/src/grass_trunk/dist.i386-w64-mingw32/include
> -D__GLIBC_HAVE_LONG_LONG" -lgrass_gproj.7.1.svn -I/c/OSGeo4W/include 
> /usr/src/grass_trunk/dist.i386-w64-mingw32/include/grass/gprojects.h
> /usr/src/grass_trunk/dist.i386-w64-mingw32/include/grass/defs/gproject
> s.h
> -o OBJ.i386-w64-mingw32/proj.py
> Status: Preprocessing c:/users/hao2309/appdata/local/temp/tmp8qrwop.h
> Status: gcc -E -I/c/OSGeo4W/include -D_FILE_OFFSET_BITS=64 
> -I/usr/src/grass_trunk/dist.i386-w64-mingw32/include
> -I/usr/src/grass_trunk/dist.i386-w64-mingw32/include
> -D__GLIBC_HAVE_LONG_LONG -U __GNUC__ -dD -IC:/OSGeo4W/include 
> "-Dinline=" "-D__inline__=" "-D__extension__=" "-D_Bool=uint8_t"
> "-D__const=const" "-D__asm__(x)=" "-D__asm(x)=" "-DCTYPESGEN=1"
> c:/users/hao2309/appdata/local/temp/tmp8qrwop.h
> Error: gcc -E -I/c/OSGeo4W/include -D_FILE_OFFSET_BITS=64
[...]

> -D__GLIBC_HAVE_LONG_LONG:
> C:/msys32/mingw32/i686-w64-mingw32/include/vadefs.h:35:2: error:
> #error VARARGS not implemented for this compiler

--> here is an issue!


[...]
> Error: gcc -E -I/c/OSGeo4W/include -D_FILE_OFFSET_BITS=64 
> -I/usr/src/grass_trunk/dist.i386-w64-mingw32/include
> -I/usr/src/grass_trunk/dist.i386-w64-mingw32/include
> -D__GLIBC_HAVE_LONG_LONG:   ^
> Status: Parsing c:/users/hao2309/appdata/local/temp/tmp8qrwop.h
> Error: C:/msys32/mingw32/i686-w64-mingw32/include/malloc.h:144: Syntax 
> error at '{'
> Error: C:/msys32/mingw32/i686-w64-mingw32/include/malloc.h:149: Syntax 
> error at 'return'
> Error: C:/msys32/mingw32/i686-w64-mingw32/include/malloc.h:163: Syntax 
> error at '{'
> Error: C:/msys32/mingw32/i686-w64-mingw32/include/malloc.h:165: Syntax 
> error at 'if'
> Error: C:/msys32/mingw32/i686-w64-mingw32/include/malloc.h:177: Syntax 
> error at '}'
> Error: C:/msys32/mingw32/i686-w64-mingw32/include/stdio.h:144: Syntax 
> error at 'va_list'
> Error: C:/msys32/mingw32/i686-w64-mingw32/include/time.h:228: Syntax 
> error at ';'
> Status: Processing description list.
> Traceback (most recent call last):
>   File "./ctypesgen.py", line 142, in <module>
>     ctypesgencore.processor.process(descriptions, options)
>   File "./ctypesgencore/processor/pipeline.py", line 58, in process
>     find_source_libraries(data, options)
>   File "./ctypesgencore/processor/operations.py", line 206, in 
> find_source_libraries
>     library = ctypesgencore.libraryloader.load_library(library_name)
>   File "./ctypesgencore/libraryloader.py", line 62, in load_library
>     return self.load(path)
>   File "./ctypesgencore/libraryloader.py", line 240, in load
>     return _WindowsLibrary(path)
>   File "./ctypesgencore/libraryloader.py", line 223, in __init__
>     self.cdll = ctypes.cdll.LoadLibrary(path)
>   File "C:/msys32/mingw32/lib/python2.7/ctypes/__init__.py", line 443, 
> in LoadLibrary
>     return self._dlltype(name)
>   File "C:/msys32/mingw32/lib/python2.7/ctypes/__init__.py", line 365, 
> in __init__
>     self._handle = _dlopen(self._name, mode)
> WindowsError: [Error 126] The specified module could not be found
> Makefile:99: recipe for target 'OBJ.i386-w64-mingw32/proj.py' failed
> make[1]: *** [OBJ.i386-w64-mingw32/proj.py] Error 1
> make[1]: Leaving directory '/usr/src/grass_trunk/lib/python/ctypes'
> Makefile:77: recipe for target 'default' failed
> make: *** [default] Error 2


(I have taken out all the extra newlines coming from your Windows email software)

Looks like this report?
https://trac.osgeo.org/grass/ticket/1125


Markus


More information about the grass-dev mailing list