[GRASS-dev] Automatic/CI compilation on macOS

Vaclav Petras wenzeslaus at gmail.com
Mon Mar 30 18:50:21 PDT 2020


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

[Bug] Update build GRASS as macOS application #457 (linked comment and
below)
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> wrote:

>
>
> On 6 Mar 2020, at 18:40, Markus Metz <markus.metz.giswork at gmail.com>
> wrote:
>
>
>
> On Fri, Mar 6, 2020 at 8:50 AM Rainer M Krug <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> wrote:
> >
> >
> >
> > On Thu, Mar 5, 2020 at 1:52 PM Rainer M Krug <Rainer at krugs.de> wrote:
> >>
> >>
> >>
> >> On 5 Mar 2020, at 17:53, Vaclav Petras <wenzeslaus at gmail.com> wrote:
> >>
> >>
> >>
> >> On Thu, Mar 5, 2020 at 11:37 AM Rainer M Krug <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
> >>
> >>>
> >>> Please check the log to at
> 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
> >
> >
> >>
> >>
> >>
> >>
> >>>
> >>>
> >>> Rainer
> >>>
> >>>
> >>>
> >>> On 5 Mar 2020, at 16:28, Rainer M Krug <Rainer at krugs.de> wrote:
> >>>
> >>>
> >>>
> >>> On 5 Mar 2020, at 16:22, Rainer M Krug <Rainer at krugs.de> wrote:
> >>>
> >>>
> >>>
> >>> On 5 Mar 2020, at 14:52, Vaclav Petras <wenzeslaus at gmail.com> wrote:
> >>>
> >>>
> >>>
> >>> On Thu, Mar 5, 2020 at 4:27 AM Rainer M Krug <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:
>  "#!/usr/bin/env python\n",
> >>> scripts/g.extension/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
> >>> 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
> >>>
> >>>
> >>> --
> >>> 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
> >>>
> >>>
> >>>
> >>
> >> --
> >> 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
> >
> >
> > --
> > 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
> >
> >
> >
> > _______________________________________________
> > grass-dev mailing list
> > grass-dev at lists.osgeo.org
> > 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 <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/20200330/6d0d0a63/attachment-0001.html>


More information about the grass-dev mailing list