[GRASS-user] compiling grass-7.8.5 on centos7 with proj from source

Dear all,
I am trying to compile grass-7.8.5 on a managed HPC with centos7 and rather old libraries for proj. The most recent is 5.0.1. Unfortunately it seems not possible to unload completely the oldest (4.8.0) version
I compile proj 7.2.1 from source and it works.
This is the compile instructions that I use (it works on containers and clean install without this old version of proj loaded).

./configure \
-prefix=/home/user/$grassdir/ \
--enable-64bit --with-fftw-includes=/cm/shared/apps/fftw/openmpi/gcc/64/3.3.7/include/ \
--with-fftw-libs=/cm/shared/apps/fftw/openmpi/gcc/64/3.3.7/lib/ \
--with-freetype-includes=/home/user/$grassdir/freetypes/freetype-$freetypeVers/include/ \
--with-netcdf --with-geos --with-blas --with-lapack --with-postgres \
--with-zstd-includes=/home/user/$grassdir/zstd/zstd-$zstdVers/lib/ \
--with-zstd-libs=/home/user/$grassdir/zstd/zstd-$zstdVers/lib/ \
--with-gdal=/home/user/gdal/bin312/bin/gdal-config \
--with-geos=/home/user/geo/bin/bin/geos-config \
--with-proj-include=/home/user/geo/bin/include/ \
--with-proj-libs=/home/user/geo/bin/lib/ \
--with-proj-api=yes --with-proj-share=/home/user/geo/bin/share/proj/

I tried also with --with-proj-api=no and without the --with-proj-share option.

Then I get these problems:
[…]
checking for location of External PROJ includes…
checking for proj.h… no
checking External PROJ.4 version… 480
found PROJ version 480
using old PROJ version 4 API
checking for proj_api.h… yes
checking External PROJ.4 version… 480
checking for location of External PROJ.4 library… /home/user/geo/bin/lib/
checking for pj_get_def in -lproj… yes
checking for location of External PROJ data files… /home/user/geo/bin/share/proj/
checking for /home/user/geo/bin/share/proj//epsg… no
configure: warning: *** Unable to locate PROJ data files.

[…]
using old PROJ 4 API

It compiles but then it gives errors for different modules
I think the “problem” is that it can not locate proj.h (it exists in /home/user/geo/bin/include/proj.h). I tried to add the path to the $PATH variable but it does not really improve.
Any additional/different options that I can try?

Thanks in advance
Laura

I switched to use conda environments and it seems things are improving. However I get different errors (see other email)

Thanks
Laura

On Mon, 2 Aug 2021 at 11:07, Laura Poggio <laura.poggio@gmail.com> wrote:

Dear all,
I am trying to compile grass-7.8.5 on a managed HPC with centos7 and rather old libraries for proj. The most recent is 5.0.1. Unfortunately it seems not possible to unload completely the oldest (4.8.0) version
I compile proj 7.2.1 from source and it works.
This is the compile instructions that I use (it works on containers and clean install without this old version of proj loaded).

./configure \
-prefix=/home/user/$grassdir/ \
--enable-64bit --with-fftw-includes=/cm/shared/apps/fftw/openmpi/gcc/64/3.3.7/include/ \
--with-fftw-libs=/cm/shared/apps/fftw/openmpi/gcc/64/3.3.7/lib/ \
--with-freetype-includes=/home/user/$grassdir/freetypes/freetype-$freetypeVers/include/ \
--with-netcdf --with-geos --with-blas --with-lapack --with-postgres \
--with-zstd-includes=/home/user/$grassdir/zstd/zstd-$zstdVers/lib/ \
--with-zstd-libs=/home/user/$grassdir/zstd/zstd-$zstdVers/lib/ \
--with-gdal=/home/user/gdal/bin312/bin/gdal-config \
--with-geos=/home/user/geo/bin/bin/geos-config \
--with-proj-include=/home/user/geo/bin/include/ \
--with-proj-libs=/home/user/geo/bin/lib/ \
--with-proj-api=yes --with-proj-share=/home/user/geo/bin/share/proj/

I tried also with --with-proj-api=no and without the --with-proj-share option.

Then I get these problems:
[…]
checking for location of External PROJ includes…
checking for proj.h… no
checking External PROJ.4 version… 480
found PROJ version 480
using old PROJ version 4 API
checking for proj_api.h… yes
checking External PROJ.4 version… 480
checking for location of External PROJ.4 library… /home/user/geo/bin/lib/
checking for pj_get_def in -lproj… yes
checking for location of External PROJ data files… /home/user/geo/bin/share/proj/
checking for /home/user/geo/bin/share/proj//epsg… no
configure: warning: *** Unable to locate PROJ data files.

[…]
using old PROJ 4 API

It compiles but then it gives errors for different modules
I think the “problem” is that it can not locate proj.h (it exists in /home/user/geo/bin/include/proj.h). I tried to add the path to the $PATH variable but it does not really improve.
Any additional/different options that I can try?

Thanks in advance
Laura