easybuilders / easybuild-easyconfigs

A collection of easyconfig files that describe which software to build using which build options with EasyBuild.
https://easybuild.io
GNU General Public License v2.0
356 stars 685 forks source link

R-4.1.2-foss-2021b.eb install failing #15005

Open charmichaeld opened 2 years ago

charmichaeld commented 2 years ago

Hi, I have eb 4.5.1 on CentOS 7 and trying to install R-4.1.2-foss-2021b.eb which first fails at package terra: libproj.so.15: cannot open shared object file: No such file or directory So I added dependency ('PROJ', '6.2.1') and terra package installs but the next fail is at rgdal. So I added the following with rgdal package 'installopts': '--configure-args="--host=host"', rgdal installs but there are still multiple error messages throughout the log: /proj_conf_test: error while loading shared libraries: libproj.so.15: cannot open shared object file: No such file or directory and the next fail is at package lwgeom

./liblwgeom/liblwgeom.h:38:26: error: operator '<' has no left operand
   38 | #if POSTGIS_PROJ_VERSION < 60
boegel commented 2 years ago

@charmichaeld That's... interesting.

Can you share the output of eb --show-config and eb --show-system-info to get a better view on your setup?

Can you share the EasyBuild log file for the failing installation?

charmichaeld commented 2 years ago

could it be due to Python 2.7.5?

 eb --show-system-info
System information (login2.cluster):

* OS:
  -> name: centos linux
  -> type: Linux
  -> version: 7.9.2009
  -> platform name: x86_64-unknown-linux

* CPU:
  -> vendor: Intel
  -> architecture: x86_64
  -> family: Intel
  -> arch name: UNKNOWN (archspec is not installed?)
  -> model: Intel(R) Xeon(R) Gold 6248R CPU @ 3.00GHz
  -> speed: 4000.0
  -> cores: 48
  -> features: 3dnowprefetch,abm,acpi,adx,aes,aperfmperf,apic,arat,arch_capabilities,arch_perfmon,art,avx,avx2,avx512_vnni,avx512bw,avx512cd,avx512dq,avx512f
,avx512vl,bmi1,bmi2,bts,cat_l3,cdp_l3,clflush,clflushopt,clwb,cmov,constant_tsc,cqm,cqm_llc,cqm_mbm_local,cqm_mbm_total,cqm_occup_llc,cx16,cx8,dca,de,ds_cpl,
dtes64,dtherm,dts,eagerfpu,epb,ept,erms,est,f16c,flexpriority,flush_l1d,fma,fpu,fsgsbase,fxsr,hle,ht,hwp,hwp_act_window,hwp_epp,hwp_pkg_req,ibpb,ibrs,ibrs_en
hanced,ida,intel_ppin,intel_pt,intel_stibp,invpcid,invpcid_single,lahf_lm,lm,mba,mca,mce,md_clear,mmx,monitor,movbe,mpx,msr,mtrr,nonstop_tsc,nopl,nx,ospke,pa
e,pat,pbe,pcid,pclmulqdq,pdcm,pdpe1gb,pebs,pge,pku,pln,pni,popcnt,pse,pse36,pts,rdrand,rdseed,rdt_a,rdtscp,rep_good,rtm,sdbg,sep,smap,smep,smx,spec_ctrl,ss,s
sbd,sse,sse2,sse4_1,sse4_2,ssse3,stibp,syscall,tm,tm2,tpr_shadow,tsc,tsc_adjust,tsc_deadline_timer,vme,vmx,vnmi,vpid,x2apic,xgetbv1,xsave,xsavec,xsaveopt,xto
pology,xtpr

* GPU:
  -> NVIDIA
    -> 2x Quadro RTX 6000, 495.29.05

* software:
  -> glibc version: 2.17
  -> Python binary: /usr/bin/python
  -> Python version: 2.7.5
boegel commented 2 years ago

The Python version that is used to run EasyBuild shouldn't matter.

Can you also share the output of eb --show-config?

charmichaeld commented 2 years ago
eb --show-config
#
# Current EasyBuild configuration
# (C: command line argument, D: default value, E: environment variable, F: configuration file)
#
buildpath            (E) = /tmp/charmichaeld/easybuild/
containerpath        (E) = /sw/eb/containers
deprecated           (E) = 2.0
installpath          (E) = /sw/eb
installpath-modules  (E) = /sw/eb/mods
installpath-software (E) = /sw/eb/sw
minimal-toolchains   (E) = True
module-naming-scheme (E) = HierarchicalMNS
packagepath          (E) = /sw/eb/packages
prefix               (E) = /sw/eb
read-only-installdir (E) = True
repositorypath       (E) = /sw/eb/ebfiles_repo/grace
robot                (E) = /sw/eb/ebfiles_repo_cleaned/grace, /sw/eb/sw/EasyBuild/4.5.1/easybuild/easyconfigs
robot-paths          (E) = /sw/eb/ebfiles_repo_cleaned/grace, /sw/eb/sw/EasyBuild/4.5.1/easybuild/easyconfigs
sourcepath           (E) = /sw/eb/sources
tmp-logdir           (E) = /tmp/charmichaeld/logs/
tmpdir               (E) = /tmp/charmichaeld/tmp/
branfosj commented 2 years ago

