[GRASS-dev] Automatic/CI compilation on macOS

Rainer M Krug Rainer at krugs.de
Tue Mar 31 05:53:52 PDT 2020


Thanks Vaclav

I will wait and see.If you could please post here if something happens, as I am not following grass-user?

Thanks,

Rainer



> On 31 Mar 2020, at 03:50, Vaclav Petras <wenzeslaus at gmail.com> wrote:
> 
> Hi Rainer,
> 
> Unfortunately, I don't have any update for this, but I thought I will (inter-)link a detailed analysis on grass-user by Veronika and related PR:
> 
> [GRASS-user] Problems on MacOS Catalina Installation via Homebrew "Cannot find proj.db"
> https://lists.osgeo.org/pipermail/grass-user/2020-March/081377.html <https://lists.osgeo.org/pipermail/grass-user/2020-March/081377.html>
> 
> [Bug] Update build GRASS as macOS application #457 (linked comment and below)
> https://github.com/OSGeo/grass/issues/457#issuecomment-603575140 <https://github.com/OSGeo/grass/issues/457#issuecomment-603575140>
> 
> Vaclav
> 
> On Sun, Mar 8, 2020 at 12:35 PM Rainer M Krug <Rainer at krugs.de <mailto:Rainer at krugs.de>> wrote:
> 
> 
>> On 6 Mar 2020, at 18:40, Markus Metz <markus.metz.giswork at gmail.com <mailto:markus.metz.giswork at gmail.com>> wrote:
>> 
>> 
>> 
>> On Fri, Mar 6, 2020 at 8:50 AM Rainer M Krug <Rainer at krugs.de <mailto:Rainer at krugs.de>> wrote:
>> >
>> > OK. Looking at the parameters GRASS is compiled with (grass78 —config), I get the following proj related parameter (the complete output at the end of the email):
>> >
>> > --with-proj-includes=/usr/local/opt/osgeo-proj/include
>> > --with-proj-libs=/usr/local/opt/osgeo-proj/lib
>> > --with-proj-share=/usr/local/opt/osgeo-proj/share/proj
>> >
>> > Which seem to be correct, and proj.db is in the proj-share directory.
>> >
>> >
>> > 08:37 $ ls -la /usr/local/opt/osgeo-proj/share/proj
>> > total 12408
>> > drwxr-xr-x  15 rainerkrug  staff      480 Feb 10 11:16 .
>> > drwxr-xr-x   4 rainerkrug  staff      128 Feb 10 11:16 ..
>> > -rw-r--r--   1 rainerkrug  staff     1183 Feb 10 11:16 CH
>> > -rw-r--r--   1 rainerkrug  staff      728 Feb 10 11:16 GL27
>> > -rw-r--r--   1 rainerkrug  staff     2099 Feb 10 11:16 ITRF2000
>> > -rw-r--r--   1 rainerkrug  staff     3660 Feb 10 11:16 ITRF2008
>> > -rw-r--r--   1 rainerkrug  staff     3468 Feb 10 11:16 ITRF2014
>> > -rw-r--r--   1 rainerkrug  staff     6385 Feb 10 11:16 nad.lst
>> > -rw-r--r--   1 rainerkrug  staff    19535 Feb 10 11:16 nad27
>> > -rw-r--r--   1 rainerkrug  staff    16593 Feb 10 11:16 nad83
>> > -rw-r--r--   1 rainerkrug  staff      232 Feb 10 11:16 null
>> > -rw-r--r--   1 rainerkrug  staff     3915 Feb 10 11:16 other.extra
>> > -rw-r--r--   1 rainerkrug  staff  6234112 Feb 10 11:16 proj.db
>> > -rw-r--r--   1 rainerkrug  staff    32060 Feb 10 11:16 projjson.schema.json
>> > -rw-r--r--   1 rainerkrug  staff     7079 Feb 10 11:16 world
>> >
>> >
>> > So it looks fine, but I, even locally, get the following error when running the simple test:
>> >
>> > 08:40 $ grass78 --tmp-location EPSG:4326 --exec g.region res=0.1 -p
>> > Starting GRASS GIS...
>> > Creating new GRASS GIS location <tmploc>...
>> > ERROR: b'proj_get_authorities_from_database: Cannot find proj.db
>> 
>> This error comes directly from PROJ.
>> Try
>> export PROJ_LIB="usr/local/opt/osgeo-proj/share/proj"
>> 
>> before starting GRASS. This will tell PROJ where its own share data are.
> 
> 
> 
> Does not work:
> 
> 17:03 $ export PROJ_LIB="/usr/local/opt/osgeo-proj/share/proj"
> ✔ ~
> 17:03 $ grass78 --tmp-location EPSG:4326 --exec g.region res=0.1 -p
> Starting GRASS GIS...
> Creating new GRASS GIS location <tmploc>...
> ERROR: b'proj_get_authorities_from_database: Cannot find proj.db
> 
> Exiting...
> ✘-1 ~
> 17:03 $ ls -la /usr/local/opt/osgeo-proj/share/proj
> total 12408
> drwxr-xr-x  15 rainerkrug  staff      480 Feb 10 11:16 .
> drwxr-xr-x   4 rainerkrug  staff      128 Feb 10 11:16 ..
> -rw-r--r--   1 rainerkrug  staff     1183 Feb 10 11:16 CH
> -rw-r--r--   1 rainerkrug  staff      728 Feb 10 11:16 GL27
> -rw-r--r--   1 rainerkrug  staff     2099 Feb 10 11:16 ITRF2000
> -rw-r--r--   1 rainerkrug  staff     3660 Feb 10 11:16 ITRF2008
> -rw-r--r--   1 rainerkrug  staff     3468 Feb 10 11:16 ITRF2014
> -rw-r--r--   1 rainerkrug  staff     6385 Feb 10 11:16 nad.lst
> -rw-r--r--   1 rainerkrug  staff    19535 Feb 10 11:16 nad27
> -rw-r--r--   1 rainerkrug  staff    16593 Feb 10 11:16 nad83
> -rw-r--r--   1 rainerkrug  staff      232 Feb 10 11:16 null
> -rw-r--r--   1 rainerkrug  staff     3915 Feb 10 11:16 other.extra
> -rw-r--r--   1 rainerkrug  staff  6234112 Feb 10 11:16 proj.db
> -rw-r--r--   1 rainerkrug  staff    32060 Feb 10 11:16 projjson.schema.json
> -rw-r--r--   1 rainerkrug  staff     7079 Feb 10 11:16 world
> 
> Any other suggestion?
> 
> 
> 
>> 
>> Markus M
>> 
>> >
>> >
>> >
>> > Here is the complete output from --config:
>> >
>> > 08:35 $ grass78 --config
>> > x86_64-apple-darwin17.7.0
>> > ./configure  --prefix=/usr/local/Cellar/osgeo-grass/7.8.2_3 --with-cxx --enable-shared --enable-largefile --with-nls --with-includes=/usr/local/include --with-libs=/usr/local/LIB --with-python=/usr/local/Cellar/osgeo-grass/7.8.2_3/libexec/vendor/bin/python-config --with-tcltk --with-netcdf=/usr/local/opt/osgeo-netcdf/bin/nc-config --with-zstd --with-zstd-includes=/usr/local/opt/zstd/include --with-zstd-libs=/usr/local/opt/zstd/lib --with-readline --with-readline-includes=/usr/local/opt/readline/include --with-readline-libs=/usr/local/opt/readline/lib --with-blas --with-blas-includes=/usr/local/opt/openblas/include --with-blas-libs=/usr/local/opt/openblas/lib --with-lapack --with-lapack-includes=/usr/local/opt/lapack/include --with-lapack-libs=/usr/local/opt/lapack/lib --with-geos=/usr/local/opt/geos/bin/geos-config --with-geos-includes=/usr/local/opt/geos/include --with-geos-libs=/usr/local/opt/geos/lib --with-odbc --with-odbc-includes=/usr/local/opt/unixodbc/include --with-odbc-libs=/usr/local/opt/unixodbc/lib --with-gdal=/usr/local/opt/osgeo-gdal/bin/gdal-config --with-zlib-includes=/usr/local/opt/zlib/include --with-zlib-libs=/usr/local/opt/zlib/lib --with-bzlib --with-bzlib-includes=/usr/local/opt/bzip2/include --with-bzlib-libs=/usr/local/opt/bzip2/lib --with-cairo --with-cairo-includes=/usr/local/opt/cairo/include/cairo --with-cairo-libs=/usr/local/opt/cairo/lib --with-cairo-ldflags=-lfontconfig --with-freetype --with-freetype-includes=/usr/local/opt/freetype/include/freetype2 --with-freetype-libs=/usr/local/opt/freetype/lib --with-proj-includes=/usr/local/opt/osgeo-proj/include --with-proj-libs=/usr/local/opt/osgeo-proj/lib --with-proj-share=/usr/local/opt/osgeo-proj/share/proj --with-tiff --with-tiff-includes=/usr/local/opt/libtiff/include --with-tiff-libs=/usr/local/opt/libtiff/lib --with-png --with-png-includes=/usr/local/opt/libpng/include --with-png-libs=/usr/local/opt/libpng/lib --with-regex --with-fftw --with-fftw-includes=/usr/local/opt/fftw/include --with-fftw-libs=/usr/local/opt/fftw/lib --with-sqlite --with-sqlite-includes=/usr/local/opt/sqlite/include --with-sqlite-libs=/usr/local/opt/sqlite/lib --with-liblas=/usr/local/opt/osgeo-liblas/bin/liblas-config --with-postgres --with-postgres-includes=/usr/local/opt/osgeo-postgresql/include --with-postgres-libs=/usr/local/opt/osgeo-postgresql/lib --with-mysql --with-mysql-includes=/usr/local/opt/mysql/include/mysql --with-mysql-libs=/usr/local/opt/mysql/lib --with-pthread --with-pthread-includes=/usr/local/opt/boost/include/boost/thread --with-pthread-libs=/usr/local/opt/boost/lib --with-macosx-sdk=/Applications/Xcode-10.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk --with-macosx-archs=x86_64 --with-opengl-includes=/Applications/Xcode-10.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework/Headers --with-wxwidgets=/usr/local/opt/wxmac/bin/wx-config
>> > clang
>> > /usr/local/Cellar/osgeo-grass/7.8.2_3/grass78
>> > Traceback (most recent call last):
>> >   File "/usr/local/Cellar/osgeo-grass/7.8.2_3/libexec/bin/grass78", line 2025, in main
>> >     index = sys.argv.index(batch_exec_param)
>> > ValueError: '--exec' is not in list
>> >
>> > During handling of the above exception, another exception occurred:
>> >
>> > Traceback (most recent call last):
>> >   File "/usr/local/Cellar/osgeo-grass/7.8.2_3/libexec/bin/grass78", line 2216, in <module>
>> >     main()
>> >   File "/usr/local/Cellar/osgeo-grass/7.8.2_3/libexec/bin/grass78", line 2030, in main
>> >     params = parse_cmdline(sys.argv[1:], default_gui=default_gui)
>> >   File "/usr/local/Cellar/osgeo-grass/7.8.2_3/libexec/bin/grass78", line 1951, in parse_cmdline
>> >     print_params()
>> >   File "/usr/local/Cellar/osgeo-grass/7.8.2_3/libexec/bin/grass78", line 1862, in print_params
>> >     "%s\n" % val[0].split(':')[1].rstrip('$"\n').strip())
>> > IndexError: list index out of range
>> >
>> >
>> > Any suggestions what the problem is?
>> >
>> > Rainer
>> >
>> >  
>> >
>> > On 5 Mar 2020, at 21:38, Vaclav Petras <wenzeslaus at gmail.com <mailto:wenzeslaus at gmail.com>> wrote:
>> >
>> >
>> >
>> > On Thu, Mar 5, 2020 at 1:52 PM Rainer M Krug <Rainer at krugs.de <mailto:Rainer at krugs.de>> wrote:
>> >>
>> >>
>> >>
>> >> On 5 Mar 2020, at 17:53, Vaclav Petras <wenzeslaus at gmail.com <mailto:wenzeslaus at gmail.com>> wrote:
>> >>
>> >>
>> >>
>> >> On Thu, Mar 5, 2020 at 11:37 AM Rainer M Krug <Rainer at krugs.de <mailto:Rainer at krugs.de>> wrote:
>> >>>
>> >>> OK - one step closer to success. Now I just have to know the location where the data for the tests can be downloaded from (I guess).
>> >>
>> >>
>> >> Everything is in the repo, well, it needs to be, I guess the only question is where in the repo, so:
>> >>
>> >> https://github.com/GRASS-GIS/grass-gis-experimental-ci/blob/homebrew-osgeo4mac/test_thorough.sh <https://github.com/GRASS-GIS/grass-gis-experimental-ci/blob/homebrew-osgeo4mac/test_thorough.sh>
>> >>  
>> >>>
>> >>> Please check the log to at https://github.com/GRASS-GIS/grass-gis-experimental-ci/runs/487969965?check_suite_focus=true <https://github.com/GRASS-GIS/grass-gis-experimental-ci/runs/487969965?check_suite_focus=true> for the Basic test and the Thorough test. I will look at the return code later, when the tests are running.
>> >>
>> >>
>> >> The problem there is probably a bad/missing path to PROJ db. I think it complains during the configuration already, so perhaps correct --with-proj-share will fix it. The runtime way of setting it is PROJ_LIB environmental variable. You can try something along these lines.
>> >>
>> >>
>> >> I am trying to find the file `proj.db` but can’t find it - can you give me any indication, where it can be found in Linux (home-brew should use similar locations)?
>> >
>> >
>> > Often it is in `/usr/share/proj`. Now you can find things like that in the Docker/Singularity/Vagrant configurations included in GRASS GIS source code or in the CIs, e.g., here:
>> >
>> > https://github.com/GRASS-GIS/grass-gis-experimental-ci/blob/master/build.sh#L39 <https://github.com/GRASS-GIS/grass-gis-experimental-ci/blob/master/build.sh#L39>
>> >
>> >  
>> >>
>> >>
>> >>
>> >>  
>> >>>
>> >>>
>> >>> Rainer
>> >>>
>> >>>
>> >>>
>> >>> On 5 Mar 2020, at 16:28, Rainer M Krug <Rainer at krugs.de <mailto:Rainer at krugs.de>> wrote:
>> >>>
>> >>>
>> >>>
>> >>> On 5 Mar 2020, at 16:22, Rainer M Krug <Rainer at krugs.de <mailto:Rainer at krugs.de>> wrote:
>> >>>
>> >>>
>> >>>
>> >>> On 5 Mar 2020, at 14:52, Vaclav Petras <wenzeslaus at gmail.com <mailto:wenzeslaus at gmail.com>> wrote:
>> >>>
>> >>>
>> >>>
>> >>> On Thu, Mar 5, 2020 at 4:27 AM Rainer M Krug <Rainer at krugs.de <mailto:Rainer at krugs.de>> wrote:
>> >>>>
>> >>>> OK - found the ci.
>> >>>>
>> >>>> The formula installs, but I get a warning at the end, which results in a warning, which is than interpreted as an error. The warning (which I also get locally) is the following:
>> >>>>
>> >>>> If it is the case that you can change the shebang at the beginning of
>> >>>>
>> >>>> he script to enforce Python 3 usage.
>> >>>>
>> >>>>   #!/usr/bin/env python
>> >>>>
>> >>>> Should be changed into
>> >>>>
>> >>>>   #!/usr/bin/env python3
>> >>>>
>> >>>>
>> >>>> I suspect that this needs to be done in GRASS itself?
>> >>>
>> >>>
>> >>> Hi, thanks for looking into this. 7.8.2 (and also above) has python3 everywhere in shebang. See e.g.:
>> >>>
>> >>> $ grep -Irn "/usr/bin/env python[^3]"
>> >>> scripts/g.extension/g.extension.py:1059 <http://g.extension.py:1059/>:                    "#!/usr/bin/env python\n",
>> >>> scripts/g.extension/g.extension.py:1308 <http://g.extension.py:1308/>:                    "#!/usr/bin/env python\n",
>> >>> # (these two are in fact code which is doing the replacement to python3)
>> >>>
>> >>> Can you please investigate locally where the message coming from?
>> >>>
>> >>>
>> >>> The message comes from the formula as a Caveat. I *think* it is always displayed. But at the moment, I am not to sure where the error code comes from, as I get an error code at the end of the brew command of 0 locally.
>> >>>
>> >>> I will look into this.
>> >>>
>> >>>
>> >>> Please ignore the following about the checkout.
>> >>>
>> >>> Found it.
>> >>>
>> >>>
>> >>> Do you know, why there is a
>> >>>
>> >>> - uses: actions/checkout at v2
>> >>>
>> >>> In the action?
>> >>>
>> >>> It seems, that it will be executed last, and there is no checkout needed.
>> >>>
>> >>> Rainer
>> >>>
>> >>>
>> >>>
>> >>> Vaclav
>> >>>
>> >>>
>> >>> --
>> >>> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
>> >>>
>> >>> Orcid ID: 0000-0002-7490-0066
>> >>>
>> >>> Department of Evolutionary Biology and Environmental Studies
>> >>> University of Zürich
>> >>> Office Y34-J-74
>> >>> Winterthurerstrasse 190
>> >>> 8075 Zürich
>> >>> Switzerland
>> >>>
>> >>> Office: +41 (0)44 635 47 64
>> >>> Cell:        +41 (0)78 630 66 57
>> >>> email:      Rainer.Krug at uzh.ch <mailto:Rainer.Krug at uzh.ch>
>> >>> Rainer at krugs.de <mailto:Rainer at krugs.de>
>> >>> Skype:     RMkrug
>> >>>
>> >>> PGP: 0x0F52F982
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
>> >>>
>> >>> Orcid ID: 0000-0002-7490-0066
>> >>>
>> >>> Department of Evolutionary Biology and Environmental Studies
>> >>> University of Zürich
>> >>> Office Y34-J-74
>> >>> Winterthurerstrasse 190
>> >>> 8075 Zürich
>> >>> Switzerland
>> >>>
>> >>> Office: +41 (0)44 635 47 64
>> >>> Cell:        +41 (0)78 630 66 57
>> >>> email:      Rainer.Krug at uzh.ch <mailto:Rainer.Krug at uzh.ch>
>> >>> Rainer at krugs.de <mailto:Rainer at krugs.de>
>> >>> Skype:     RMkrug
>> >>>
>> >>> PGP: 0x0F52F982
>> >>>
>> >>>
>> >>> --
>> >>> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
>> >>>
>> >>> Orcid ID: 0000-0002-7490-0066
>> >>>
>> >>> Department of Evolutionary Biology and Environmental Studies
>> >>> University of Zürich
>> >>> Office Y34-J-74
>> >>> Winterthurerstrasse 190
>> >>> 8075 Zürich
>> >>> Switzerland
>> >>>
>> >>> Office: +41 (0)44 635 47 64
>> >>> Cell:        +41 (0)78 630 66 57
>> >>> email:      Rainer.Krug at uzh.ch <mailto:Rainer.Krug at uzh.ch>
>> >>> Rainer at krugs.de <mailto:Rainer at krugs.de>
>> >>> Skype:     RMkrug
>> >>>
>> >>> PGP: 0x0F52F982
>> >>>
>> >>>
>> >>>
>> >>
>> >> --
>> >> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
>> >>
>> >> Orcid ID: 0000-0002-7490-0066
>> >>
>> >> Department of Evolutionary Biology and Environmental Studies
>> >> University of Zürich
>> >> Office Y34-J-74
>> >> Winterthurerstrasse 190
>> >> 8075 Zürich
>> >> Switzerland
>> >>
>> >> Office: +41 (0)44 635 47 64
>> >> Cell:        +41 (0)78 630 66 57
>> >> email:      Rainer.Krug at uzh.ch <mailto:Rainer.Krug at uzh.ch>
>> >> Rainer at krugs.de <mailto:Rainer at krugs.de>
>> >> Skype:     RMkrug
>> >>
>> >> PGP: 0x0F52F982
>> >
>> >
>> > --
>> > Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
>> >
>> > Orcid ID: 0000-0002-7490-0066
>> >
>> > Department of Evolutionary Biology and Environmental Studies
>> > University of Zürich
>> > Office Y34-J-74
>> > Winterthurerstrasse 190
>> > 8075 Zürich
>> > Switzerland
>> >
>> > Office: +41 (0)44 635 47 64
>> > Cell:        +41 (0)78 630 66 57
>> > email:      Rainer.Krug at uzh.ch <mailto:Rainer.Krug at uzh.ch>
>> > Rainer at krugs.de <mailto:Rainer at krugs.de>
>> > Skype:     RMkrug
>> >
>> > PGP: 0x0F52F982
>> >
>> >
>> >
>> > _______________________________________________
>> > grass-dev mailing list
>> > grass-dev at lists.osgeo.org <mailto:grass-dev at lists.osgeo.org>
>> > https://lists.osgeo.org/mailman/listinfo/grass-dev <https://lists.osgeo.org/mailman/listinfo/grass-dev>
> --
> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
> 
> Orcid ID: 0000-0002-7490-0066
> 
> Department of Evolutionary Biology and Environmental Studies
> University of Zürich
> Office Y34-J-74
> Winterthurerstrasse 190
> 8075 Zürich
> Switzerland
> 
> Office:	+41 (0)44 635 47 64
> Cell:       	+41 (0)78 630 66 57
> email:      Rainer.Krug at uzh.ch <mailto:Rainer.Krug at uzh.ch>
> 		Rainer at krugs.de <mailto:Rainer at krugs.de>
> Skype:     RMkrug
> 
> PGP: 0x0F52F982
> 
> 
> 

--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Orcid ID: 0000-0002-7490-0066

Department of Evolutionary Biology and Environmental Studies
University of Zürich
Office Y34-J-74
Winterthurerstrasse 190
8075 Zürich
Switzerland

Office:	+41 (0)44 635 47 64
Cell:       	+41 (0)78 630 66 57
email:      Rainer.Krug at uzh.ch
		Rainer at krugs.de
Skype:     RMkrug

PGP: 0x0F52F982



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20200331/6b080ddd/attachment-0001.html>


More information about the grass-dev mailing list