[GRASS-dev] Automatic/CI compilation on macOS

Markus Metz markus.metz.giswork at gmail.com
Fri Mar 6 09:40:09 PST 2020


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.

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20200306/32e5bb25/attachment-0001.html>


More information about the grass-dev mailing list