Is this an edited easyconfig? R-4.1.2-foss-2021b.eb has GDAL as a dependency (https://github.com/easybuilders/easybuild-easyconfigs/blob/develop/easybuild/easyconfigs/r/R/R-4.1.2-foss-2021b.eb#L52) and that GDAL has PROJ 8.1.0 as a dependency (https://github.com/easybuilders/easybuild-easyconfigs/blob/develop/easybuild/easyconfigs/g/GDAL/GDAL-3.3.2-foss-2021b.eb#L41). So I am confused as to why adding the older PROJ version as a dependency does not cause a module conflict.

boegel commented 2 years ago

@charmichaeld Nothing particularly suspicious in there...

Can you share the EasyBuild log for the failing installation, so we have a bit more context on those errors regarding the missing libproj.so.15?

The PROJ dependency you added only provides libproj.so.22, so it seems like something was picking up a PROJ you had installed system-wide at the time it was installed, and now that's no longer available? Can you check what rpm -qa proj reports?

charmichaeld commented 2 years ago

There is no output for rpm -qa proj I ran it again using the original easyconfig. The log file is 315MB, too big to upload. I noticed that PROJ/8.1.0 is in the dry-run:

eb  /sw/eb/sw/EasyBuild/4.5.1/easybuild/easyconfigs/r/R/R-4.1.2-foss-2021b.eb -D | grep PROJ                                                   │······························
 * [x] /sw/eb/ebfiles_repo_cleaned/grace/PROJ/PROJ-8.1.0-GCCcore-11.2.0.eb (module: Compiler/GCCcore/11.2.0 | PROJ/8.1.0)

but the log shows using PROJ/6.2.1 which I didn't add to the easyconfig. Here is part of the log file towards the end where terra fails.

== 2021-12-18 17:16:18,881 run.py:233 INFO running cmd: R RHOME
== 2021-12-18 17:16:18,974 run.py:623 INFO cmd "R RHOME" exited with exit code 0 and output:
/sw/eb/sw/R/4.1.2-foss-2021b/lib64/R

== 2021-12-18 17:16:18,976 filetools.py:1875 INFO Creating directory /tmp/charmichaeld/easybuild/R/4.1.2/foss-2021b/terra (parents: True, set_gid: False, sticky: False)
== 2021-12-18 17:16:18,977 run.py:233 INFO running cmd: tar xzf /sw/eb/sources/r/R/extensions/terra_1.4-11.tar.gz
== 2021-12-18 17:16:19,126 run.py:233 INFO running cmd:  R CMD INSTALL /tmp/charmichaeld/easybuild/R/4.1.2/foss-2021b/terra/terra   --library=/sw/eb/sw/R/4.1.2-foss-2021b/lib64/R/library --no-clean-on-error
== 2021-12-18 17:19:47,857 build_log.py:169 ERROR EasyBuild crashed with an error (at easybuild/base/exceptions.py:124 in __init__): cmd " R CMD INSTALL /tmp/charmichaeld/easybuild/R/4.1.2/foss-2021b/terra/terra   --library=/sw/eb/sw/R/4.1.2-foss-2021b/lib64/R/library --no-clean-on-error " exited with exit code 1 and output:
* installing *source* package terra ...
** package terra successfully unpacked and MD5 sums checked
** using staged installation
configure: CC: gcc
configure: CXX: g++
checking for gdal-config... /sw/eb/sw/GDAL/3.3.2-foss-2021.07/bin/gdal-config
checking gdal-config usability... yes
configure: GDAL: 3.3.2
checking GDAL version >= 2.0.1... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking gdal.h usability... yes
checking gdal.h presence... yes
checking for gdal.h... yes
checking GDAL: linking with --libs only... yes
checking GDAL: /sw/eb/sw/GDAL/3.3.2-foss-2021.07/share/gdal/pcs.csv readable... no
checking GDAL: checking whether PROJ is available for linking:... yes
checking GDAL: checking whether PROJ is available fur running:... yes
configure: GDAL: 3.3.2
configure: pkg-config proj exists, will use it
configure: using proj.h.
configure: PROJ: 6.2.1
checking PROJ: checking whether PROJ and sqlite3 are available for linking:... yes
./proj_conf_test: error while loading shared libraries: libproj.so.15: cannot open shared object file: No such file or directory
checking for geos-config... /sw/eb/sw/GEOS/3.9.1-GCC-11.2.0/bin/geos-config
checking geos-config usability... yes
configure: GEOS: 3.9.1
checking GEOS version >= 3.4.0... yes
checking geos_c.h usability... yes
checking geos_c.h presence... yes
checking for geos_c.h... yes
checking geos: linking with -L/sw/eb/sw/GEOS/3.9.1-GCC-11.2.0/lib -lgeos_c... yes
configure: Package CPP flags:  -I/sw/eb/sw/PROJ/6.2.1-GCCcore-8.3.0/include -DHAVE_PROJ_H -I/sw/eb/sw/GDAL/3.3.2-foss-2021.07/include -I/sw/eb/sw/GEOS/3.9.1-GCC-11.2.0/include
configure: Package LIBS: -L/sw/eb/sw/PROJ/6.2.1-GCCcore-8.3.0/lib -lproj   -L/sw/eb/sw/GDAL/3.3.2-foss-2021.07/lib -lgdal -L/sw/eb/sw/GEOS/3.9.1-GCC-11.2.0/lib -lgeos_c
configure: creating ./config.status
config.status: creating src/Makevars

g++ -std=gnu++11 -I"/sw/eb/sw/R/4.1.2-foss-2021b/lib64/R/include" -DNDEBUG -I/sw/eb/sw/PROJ/6.2.1-GCCcore-8.3.0/include -DHAVE_PROJ_H -I/sw/eb/sw/GDAL/3.3.2-foss-2021.07/include -I/sw/eb/sw/GEOS/3.9.1-GCC-11.2.0/include -I'/sw/eb/sw/R/4.1.2-foss-2021b/lib64/R/library/Rcpp/include' -I/sw/eb/sw/OpenSSL/1.1/include -I/sw/eb/sw/libgit2/1.1.1-GCCcore-11.2.0/include -I/sw/eb/sw/MPFR/4.1.0-GCCcore-11.2.0/include -I/sw/eb/sw/GDAL/3.3.2-foss-2021.07/include -I/sw/eb/sw/nodejs/14.17.6-GCCcore-11.2.0/include -I/sw/eb/sw/GLPK/5.0-GCCcore-11.2.0/include -I/sw/eb/sw/ImageMagick/7.1.0-4-GCCcore-11.2.0/include -I/sw/eb/sw/GSL/2.7-GCC-11.2.0/include -I/sw/eb/sw/UDUNITS/2.2.28-GCCcore-11.2.0/include -I/sw/eb/sw/HDF5/1.12.1-gompi-2021b/include -I/sw/eb/sw/ICU/69.1-GCCcore-11.2.0/include -I/sw/eb/sw/libsndfile/1.0.31-GCCcore-11.2.0/include -I/sw/eb/sw/FFTW/3.3.10-gompi-2021b/include -I/sw/eb/sw/NLopt/2.7.0-GCCcore-11.2.0/include -I/sw/eb/sw/GMP/6.2.1-GCCcore-11.2.0/include -I/sw/eb/sw/libxml2/2.9.10-GCCcore-11.2.0/include -I/sw/eb/sw/cURL/7.78.0-GCCcore-11.2.0/include -I/sw/eb/sw/Tk/8.6.11-GCCcore-11.2.0/include -I/sw/eb/sw/Java/11.0.2/include -I/sw/eb/sw/LibTIFF/4.3.0-GCCcore-11.2.0/include -I/sw/eb/sw/libjpeg-turbo/2.0.6-GCCcore-11.2.0/include -I/sw/eb/sw/libpng/1.6.37-GCCcore-11.2.0/include -I/sw/eb/sw/PCRE2/10.37-GCCcore-11.2.0/include -I/sw/eb/sw/SQLite/3.36-GCCcore-11.2.0/include -I/sw/eb/sw/zlib/1.2.11-GCCcore-11.2.0/include -I/sw/eb/sw/XZ/5.2.5-GCCcore-11.2.0/include -I/sw/eb/sw/bzip2/1.0.8-GCCcore-11.2.0/include -I/sw/eb/sw/ncurses/6.2-GCCcore-11.2.0/include -I/sw/eb/sw/libreadline/8.1-GCCcore-11.2.0/include -I/sw/eb/sw/cairo/1.16.0-GCCcore-11.2.0/include -I/sw/eb/sw/libGLU/9.0.2-GCCcore-11.2.0/include -I/sw/eb/sw/Mesa/21.1.7-GCCcore-11.2.0/include -I/sw/eb/sw/X11/20210802-GCCcore-11.2.0/include -I/sw/eb/sw/FlexiBLAS/3.0.4-GCC-11.2.0/include -I/sw/eb/sw/FlexiBLAS/3.0.4-GCC-11.2.0/include/flexiblas   -fpic  -O2 -ftree-vectorize -march=native -fno-math-errno  -c write_gdal.cpp -o write_gdal.o
g++ -std=gnu++11 -I"/sw/eb/sw/R/4.1.2-foss-2021b/lib64/R/include" -DNDEBUG -I/sw/eb/sw/PROJ/6.2.1-GCCcore-8.3.0/include -DHAVE_PROJ_H -I/sw/eb/sw/GDAL/3.3.2-foss-2021.07/include -I/sw/eb/sw/GEOS/3.9.1-GCC-11.2.0/include -I'/sw/eb/sw/R/4.1.2-foss-2021b/lib64/R/library/Rcpp/include' -I/sw/eb/sw/OpenSSL/1.1/include -I/sw/eb/sw/libgit2/1.1.1-GCCcore-11.2.0/include -I/sw/eb/sw/MPFR/4.1.0-GCCcore-11.2.0/include -I/sw/eb/sw/GDAL/3.3.2-foss-2021.07/include -I/sw/eb/sw/nodejs/14.17.6-GCCcore-11.2.0/include -I/sw/eb/sw/GLPK/5.0-GCCcore-11.2.0/include -I/sw/eb/sw/ImageMagick/7.1.0-4-GCCcore-11.2.0/include -I/sw/eb/sw/GSL/2.7-GCC-11.2.0/include -I/sw/eb/sw/UDUNITS/2.2.28-GCCcore-11.2.0/include -I/sw/eb/sw/HDF5/1.12.1-gompi-2021b/include -I/sw/eb/sw/ICU/69.1-GCCcore-11.2.0/include -I/sw/eb/sw/libsndfile/1.0.31-GCCcore-11.2.0/include -I/sw/eb/sw/FFTW/3.3.10-gompi-2021b/include -I/sw/eb/sw/NLopt/2.7.0-GCCcore-11.2.0/include -I/sw/eb/sw/GMP/6.2.1-GCCcore-11.2.0/include -I/sw/eb/sw/libxml2/2.9.10-GCCcore-11.2.0/include -I/sw/eb/sw/cURL/7.78.0-GCCcore-11.2.0/include -I/sw/eb/sw/Tk/8.6.11-GCCcore-11.2.0/include -I/sw/eb/sw/Java/11.0.2/include -I/sw/eb/sw/LibTIFF/4.3.0-GCCcore-11.2.0/include -I/sw/eb/sw/libjpeg-turbo/2.0.6-GCCcore-11.2.0/include -I/sw/eb/sw/libpng/1.6.37-GCCcore-11.2.0/include -I/sw/eb/sw/PCRE2/10.37-GCCcore-11.2.0/include -I/sw/eb/sw/SQLite/3.36-GCCcore-11.2.0/include -I/sw/eb/sw/zlib/1.2.11-GCCcore-11.2.0/include -I/sw/eb/sw/XZ/5.2.5-GCCcore-11.2.0/include -I/sw/eb/sw/bzip2/1.0.8-GCCcore-11.2.0/include -I/sw/eb/sw/ncurses/6.2-GCCcore-11.2.0/include -I/sw/eb/sw/libreadline/8.1-GCCcore-11.2.0/include -I/sw/eb/sw/cairo/1.16.0-GCCcore-11.2.0/include -I/sw/eb/sw/libGLU/9.0.2-GCCcore-11.2.0/include -I/sw/eb/sw/Mesa/21.1.7-GCCcore-11.2.0/include -I/sw/eb/sw/X11/20210802-GCCcore-11.2.0/include -I/sw/eb/sw/FlexiBLAS/3.0.4-GCC-11.2.0/include -I/sw/eb/sw/FlexiBLAS/3.0.4-GCC-11.2.0/include/flexiblas   -fpic  -O2 -ftree-vectorize -march=native -fno-math-errno  -c write_ogr.cpp -o write_ogr.o
g++ -std=gnu++11 -shared -L/sw/eb/sw/R/4.1.2-foss-2021b/lib64/R/lib -L/sw/eb/sw/OpenSSL/1.1/lib64 -L/sw/eb/sw/OpenSSL/1.1/lib -L/sw/eb/sw/libgit2/1.1.1-GCCcore-11.2.0/lib64 -L/sw/eb/sw/libgit2/1.1.1-GCCcore-11.2.0/lib -L/sw/eb/sw/MPFR/4.1.0-GCCcore-11.2.0/lib64 -L/sw/eb/sw/MPFR/4.1.0-GCCcore-11.2.0/lib -L/sw/eb/sw/GDAL/3.3.2-foss-2021.07/lib64 -L/sw/eb/sw/GDAL/3.3.2-foss-2021.07/lib -L/sw/eb/sw/nodejs/14.17.6-GCCcore-11.2.0/lib64 -L/sw/eb/sw/nodejs/14.17.6-GCCcore-11.2.0/lib -L/sw/eb/sw/GLPK/5.0-GCCcore-11.2.0/lib64 -L/sw/eb/sw/GLPK/5.0-GCCcore-11.2.0/lib -L/sw/eb/sw/ImageMagick/7.1.0-4-GCCcore-11.2.0/lib64 -L/sw/eb/sw/ImageMagick/7.1.0-4-GCCcore-11.2.0/lib -L/sw/eb/sw/GSL/2.7-GCC-11.2.0/lib64 -L/sw/eb/sw/GSL/2.7-GCC-11.2.0/lib -L/sw/eb/sw/UDUNITS/2.2.28-GCCcore-11.2.0/lib64 -L/sw/eb/sw/UDUNITS/2.2.28-GCCcore-11.2.0/lib -L/sw/eb/sw/HDF5/1.12.1-gompi-2021b/lib64 -L/sw/eb/sw/HDF5/1.12.1-gompi-2021b/lib -L/sw/eb/sw/ICU/69.1-GCCcore-11.2.0/lib64 -L/sw/eb/sw/ICU/69.1-GCCcore-11.2.0/lib -L/sw/eb/sw/libsndfile/1.0.31-GCCcore-11.2.0/lib64 -L/sw/eb/sw/libsndfile/1.0.31-GCCcore-11.2.0/lib -L/sw/eb/sw/FFTW/3.3.10-gompi-2021b/lib64 -L/sw/eb/sw/FFTW/3.3.10-gompi-2021b/lib -L/sw/eb/sw/NLopt/2.7.0-GCCcore-11.2.0/lib64 -L/sw/eb/sw/NLopt/2.7.0-GCCcore-11.2.0/lib -L/sw/eb/sw/GMP/6.2.1-GCCcore-11.2.0/lib64 -L/sw/eb/sw/GMP/6.2.1-GCCcore-11.2.0/lib -L/sw/eb/sw/libxml2/2.9.10-GCCcore-11.2.0/lib64 -L/sw/eb/sw/libxml2/2.9.10-GCCcore-11.2.0/lib -L/sw/eb/sw/cURL/7.78.0-GCCcore-11.2.0/lib64 -L/sw/eb/sw/cURL/7.78.0-GCCcore-11.2.0/lib -L/sw/eb/sw/Tk/8.6.11-GCCcore-11.2.0/lib64 -L/sw/eb/sw/Tk/8.6.11-GCCcore-11.2.0/lib -L/sw/eb/sw/Java/11.0.2/lib64 -L/sw/eb/sw/Java/11.0.2/lib -L/sw/eb/sw/LibTIFF/4.3.0-GCCcore-11.2.0/lib64 -L/sw/eb/sw/LibTIFF/4.3.0-GCCcore-11.2.0/lib -L/sw/eb/sw/libjpeg-turbo/2.0.6-GCCcore-11.2.0/lib64 -L/sw/eb/sw/libjpeg-turbo/2.0.6-GCCcore-11.2.0/lib -L/sw/eb/sw/libpng/1.6.37-GCCcore-11.2.0/lib64 -L/sw/eb/sw/libpng/1.6.37-GCCcore-11.2.0/lib -L/sw/eb/sw/PCRE2/10.37-GCCcore-11.2.0/lib64 -L/sw/eb/sw/PCRE2/10.37-GCCcore-11.2.0/lib -L/sw/eb/sw/SQLite/3.36-GCCcore-11.2.0/lib64 -L/sw/eb/sw/SQLite/3.36-GCCcore-11.2.0/lib -L/sw/eb/sw/zlib/1.2.11-GCCcore-11.2.0/lib64 -L/sw/eb/sw/zlib/1.2.11-GCCcore-11.2.0/lib -L/sw/eb/sw/XZ/5.2.5-GCCcore-11.2.0/lib64 -L/sw/eb/sw/XZ/5.2.5-GCCcore-11.2.0/lib -L/sw/eb/sw/bzip2/1.0.8-GCCcore-11.2.0/lib64 -L/sw/eb/sw/bzip2/1.0.8-GCCcore-11.2.0/lib -L/sw/eb/sw/ncurses/6.2-GCCcore-11.2.0/lib64 -L/sw/eb/sw/ncurses/6.2-GCCcore-11.2.0/lib -L/sw/eb/sw/libreadline/8.1-GCCcore-11.2.0/lib64 -L/sw/eb/sw/libreadline/8.1-GCCcore-11.2.0/lib -L/sw/eb/sw/cairo/1.16.0-GCCcore-11.2.0/lib64 -L/sw/eb/sw/cairo/1.16.0-GCCcore-11.2.0/lib -L/sw/eb/sw/libGLU/9.0.2-GCCcore-11.2.0/lib64 -L/sw/eb/sw/libGLU/9.0.2-GCCcore-11.2.0/lib -L/sw/eb/sw/Mesa/21.1.7-GCCcore-11.2.0/lib64 -L/sw/eb/sw/Mesa/21.1.7-GCCcore-11.2.0/lib -L/sw/eb/sw/X11/20210802-GCCcore-11.2.0/lib64 -L/sw/eb/sw/X11/20210802-GCCcore-11.2.0/lib -L/sw/eb/sw/Xvfb/1.20.13-GCCcore-11.2.0/lib64 -L/sw/eb/sw/Xvfb/1.20.13-GCCcore-11.2.0/lib -L/sw/eb/sw/ScaLAPACK/2.1.0-gompi-2021b-fb/lib64 -L/sw/eb/sw/ScaLAPACK/2.1.0-gompi-2021b-fb/lib -L/sw/eb/sw/FlexiBLAS/3.0.4-GCC-11.2.0/lib64 -L/sw/eb/sw/FlexiBLAS/3.0.4-GCC-11.2.0/lib -L/sw/eb/sw/GCCcore/11.2.0/lib64 -L/sw/eb/sw/GCCcore/11.2.0/lib -o terra.so RcppExports.o RcppFunctions.o RcppModule.o arith.o crs.o distRaster.o distance.o extract.o file_utils.o focal.o gcp.o gdal_algs.o gdal_multidimensional.o gdalio.o geos_methods.o graticule.o math_utils.o mediancut.o memory.o ncdf.o ram.o raster_methods.o raster_stats.o rasterize.o read.o read_gdal.o read_ogr.o sample.o spatBase.o spatDataframe.o spatRaster.o spatSources.o spatTime.o spatVector.o string_utils.o vecmath.o vector_methods.o write.o write_gdal.o write_ogr.o -L/sw/eb/sw/PROJ/6.2.1-GCCcore-8.3.0/lib -lproj -L/sw/eb/sw/GDAL/3.3.2-foss-2021.07/lib -lgdal -L/sw/eb/sw/GEOS/3.9.1-GCC-11.2.0/lib -lgeos_c -L/sw/eb/sw/R/4.1.2-foss-2021b/lib64/R/lib -lR
installing to /sw/eb/sw/R/4.1.2-foss-2021b/lib64/R/library/00LOCK-terra/00new/terra/libs
** R
** inst
** byte-compile and prepare package for lazy loading
Note: in method for expand with signature x="ANY": expanding the
signature to include omitted arguments in definition: x = "missing"
in method for coerce with signature "SpatRaster","Raster": no definition for class Raster
in method for coerce with signature "Raster","SpatRaster": no definition for class Raster
in method for coerce with signature "sf","SpatVector": no definition for class sf
in method for coerce with signature "sfc","SpatVector": no definition for class sfc
in method for coerce with signature "sfg","SpatVector": no definition for class sfg
in method for coerce with signature "XY","SpatVector": no definition for class XY
in method for coerce with signature "im","SpatRaster": no definition for class im
in method for coerce with signature "SpatVector","Spatial": no definition for class Spatial
in method for coerce with signature "Spatial","SpatVector": no definition for class Spatial
Creating a generic function for ncol from package base in package terra
in method for ext with signature x="sf": no definition for class sf
in method for ext with signature x="Extent": no definition for class Extent
in method for ext with signature x="Raster": no definition for class Raster
in method for ext with signature x="Spatial": no definition for class Spatial
in method for wrap with signature x="Spatial": no definition for class Spatial
in method for show with signature "Rcpp_SpatDataFrame": no definition for class Rcpp_SpatDataFrame
in method for show with signature "Rcpp_SpatCategories": no definition for class Rcpp_SpatCategories
in method for geomtype with signature x="Spatial": no definition for class Spatial
in method for vect with signature x="Spatial": no definition for class Spatial
in method for vect with signature x="sf": no definition for class sf
in method for vect with signature x="sfc": no definition for class sfc
in method for vect with signature x="XY": no definition for class XY

** help
*** installing help indices
*** copying figures
** building package indices
** testing if installed package can be loaded from temporary location
Error: package or namespace load failed for terra in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/sw/eb/sw/R/4.1.2-foss-2021b/lib64/R/library/00LOCK-terra/00new/terra/libs/terra.so':
  libproj.so.15: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed
 (at easybuild/tools/run.py:618 in parse_cmd_output)
== 2021-12-18 17:19:47,858 build_log.py:265 INFO        ... (took 3 mins 29 secs)
== 2021-12-18 17:19:47,858 build_log.py:265 INFO ... (took 1 hour 29 mins 42 secs)
== 2021-12-18 17:19:47,859 filetools.py:1976 INFO Removing lock /sw/eb/sw/.locks/_sw_eb_sw_R_4.1.2-foss-2021b.lock...
== 2021-12-18 17:19:47,861 filetools.py:380 INFO Path /sw/eb/sw/.locks/_sw_eb_sw_R_4.1.2-foss-2021b.lock successfully removed.
== 2021-12-18 17:19:47,861 filetools.py:1980 INFO Lock removed: /sw/eb/sw/.locks/_sw_eb_sw_R_4.1.2-foss-2021b.lock
== 2021-12-18 17:19:47,861 easyblock.py:4032 WARNING build failed (first 300 chars): cmd " R CMD INSTALL /tmp/charmichaeld/easybuild/R/4.1.2/foss-2021b/terra/terra   --library=/sw/eb/sw/R/4.1.2-foss-2021b/lib64/R/library --no-clean-on-error " exited with exit code 1 and output:
* installing *source* package terra ...
** package terra successfully unpacked and MD5 sums checked
** using
== 2021-12-18 17:19:47,861 easyblock.py:318 INFO Closing log for application name R version 4.1.2
branfosj commented 2 years ago
configure: Package LIBS: -L/sw/eb/sw/PROJ/6.2.1-GCCcore-8.3.0/lib -lproj   -L/sw/eb/sw/GDAL/3.3.2-foss-2021.07/lib -lgdal -L/sw/eb/sw/GEOS/3.9.1-GCC-11.2.0/lib -lgeos_c

Somehow PROJ 6.2.1, built with GCCcore 8.3.0, and GDAL 3.3.2, built with the interim foss 2021.07, are being pulled in here. Something odd is going on with the module loading of the dependencies.

What happens if you try various module load, module avail, module spider for PROJ and GDAL? It looks like the wrong modules get loaded - can you recreate the wrong modules getting loaded?

charmichaeld commented 2 years ago

I've tried loading GDAL and looking at module avail for PROJ but there is no sign of PROJ/6.2.1 I change the R-4.1.2-foss-2021b.eb easyconfig to use the foss/2021a toolchain and changed the toolchain dependencies accordingly but it still fails at the terra package due to trying to use PROJ/6.2.1 with GCCcore 8.3.0

== 2022-01-06 13:29:09,283 run.py:233 INFO running cmd:  R CMD INSTALL /tmp/cmdickens/easybuild/R/4.1.2/foss-2021a/terra/terra   --library=/sw/eb/sw/R/4.1.2-foss-2021a/lib64/R/library --no-clean-on-error
== 2022-01-06 13:32:45,901 build_log.py:169 ERROR EasyBuild crashed with an error (at easybuild/base/exceptions.py:124 in __init__): cmd " R CMD INSTALL /tmp/cmdickens/easybuild/R/4.1.2/foss-2021a/terra/terra   --library=/sw/eb/sw/R/4.1.2-foss-2021a/lib64/R/library --no-clean-on-error " exited with exit code 1 and output:
* installing *source* package terra ...
** package terra successfully unpacked and MD5 sums checked
** using staged installation
configure: CC: gcc
configure: CXX: g++
checking for gdal-config... /sw/eb/sw/GDAL/3.3.0-foss-2021a/bin/gdal-config
checking gdal-config usability... yes
configure: GDAL: 3.3.0
checking GDAL version >= 2.0.1... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking gdal.h usability... yes
checking gdal.h presence... yes
checking for gdal.h... yes
checking GDAL: linking with --libs only... yes
checking GDAL: /sw/eb/sw/GDAL/3.3.0-foss-2021a/share/gdal/pcs.csv readable... no
checking GDAL: checking whether PROJ is available for linking:... yes
checking GDAL: checking whether PROJ is available fur running:... yes
configure: GDAL: 3.3.0
configure: pkg-config proj exists, will use it
configure: using proj.h.
configure: PROJ: 6.2.1
checking PROJ: checking whether PROJ and sqlite3 are available for linking:... yes
./proj_conf_test: error while loading shared libraries: libproj.so.15: cannot open shared object file: No such file or directory
checking for geos-config... /sw/eb/sw/GEOS/3.9.1-GCC-10.3.0/bin/geos-config
checking geos-config usability... yes
configure: GEOS: 3.9.1
checking GEOS version >= 3.4.0... yes
checking geos_c.h usability... yes
checking geos_c.h presence... yes
checking for geos_c.h... yes
checking geos: linking with -L/sw/eb/sw/GEOS/3.9.1-GCC-10.3.0/lib -lgeos_c... yes
configure: Package CPP flags:  -I/sw/eb/sw/PROJ/6.2.1-GCCcore-8.3.0/include -DHAVE_PROJ_H -I/sw/eb/sw/GDAL/3.3.0-foss-2021a/include -I/sw/eb/sw/GEOS/3.9.1-GCC-10.3.0/include
configure: Package LIBS: -L/sw/eb/sw/PROJ/6.2.1-GCCcore-8.3.0/lib -lproj   -L/sw/eb/sw/GDAL/3.3.0-foss-2021a/lib -lgdal -L/sw/eb/sw/GEOS/3.9.1-GCC-10.3.0/lib -lgeos_c
charmichaeld commented 2 years ago

I managed to get terra installed by adding proj in installopts and PROJ/6.2.1 is not showing up in the install log anymore:

('terra', '1.4-11', {
   'installopts': '--configure-args="--with-proj-include=$EBROOTPROJ/include --with-proj-data=$EBROOTPROJ/share/proj --with-proj-lib=$EBROOTPROJ/lib"',
   'checksums': ['0a8fc0deffd4f2d0065ac6b70ae5cda079a38fe86e40861df94d01d01412fd21'],
}),

but now rgl is failing installing extension rgl 0.107.14 (387/1033)...

conftest.c:9:10: fatal error: ac_nonexistent.h: No such file or directory                                                              
    9 | #include <ac_nonexistent.h> 

I tried using the latest version of rgl 0.108.3 but get the same error message.

charmichaeld commented 2 years ago

R-4.1.2-foss-2021b.eb installed successfully by adding installopts to the following

    ('nloptr', '1.2.2.2', {
        'installopts': '--configure-args="--with-nlopt-cflags=$EBROOTNLOPT/include --with-nlopt-lib=$EBROOTNLOPT/lib"',
        'checksums': ['e80ea9619ac18f4bfe44812198b40b9ae5c0ddf3f9cc91778f9ccc82168d1372'],
    }),
    ('terra', '1.4-11', {
        'installopts': '--configure-args="--with-proj-include=$EBROOTPROJ/include --with-proj-data=$EBROOTPROJ/share/proj --with-proj-lib=$EBROOTPROJ/lib"',
        'checksums': ['0a8fc0deffd4f2d0065ac6b70ae5cda079a38fe86e40861df94d01d01412fd21'],
    }),
    ('sf', '1.0-3', {
        'installopts': '--configure-args="--with-proj-include=$EBROOTPROJ/include --with-proj-data=$EBROOTPROJ/share/proj --with-proj-lib=$EBROOTPROJ/lib"',
        'checksums': ['2ee3ece4e5056fe267d76a785912a2285ddfc235b1be67b4c21b74dc39a831f8'],
    }),
    ('rgdal', '1.5-27', {
        'installopts': '--configure-args="--host=host --with-proj-include=$EBROOTPROJ/include --with-proj-data=$EBROOTPROJ/share/proj --with-proj-lib=$EBROOTPROJ/lib"',
        'checksums': ['62a555ed7b5424dd0252b3764e3542fb30c524d06e8245215bcfaedd84ee5756'],
    }),
    ('lwgeom', '0.2-8', {
        'installopts': '--configure-args="--with-proj-include=$EBROOTPROJ/include --with-proj-data=$EBROOTPROJ/share/proj --with-proj-lib=$EBROOTPROJ/lib"',
        'checksums': ['f48a92de222da0590b37a30d5cbf2364555044a842795f6b488afecc650b8b34'],
    }),
    ('rgl', '0.107.14', {
        'installopts': '--no-vignettes',
        'checksums': ['67213c3215bcadb56e15922fbf0dc7f6a6642cc3d924363dcb1705291727b0fc'],
    }),