[GRASS-user] Multiple errors building Grass 7.7svn

Hi Eric,

On Tue, May 21, 2019 at 6:00 PM Patton, Eric (NRCan/RNCan)
<eric.patton@canada.ca> wrote:
...

I was running Grass 7.7svn (trunk) fine last week, and updated to v74509 today on Linux Mint 19.1.

We just moved to GitHub:

git clone https://github.com/OSGeo/grass.git

However, a question:

No errors during configure, but make showed many errors of the type:

Error: /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:120: Syntax error at '{'

I guess that these error messages appear in the ctypes part which is
(unfortunately) "normal" and apparently not an issue.
...

There’s far too many errors to list here, but the result of it is that 221 grass modules fail to build.

Which is the first one listed in
error.log
?

Can you then cd into that directory, run "make" therein and report the error?

Markus

Hi Markus,

I noted your new installation instructions for the git repo and have used those.

The first error in error.log occurs in /usr/local/grass/lib/proj:

test -d OBJ.x86_64-pc-linux-gnu || mkdir -p OBJ.x86_64-pc-linux-gnu
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE=\""grasslibs"\" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR=\"lib/proj\" -o OBJ.x86_64-pc-linux-gnu/convert.o -c convert.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE=\""grasslibs"\" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR=\"lib/proj\" -o OBJ.x86_64-pc-linux-gnu/datum.o -c datum.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE=\""grasslibs"\" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR=\"lib/proj\" -o OBJ.x86_64-pc-linux-gnu/do_proj.o -c do_proj.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE=\""grasslibs"\" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR=\"lib/proj\" -o OBJ.x86_64-pc-linux-gnu/ellipse.o -c ellipse.c
do_proj.c: In function ‘GPJ_init_transform’:
do_proj.c:136:6: error: expected ‘}’ before ‘else’
      else {
      ^~~~
do_proj.c: At top level:
do_proj.c:160:5: error: expected identifier or ‘(’ before ‘if’
     if (info_trans->pj == NULL)
     ^~
do_proj.c:162:5: error: expected identifier or ‘(’ before ‘if’
     if (info_trans->pj == NULL) {
     ^~
do_proj.c:167:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘->’ token
     info_trans->meters = 1.;
               ^~
do_proj.c:168:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘->’ token
     info_trans->zone = 0;
               ^~
do_proj.c:169:23: error: expected ‘)’ before ‘->’ token
     sprintf(info_trans->proj, "pipeline");
                       ^~
do_proj.c:180:5: error: expected identifier or ‘(’ before ‘return’
     return 1;
     ^~~~~~
do_proj.c:181:1: error: expected identifier or ‘(’ before ‘}’ token
}
^
../../include/Make/Compile.make:32: recipe for target 'OBJ.x86_64-pc-linux-gnu/do_proj.o' failed
make: *** [OBJ.x86_64-pc-linux-gnu/do_proj.o] Error 1
make: *** Waiting for unfinished jobs....

Thanks,

~ Eric.

-----Original Message-----
From: Markus Neteler <neteler@osgeo.org>
Sent: May 21, 2019 16:49
To: Patton, Eric (NRCan/RNCan) <eric.patton@canada.ca>
Cc: grass-user@lists.osgeo.org
Subject: Re: [GRASS-user] Multiple errors building Grass 7.7svn

Hi Eric,

On Tue, May 21, 2019 at 6:00 PM Patton, Eric (NRCan/RNCan) <eric.patton@canada.ca> wrote:
...

I was running Grass 7.7svn (trunk) fine last week, and updated to v74509 today on Linux Mint 19.1.

We just moved to GitHub:

git clone https://github.com/OSGeo/grass.git

However, a question:

No errors during configure, but make showed many errors of the type:

Error: /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:120: Syntax error at '{'

I guess that these error messages appear in the ctypes part which is
(unfortunately) "normal" and apparently not an issue.
...

There’s far too many errors to list here, but the result of it is that 221 grass modules fail to build.

Which is the first one listed in
error.log
?

Can you then cd into that directory, run "make" therein and report the error?

Markus

Hi Eric,

On Wed, May 22, 2019 at 3:32 PM Patton, Eric (NRCan/RNCan)
<eric.patton@canada.ca> wrote:

Hi Markus,

I noted your new installation instructions for the git repo and have used those.

The first error in error.log occurs in /usr/local/grass/lib/proj:

test -d OBJ.x86_64-pc-linux-gnu || mkdir -p OBJ.x86_64-pc-linux-gnu
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE=\""grasslibs"\" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR=\"lib/proj\" -o OBJ.x86_64-pc-linux-gnu/convert.o -c convert.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE=\""grasslibs"\" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR=\"lib/proj\" -o OBJ.x86_64-pc-linux-gnu/datum.o -c datum.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE=\""grasslibs"\" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR=\"lib/proj\" -o OBJ.x86_64-pc-linux-gnu/do_proj.o -c do_proj.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE=\""grasslibs"\" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR=\"lib/proj\" -o OBJ.x86_64-pc-linux-gnu/ellipse.o -c ellipse.c
do_proj.c: In function ‘GPJ_init_transform’:
do_proj.c:136:6: error: expected ‘}’ before ‘else’
      else {
      ^~~~
do_proj.c: At top level:
do_proj.c:160:5: error: expected identifier or ‘(’ before ‘if’
     if (info_trans->pj == NULL)
     ^~
do_proj.c:162:5: error: expected identifier or ‘(’ before ‘if’
     if (info_trans->pj == NULL) {
     ^~
do_proj.c:167:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘->’ token
     info_trans->meters = 1.;
               ^~
do_proj.c:168:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘->’ token
     info_trans->zone = 0;
               ^~
do_proj.c:169:23: error: expected ‘)’ before ‘->’ token
     sprintf(info_trans->proj, "pipeline");
                       ^~
do_proj.c:180:5: error: expected identifier or ‘(’ before ‘return’
     return 1;
     ^~~~~~
do_proj.c:181:1: error: expected identifier or ‘(’ before ‘}’ token
}
^
../../include/Make/Compile.make:32: recipe for target 'OBJ.x86_64-pc-linux-gnu/do_proj.o' failed
make: *** [OBJ.x86_64-pc-linux-gnu/do_proj.o] Error 1
make: *** Waiting for unfinished jobs....

ok, there seems to be a problem with the PROJ installation.

Which proj version do you use? Please post the names of the related
packages here which you have installed (so that we see the precise
version names).

thanks
Markus

On Wed, May 22, 2019 at 4:39 PM Markus Neteler <neteler@osgeo.org> wrote:

Hi Eric,

On Wed, May 22, 2019 at 3:32 PM Patton, Eric (NRCan/RNCan)
<eric.patton@canada.ca> wrote:

Hi Markus,

I noted your new installation instructions for the git repo and have used those.

The first error in error.log occurs in /usr/local/grass/lib/proj:

test -d OBJ.x86_64-pc-linux-gnu || mkdir -p OBJ.x86_64-pc-linux-gnu
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/convert.o -c convert.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/datum.o -c datum.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/do_proj.o -c do_proj.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/ellipse.o -c ellipse.c
do_proj.c: In function ‘GPJ_init_transform’:
do_proj.c:136:6: error: expected ‘}’ before ‘else’
else {
^~~~
do_proj.c: At top level:
do_proj.c:160:5: error: expected identifier or ‘(’ before ‘if’
if (info_trans->pj == NULL)
^~
do_proj.c:162:5: error: expected identifier or ‘(’ before ‘if’
if (info_trans->pj == NULL) {
^~
do_proj.c:167:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘->’ token
info_trans->meters = 1.;
^~
do_proj.c:168:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘->’ token
info_trans->zone = 0;
^~
do_proj.c:169:23: error: expected ‘)’ before ‘->’ token
sprintf(info_trans->proj, “pipeline”);
^~
do_proj.c:180:5: error: expected identifier or ‘(’ before ‘return’
return 1;
^~~~~~
do_proj.c:181:1: error: expected identifier or ‘(’ before ‘}’ token
}
^
…/…/include/Make/Compile.make:32: recipe for target ‘OBJ.x86_64-pc-linux-gnu/do_proj.o’ failed
make: *** [OBJ.x86_64-pc-linux-gnu/do_proj.o] Error 1
make: *** Waiting for unfinished jobs…

ok, there seems to be a problem with the PROJ installation.

No, it’s a problem with the #ifdef’s in do_proj.c accounting for different versions of PROJ

Which proj version do you use? Please post the names of the related
packages here which you have installed (so that we see the precise
version names).

This must be PROJ 6.

do_proj.c should be fixed in master 7c3e8de:
https://github.com/OSGeo/grass/commit/7c3e8de11b877f7c6240b5f94868ec27464d6c9f

Markus M

Markus -

Yes, I am using proj 6.0.0 – built with no errors.

I believe I checked out master with ‘git clone https://github.com/OSGeo/grass.git’ – so shouldn’t that fix already be present in my source tree?

~ Eric.

···

On Wed, May 22, 2019 at 4:39 PM Markus Neteler <neteler@osgeo.org> wrote:

Hi Eric,

On Wed, May 22, 2019 at 3:32 PM Patton, Eric (NRCan/RNCan)
<eric.patton@canada.ca> wrote:

Hi Markus,

I noted your new installation instructions for the git repo and have used those.

The first error in error.log occurs in /usr/local/grass/lib/proj:

test -d OBJ.x86_64-pc-linux-gnu || mkdir -p OBJ.x86_64-pc-linux-gnu
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/convert.o -c convert.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/datum.o -c datum.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/do_proj.o -c do_proj.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/ellipse.o -c ellipse.c
do_proj.c: In function ‘GPJ_init_transform’:
do_proj.c:136:6: error: expected ‘}’ before ‘else’
else {
^~~~
do_proj.c: At top level:
do_proj.c:160:5: error: expected identifier or ‘(’ before ‘if’
if (info_trans->pj == NULL)
^~
do_proj.c:162:5: error: expected identifier or ‘(’ before ‘if’
if (info_trans->pj == NULL) {
^~
do_proj.c:167:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘->’ token
info_trans->meters = 1.;
^~
do_proj.c:168:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘->’ token
info_trans->zone = 0;
^~
do_proj.c:169:23: error: expected ‘)’ before ‘->’ token
sprintf(info_trans->proj, “pipeline”);
^~
do_proj.c:180:5: error: expected identifier or ‘(’ before ‘return’
return 1;
^~~~~~
do_proj.c:181:1: error: expected identifier or ‘(’ before ‘}’ token
}
^
…/…/include/Make/Compile.make:32: recipe for target ‘OBJ.x86_64-pc-linux-gnu/do_proj.o’ failed
make: *** [OBJ.x86_64-pc-linux-gnu/do_proj.o] Error 1
make: *** Waiting for unfinished jobs…

ok, there seems to be a problem with the PROJ installation.

No, it’s a problem with the #ifdef’s in do_proj.c accounting for different versions of PROJ

Which proj version do you use? Please post the names of the related
packages here which you have installed (so that we see the precise
version names).

This must be PROJ 6.

do_proj.c should be fixed in master 7c3e8de:

https://github.com/OSGeo/grass/commit/7c3e8de11b877f7c6240b5f94868ec27464d6c9f

Markus M

On Wed, May 22, 2019 at 5:33 PM Patton, Eric (NRCan/RNCan) <eric.patton@canada.ca> wrote:

Markus -

Yes, I am using proj 6.0.0 – built with no errors.

be aware that GRASS might compile with PROJ 6, but it is not working, too much has changed from PROJ 5 and all those changes are not yet considered in GRASS. Most importantly, coordinate transformations might produce wrong results.

Furthermore, GRASS will most likely not support PROJ 6.0, only PROJ 6.1+, because of bug fixes and important new functionality.

I believe I checked out master with ‘git clone https://github.com/OSGeo/grass.git’ – so shouldn’t that fix already be present in my source tree?

It depends when you updated master the last time. If in doubt, git pull again.

Markus M

~ Eric.

From: Markus Metz <markus.metz.giswork@gmail.com>
Sent: May 22, 2019 12:25
To: Markus Neteler <neteler@osgeo.org>
Cc: Patton, Eric (NRCan/RNCan) <eric.patton@canada.ca>; grass-user@lists.osgeo.org
Subject: Re: [GRASS-user] Multiple errors building Grass 7.7svn

On Wed, May 22, 2019 at 4:39 PM Markus Neteler <neteler@osgeo.org> wrote:

Hi Eric,

On Wed, May 22, 2019 at 3:32 PM Patton, Eric (NRCan/RNCan)
<eric.patton@canada.ca> wrote:

Hi Markus,

I noted your new installation instructions for the git repo and have used those.

The first error in error.log occurs in /usr/local/grass/lib/proj:

test -d OBJ.x86_64-pc-linux-gnu || mkdir -p OBJ.x86_64-pc-linux-gnu
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/convert.o -c convert.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/datum.o -c datum.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/do_proj.o -c do_proj.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/ellipse.o -c ellipse.c
do_proj.c: In function ‘GPJ_init_transform’:
do_proj.c:136:6: error: expected ‘}’ before ‘else’
else {
^~~~
do_proj.c: At top level:
do_proj.c:160:5: error: expected identifier or ‘(’ before ‘if’
if (info_trans->pj == NULL)
^~
do_proj.c:162:5: error: expected identifier or ‘(’ before ‘if’
if (info_trans->pj == NULL) {
^~
do_proj.c:167:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘->’ token
info_trans->meters = 1.;
^~
do_proj.c:168:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘->’ token
info_trans->zone = 0;
^~
do_proj.c:169:23: error: expected ‘)’ before ‘->’ token
sprintf(info_trans->proj, “pipeline”);
^~
do_proj.c:180:5: error: expected identifier or ‘(’ before ‘return’
return 1;
^~~~~~
do_proj.c:181:1: error: expected identifier or ‘(’ before ‘}’ token
}
^
…/…/include/Make/Compile.make:32: recipe for target ‘OBJ.x86_64-pc-linux-gnu/do_proj.o’ failed
make: *** [OBJ.x86_64-pc-linux-gnu/do_proj.o] Error 1
make: *** Waiting for unfinished jobs…

ok, there seems to be a problem with the PROJ installation.

No, it’s a problem with the #ifdef’s in do_proj.c accounting for different versions of PROJ

Which proj version do you use? Please post the names of the related
packages here which you have installed (so that we see the precise
version names).

This must be PROJ 6.

do_proj.c should be fixed in master 7c3e8de:

https://github.com/OSGeo/grass/commit/7c3e8de11b877f7c6240b5f94868ec27464d6c9f

Markus M

Thanks for that info. So would a suitable strategy be to try re-synching Grass from git, then compiling and building with proj 6.1, and if that fails, try the proj 5.9.3 release?

~ Eric.

···

On Wed, May 22, 2019 at 5:33 PM Patton, Eric (NRCan/RNCan) <eric.patton@canada.ca> wrote:

Markus -

Yes, I am using proj 6.0.0 – built with no errors.

be aware that GRASS might compile with PROJ 6, but it is not working, too much has changed from PROJ 5 and all those changes are not yet considered in GRASS. Most importantly, coordinate transformations might produce wrong results.

Furthermore, GRASS will most likely not support PROJ 6.0, only PROJ 6.1+, because of bug fixes and important new functionality.

I believe I checked out master with ‘git clone https://github.com/OSGeo/grass.git’ – so shouldn’t that fix already be present in my source tree?

It depends when you updated master the last time. If in doubt, git pull again.

Markus M

~ Eric.

From: Markus Metz <markus.metz.giswork@gmail.com>
Sent: May 22, 2019 12:25
To: Markus Neteler <neteler@osgeo.org>
Cc: Patton, Eric (NRCan/RNCan) <eric.patton@canada.ca>; grass-user@lists.osgeo.org
Subject: Re: [GRASS-user] Multiple errors building Grass 7.7svn

On Wed, May 22, 2019 at 4:39 PM Markus Neteler <neteler@osgeo.org> wrote:

Hi Eric,

On Wed, May 22, 2019 at 3:32 PM Patton, Eric (NRCan/RNCan)
<eric.patton@canada.ca> wrote:

Hi Markus,

I noted your new installation instructions for the git repo and have used those.

The first error in error.log occurs in /usr/local/grass/lib/proj:

test -d OBJ.x86_64-pc-linux-gnu || mkdir -p OBJ.x86_64-pc-linux-gnu
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/convert.o -c convert.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/datum.o -c datum.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/do_proj.o -c do_proj.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/ellipse.o -c ellipse.c
do_proj.c: In function ‘GPJ_init_transform’:
do_proj.c:136:6: error: expected ‘}’ before ‘else’
else {
^~~~
do_proj.c: At top level:
do_proj.c:160:5: error: expected identifier or ‘(’ before ‘if’
if (info_trans->pj == NULL)
^~
do_proj.c:162:5: error: expected identifier or ‘(’ before ‘if’
if (info_trans->pj == NULL) {
^~
do_proj.c:167:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘->’ token
info_trans->meters = 1.;
^~
do_proj.c:168:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘->’ token
info_trans->zone = 0;
^~
do_proj.c:169:23: error: expected ‘)’ before ‘->’ token
sprintf(info_trans->proj, “pipeline”);
^~
do_proj.c:180:5: error: expected identifier or ‘(’ before ‘return’
return 1;
^~~~~~
do_proj.c:181:1: error: expected identifier or ‘(’ before ‘}’ token
}
^
…/…/include/Make/Compile.make:32: recipe for target ‘OBJ.x86_64-pc-linux-gnu/do_proj.o’ failed
make: *** [OBJ.x86_64-pc-linux-gnu/do_proj.o] Error 1
make: *** Waiting for unfinished jobs…

ok, there seems to be a problem with the PROJ installation.

No, it’s a problem with the #ifdef’s in do_proj.c accounting for different versions of PROJ

Which proj version do you use? Please post the names of the related
packages here which you have installed (so that we see the precise
version names).

This must be PROJ 6.

do_proj.c should be fixed in master 7c3e8de:

https://github.com/OSGeo/grass/commit/7c3e8de11b877f7c6240b5f94868ec27464d6c9f

Markus M

Hi Eric,

On Wed, May 22, 2019 at 6:01 PM Patton, Eric (NRCan/RNCan) <eric.patton@canada.ca> wrote:

Thanks for that info. So would a suitable strategy be to try re-synching Grass from git,

yes, with “git pull”

then compiling and building with proj 6.1, and if that fails, try the proj 5.9.3 release?

As I wrote earlier, GRASS should now build with proj 6, but coordinate operations can produce wrong results.

proj-5.2.0 is the latest proj 5 release, GRASS is working with proj-5.2.0

Markus M

~ Eric.

From: Markus Metz <markus.metz.giswork@gmail.com>
Sent: May 22, 2019 12:57
To: Patton, Eric (NRCan/RNCan) <eric.patton@canada.ca>
Cc: grass-user@lists.osgeo.org
Subject: Re: [GRASS-user] Multiple errors building Grass 7.7svn

On Wed, May 22, 2019 at 5:33 PM Patton, Eric (NRCan/RNCan) <eric.patton@canada.ca> wrote:

Markus -

Yes, I am using proj 6.0.0 – built with no errors.

be aware that GRASS might compile with PROJ 6, but it is not working, too much has changed from PROJ 5 and all those changes are not yet considered in GRASS. Most importantly, coordinate transformations might produce wrong results.

Furthermore, GRASS will most likely not support PROJ 6.0, only PROJ 6.1+, because of bug fixes and important new functionality.

I believe I checked out master with ‘git clone https://github.com/OSGeo/grass.git’ – so shouldn’t that fix already be present in my source tree?

It depends when you updated master the last time. If in doubt, git pull again.

Markus M

~ Eric.

From: Markus Metz <markus.metz.giswork@gmail.com>
Sent: May 22, 2019 12:25
To: Markus Neteler <neteler@osgeo.org>
Cc: Patton, Eric (NRCan/RNCan) <eric.patton@canada.ca>; grass-user@lists.osgeo.org
Subject: Re: [GRASS-user] Multiple errors building Grass 7.7svn

On Wed, May 22, 2019 at 4:39 PM Markus Neteler <neteler@osgeo.org> wrote:

Hi Eric,

On Wed, May 22, 2019 at 3:32 PM Patton, Eric (NRCan/RNCan)
<eric.patton@canada.ca> wrote:

Hi Markus,

I noted your new installation instructions for the git repo and have used those.

The first error in error.log occurs in /usr/local/grass/lib/proj:

test -d OBJ.x86_64-pc-linux-gnu || mkdir -p OBJ.x86_64-pc-linux-gnu
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/convert.o -c convert.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/datum.o -c datum.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/do_proj.o -c do_proj.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/ellipse.o -c ellipse.c
do_proj.c: In function ‘GPJ_init_transform’:
do_proj.c:136:6: error: expected ‘}’ before ‘else’
else {
^~~~
do_proj.c: At top level:
do_proj.c:160:5: error: expected identifier or ‘(’ before ‘if’
if (info_trans->pj == NULL)
^~
do_proj.c:162:5: error: expected identifier or ‘(’ before ‘if’
if (info_trans->pj == NULL) {
^~
do_proj.c:167:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘->’ token
info_trans->meters = 1.;
^~
do_proj.c:168:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘->’ token
info_trans->zone = 0;
^~
do_proj.c:169:23: error: expected ‘)’ before ‘->’ token
sprintf(info_trans->proj, “pipeline”);
^~
do_proj.c:180:5: error: expected identifier or ‘(’ before ‘return’
return 1;
^~~~~~
do_proj.c:181:1: error: expected identifier or ‘(’ before ‘}’ token
}
^
…/…/include/Make/Compile.make:32: recipe for target ‘OBJ.x86_64-pc-linux-gnu/do_proj.o’ failed
make: *** [OBJ.x86_64-pc-linux-gnu/do_proj.o] Error 1
make: *** Waiting for unfinished jobs…

ok, there seems to be a problem with the PROJ installation.

No, it’s a problem with the #ifdef’s in do_proj.c accounting for different versions of PROJ

Which proj version do you use? Please post the names of the related
packages here which you have installed (so that we see the precise
version names).

This must be PROJ 6.

do_proj.c should be fixed in master 7c3e8de:

https://github.com/OSGeo/grass/commit/7c3e8de11b877f7c6240b5f94868ec27464d6c9f

Markus M

Thanks for the help, Markus N. and Markus M. – Grass compiles and builds successfully with proj 5.2.0.

Cheers,

~ Eric.

···

Hi Eric,

On Wed, May 22, 2019 at 6:01 PM Patton, Eric (NRCan/RNCan) <eric.patton@canada.ca> wrote:

Thanks for that info. So would a suitable strategy be to try re-synching Grass from git,

yes, with “git pull”

then compiling and building with proj 6.1, and if that fails, try the proj 5.9.3 release?

As I wrote earlier, GRASS should now build with proj 6, but coordinate operations can produce wrong results.

proj-5.2.0 is the latest proj 5 release, GRASS is working with proj-5.2.0

Markus M

~ Eric.

From: Markus Metz <markus.metz.giswork@gmail.com>
Sent: May 22, 2019 12:57
To: Patton, Eric (NRCan/RNCan) <eric.patton@canada.ca>
Cc: grass-user@lists.osgeo.org
Subject: Re: [GRASS-user] Multiple errors building Grass 7.7svn

On Wed, May 22, 2019 at 5:33 PM Patton, Eric (NRCan/RNCan) <eric.patton@canada.ca> wrote:

Markus -

Yes, I am using proj 6.0.0 – built with no errors.

be aware that GRASS might compile with PROJ 6, but it is not working, too much has changed from PROJ 5 and all those changes are not yet considered in GRASS. Most importantly, coordinate transformations might produce wrong results.

Furthermore, GRASS will most likely not support PROJ 6.0, only PROJ 6.1+, because of bug fixes and important new functionality.

I believe I checked out master with ‘git clone https://github.com/OSGeo/grass.git’ – so shouldn’t that fix already be present in my source tree?

It depends when you updated master the last time. If in doubt, git pull again.

Markus M

~ Eric.

From: Markus Metz <markus.metz.giswork@gmail.com>
Sent: May 22, 2019 12:25
To: Markus Neteler <neteler@osgeo.org>
Cc: Patton, Eric (NRCan/RNCan) <eric.patton@canada.ca>; grass-user@lists.osgeo.org
Subject: Re: [GRASS-user] Multiple errors building Grass 7.7svn

On Wed, May 22, 2019 at 4:39 PM Markus Neteler <neteler@osgeo.org> wrote:

Hi Eric,

On Wed, May 22, 2019 at 3:32 PM Patton, Eric (NRCan/RNCan)
<eric.patton@canada.ca> wrote:

Hi Markus,

I noted your new installation instructions for the git repo and have used those.

The first error in error.log occurs in /usr/local/grass/lib/proj:

test -d OBJ.x86_64-pc-linux-gnu || mkdir -p OBJ.x86_64-pc-linux-gnu
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/convert.o -c convert.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/datum.o -c datum.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/do_proj.o -c do_proj.c
gcc -g -O2 -fPIC -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/include -DPACKAGE="“grasslibs”" -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -I/usr/local/grass/dist.x86_64-pc-linux-gnu/include -DRELDIR="lib/proj" -o OBJ.x86_64-pc-linux-gnu/ellipse.o -c ellipse.c
do_proj.c: In function ‘GPJ_init_transform’:
do_proj.c:136:6: error: expected ‘}’ before ‘else’
else {
^~~~
do_proj.c: At top level:
do_proj.c:160:5: error: expected identifier or ‘(’ before ‘if’
if (info_trans->pj == NULL)
^~
do_proj.c:162:5: error: expected identifier or ‘(’ before ‘if’
if (info_trans->pj == NULL) {
^~
do_proj.c:167:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘->’ token
info_trans->meters = 1.;
^~
do_proj.c:168:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘->’ token
info_trans->zone = 0;
^~
do_proj.c:169:23: error: expected ‘)’ before ‘->’ token
sprintf(info_trans->proj, “pipeline”);
^~
do_proj.c:180:5: error: expected identifier or ‘(’ before ‘return’
return 1;
^~~~~~
do_proj.c:181:1: error: expected identifier or ‘(’ before ‘}’ token
}
^
…/…/include/Make/Compile.make:32: recipe for target ‘OBJ.x86_64-pc-linux-gnu/do_proj.o’ failed
make: *** [OBJ.x86_64-pc-linux-gnu/do_proj.o] Error 1
make: *** Waiting for unfinished jobs…

ok, there seems to be a problem with the PROJ installation.

No, it’s a problem with the #ifdef’s in do_proj.c accounting for different versions of PROJ

Which proj version do you use? Please post the names of the related
packages here which you have installed (so that we see the precise
version names).

This must be PROJ 6.

do_proj.c should be fixed in master 7c3e8de:

https://github.com/OSGeo/grass/commit/7c3e8de11b877f7c6240b5f94868ec27464d6c9f

Markus M