簡體   English   中英

錯誤:“sf”的 package 或命名空間加載失敗

[英]Error: package or namespace load failed for ‘sf’

我正在嘗試安裝 package sf,但沒有成功。

首先,我認為問題與 GDAL、GEOS 和 PROJ 庫有關,但它們都已安裝並被安裝過程識別,如下所示:

install.packages("sf")
Installing package into ‘/home/aliton/R/x86_64-pc-linux-gnu-library/3.6’
(as ‘lib’ is unspecified)
trying URL 'https://cloud.r-project.org/src/contrib/sf_0.9-8.tar.gz'
Content type 'application/x-gzip' length 4213253 bytes (4.0 MB)
==================================================
downloaded 4.0 MB

* installing *source* package ‘sf’ ...
** package ‘sf’ successfully unpacked and MD5 sums checked
** using staged installation
configure: CC: gcc -std=gnu99
configure: CXX: g++ -std=gnu++11
checking for gdal-config... /usr/local/bin/gdal-config
checking gdal-config usability... yes
configure: GDAL: 2.0.1
checking GDAL version >= 2.0.1... yes
checking for gcc... gcc -std=gnu99
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 -std=gnu99 accepts -g... yes
checking for gcc -std=gnu99 option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -std=gnu99 -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /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: /usr/local/share/gdal/pcs.csv readable... yes
checking GDAL: checking whether PROJ is available for linking:... yes
checking GDAL: checking whether PROJ is available fur running:... yes
configure: GDAL: 2.0.1
checking proj.h usability... no
checking proj.h presence... no
checking for proj.h... no
checking proj_api.h usability... yes
checking proj_api.h presence... yes
checking for proj_api.h... yes
checking for pj_init_plus in -lproj... yes
checking PROJ: epsg found and readable... yes
checking for geos-config... /usr/bin/geos-config
checking geos-config usability... yes
configure: GEOS: 3.4.2
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/usr/lib -lgeos_c... yes
configure: Package CPP flags:   -I/usr/local/include -I/usr/include
configure: Package LIBS:  -L/usr/local/lib -lgdal -lproj  -L/usr/local/lib -lgdal -L/usr/lib -lgeos_c
configure: creating ./config.status
config.status: creating src/Makevars
** libs
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c RcppExports.cpp -o RcppExports.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c bbox.cpp -o bbox.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c gdal.cpp -o gdal.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c gdal_geom.cpp -o gdal_geom.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c gdal_read.cpp -o gdal_read.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c gdal_utils.cpp -o gdal_utils.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c gdal_write.cpp -o gdal_write.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c geos.cpp -o geos.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c hex.cpp -o hex.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c ops.cpp -o ops.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c polygonize.cpp -o polygonize.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c proj.cpp -o proj.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c proj_info.cpp -o proj_info.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c raster2sf.cpp -o raster2sf.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c sfg.cpp -o sfg.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c signed_area.cpp -o signed_area.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c stars.cpp -o stars.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c wkb.cpp -o wkb.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I/usr/local/include -I/usr/include -I"/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include"   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c zm_range.cpp -o zm_range.o
g++ -std=gnu++11 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o sf.so RcppExports.o bbox.o gdal.o gdal_geom.o gdal_read.o gdal_utils.o gdal_write.o geos.o hex.o ops.o polygonize.o proj.o proj_info.o raster2sf.o sfg.o signed_area.o stars.o wkb.o zm_range.o -L/usr/local/lib -lgdal -lproj -L/usr/local/lib -lgdal -L/usr/lib -lgeos_c -L/usr/lib/R/lib -lR
installing to /home/aliton/R/x86_64-pc-linux-gnu-library/3.6/00LOCK-sf/00new/sf/libs
** R
** demo
** inst
** byte-compile and prepare package for lazy loading
in method for ‘dbWriteTable’ with signature ‘"PostgreSQLConnection","character","sf"’: no definition for class “PostgreSQLConnection”
in method for ‘dbDataType’ with signature ‘"PostgreSQLConnection","sf"’: no definition for class “PostgreSQLConnection”
in method for ‘coerce’ with signature ‘"Spatial","sf"’: no definition for class “Spatial”
in method for ‘coerce’ with signature ‘"Spatial","sfc"’: no definition for class “Spatial”
in method for ‘coerce’ with signature ‘"sf","Spatial"’: no definition for class “Spatial”
in method for ‘coerce’ with signature ‘"sfc","Spatial"’: no definition for class “Spatial”
in method for ‘coerce’ with signature ‘"XY","Spatial"’: no definition for class “Spatial”
in method for ‘coerce’ with signature ‘"crs","CRS"’: no definition for class “CRS”
** help
*** installing help indices
*** copying figures
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
Error: package or namespace load failed for ‘sf’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/00LOCK-sf/00new/sf/libs/sf.so':
  /home/aliton/R/x86_64-pc-linux-gnu-library/3.6/00LOCK-sf/00new/sf/libs/sf.so: undefined symbol: _Z17CPL_gdalrasterizeN4Rcpp6VectorILi16ENS_15PreserveStorageEEES2_S2_S2_S2_bb
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/sf’
Warning in install.packages :
  installation of package ‘sf’ had non-zero exit status

The downloaded source packages are in
    ‘/tmp/RtmpLiPeTF/downloaded_packages’

它似乎無法加載本身應該創建的臨時文件( sf.so )。

─ Session info ─────────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 3.6.3 (2020-02-29)
 os       Ubuntu 14.04.5 LTS          
 system   x86_64, linux-gnu           
 ui       RStudio                     
 language en_US                       
 collate  en_US.UTF-8                 
 ctype    en_US.UTF-8                 
 tz       America/Maceio              
 date     2021-04-16

如何讓它發揮作用? 我很感激任何幫助。

附加信息

我安裝了rgdal package,它還顯示 GDAL 已安裝並與 GEOS 鏈接。

library(rgdal)
Loading required package: sp
rgdal: version: 1.5-23, (SVN revision 1121)
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 2.0.1, released 2015/09/15
Path to GDAL shared files: /usr/local/share/gdal
GDAL binary built with GEOS: TRUE 
Loaded PROJ runtime: Rel. 4.8.0, 6 March 2012, [PJ_VERSION: 480]
Path to PROJ shared files: (autodetected)
Linking to sp version:1.4-5

我不知道如何驗證我安裝了多少個 GDAL、GEOS 和/或 PROJ 版本,但似乎我安裝了多個版本,這可能是導致問題的原因。 我在 github 問題#815上找到了這個命令

aliton@aliton:/usr/share/proj$ ldconfig -p | grep gdal
    libgdal.so.20 (libc6,x86-64) => /usr/local/lib/libgdal.so.20
    libgdal.so.1 (libc6,x86-64) => /usr/lib/libgdal.so.1
    libgdal.so (libc6,x86-64) => /usr/local/lib/libgdal.so
    libgdal.so (libc6,x86-64) => /usr/lib/libgdal.so
aliton@aliton:/usr/share/proj$ ldconfig -p | grep geos
    libgeos_c.so.1 (libc6,x86-64) => /usr/lib/libgeos_c.so.1
    libgeos_c.so (libc6,x86-64) => /usr/lib/libgeos_c.so
    libgeos-3.4.2.so (libc6,x86-64) => /usr/lib/libgeos-3.4.2.so

在完成安裝並出現錯誤之前,我復制了整個“sf”文件夾並輸入了以下命令:

aliton@aliton:~$ ldd /home/aliton/installers/00LOCK-sf/00new/sf/libs/sf.so
    linux-vdso.so.1 =>  (0x00007fff7c632000)
    libgdal.so.20 => /usr/local/lib/libgdal.so.20 (0x00007fe196e10000)
    libproj.so.0 => /usr/lib/libproj.so.0 (0x00007fe196bbe000)
    libgeos_c.so.1 => /usr/lib/libgeos_c.so.1 (0x00007fe19699a000)
    libR.so => /usr/lib/libR.so (0x00007fe19631a000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe196004000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe195cfe000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe195ae5000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe19571c000)
    libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007fe195463000)
    libodbc.so.1 => /usr/lib/x86_64-linux-gnu/libodbc.so.1 (0x00007fe1951fb000)
    libodbcinst.so.1 => /usr/lib/x86_64-linux-gnu/libodbcinst.so.1 (0x00007fe194fe9000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fe194dbf000)
    libxerces-c-3.1.so => /usr/lib/x86_64-linux-gnu/libxerces-c-3.1.so (0x00007fe194836000)
    libjasper.so.1 => /usr/lib/x86_64-linux-gnu/libjasper.so.1 (0x00007fe1945de000)
    libnetcdf.so.7 => /usr/lib/libnetcdf.so.7 (0x00007fe1942a1000)
    libhdf5.so.7 => /usr/lib/x86_64-linux-gnu/libhdf5.so.7 (0x00007fe193e0c000)
    libmfhdfalt.so.0 => /usr/lib/libmfhdfalt.so.0 (0x00007fe193bdb000)
    libdfalt.so.0 => /usr/lib/libdfalt.so.0 (0x00007fe1938f5000)
    libgif.so.4 => /usr/lib/x86_64-linux-gnu/libgif.so.4 (0x00007fe1936eb000)
    libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007fe193496000)
    libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5 (0x00007fe193223000)
    libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007fe192ffc000)
    libpq.so.5 => /usr/lib/libpq.so.5 (0x00007fe192dcd000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe192bb4000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe192995000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe192791000)
    libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fe192553000)
    libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007fe1922f0000)
    libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007fe191f89000)
    libgeos-3.4.2.so => /usr/lib/libgeos-3.4.2.so (0x00007fe191c04000)
    libblas.so.3 => /usr/lib/libblas.so.3 (0x00007fe191638000)
    libreadline.so.6 => /lib/x86_64-linux-gnu/libreadline.so.6 (0x00007fe1913f2000)
    liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fe1911cf000)
    libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007fe190fbf000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe190db7000)
    libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007fe190b87000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fe1980d2000)
    libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7 (0x00007fe19097d000)
    libhdf5_hl.so.7 => /usr/lib/x86_64-linux-gnu/libhdf5_hl.so.7 (0x00007fe19074c000)
    libjbig.so.0 => /usr/lib/x86_64-linux-gnu/libjbig.so.0 (0x00007fe19053e000)
    libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fe1902de000)
    libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fe18ff02000)
    libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fe18fc37000)
    libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fe18fa32000)
    libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fe18f7eb000)
    libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007fe18f59a000)
    libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007fe18f366000)
    librtmp.so.0 => /usr/lib/x86_64-linux-gnu/librtmp.so.0 (0x00007fe18f14c000)
    libgcrypt.so.11 => /lib/x86_64-linux-gnu/libgcrypt.so.11 (0x00007fe18eecc000)
    libgnutls.so.26 => /usr/lib/x86_64-linux-gnu/libgnutls.so.26 (0x00007fe18ec0c000)
    liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007fe18e9fd000)
    libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007fe18e6d5000)
    libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007fe18e4ac000)
    libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fe18e27c000)
    libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fe18e071000)
    libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fe18de6d000)
    libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fe18dc51000)
    libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fe18da36000)
    libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007fe18d7f8000)
    libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007fe18d5f2000)
    libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fe18d3de000)
    libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fe18d19b000)
    libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007fe18cf5b000)
    libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007fe18cd51000)
    libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007fe18cac9000)
    libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007fe18c828000)
    libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007fe18c5f4000)
    libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007fe18c3df000)
    libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007fe18c1d7000)
    libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007fe18bfad000)
    libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007fe18bd9f000)
    libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007fe18bb56000)
    libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fe18b91c000)

不知何故,我設法使用以下命令識別了兩個版本的 GDAL:

aliton@aliton:~$ locate gdal-config
/usr/bin/gdal-config
/usr/local/bin/gdal-config
/usr/share/man/man1/gdal-config.1.gz

其中/usr/bin/gdal-config1.10.1 版/usr/local/bin/gdal-config2.0.1 版

> install.packages("sf", configure.args = "--with-gdal-config=/usr/bin/gdal-config")
Installing package into ‘/home/aliton/R/x86_64-pc-linux-gnu-library/3.6’
(as ‘lib’ is unspecified)
trying URL 'https://cloud.r-project.org/src/contrib/sf_0.9-8.tar.gz'
Content type 'application/x-gzip' length 4213253 bytes (4.0 MB)
==================================================
downloaded 4.0 MB

* installing *source* package ‘sf’ ...
** package ‘sf’ successfully unpacked and MD5 sums checked
** using staged installation
configure: CC: gcc -std=gnu99
configure: CXX: g++ -std=gnu++11
configure: gdal-config set to /usr/bin/gdal-config
checking gdal-config exists... yes
checking gdal-config executable... yes
checking gdal-config usability... yes
configure: GDAL: 1.10.1
checking GDAL version >= 2.0.1... no
configure: error: sf is not compatible with GDAL versions below 2.0.1
ERROR: configuration failed for package ‘sf’
* removing ‘/home/aliton/R/x86_64-pc-linux-gnu-library/3.6/sf’
Warning in install.packages :
  installation of package ‘sf’ had non-zero exit status

The downloaded source packages are in
    ‘/tmp/RtmplreAgs/downloaded_packages’

我還找到了一種在/usr/local/lib/libgdal.so中查找符號的方法,並且確實沒有名為_Z17CPL_gdalrasterizeN4Rcpp6VectorILi16ENS_15PreserveStorageEEES2_S2_S2_S2_bb的符號。

我發現的唯一類似的符號是:

aliton@aliton:~$ nm -g /usr/local/lib/libgdal.so | grep _Z17CPL
000000000070e710 T _Z17CPLHaveRuntimeAVXv
000000000070e700 T _Z17CPLHaveRuntimeSSEv
000000000042e8e0 T _Z17CPLHTTPFetchMultiP14CPLHTTPRequestiPKPKc
00000000006cc240 T _Z17CPLHTTPSetOptionsPvPPc
00000000006d67d0 T _Z17CPLReinitAllMutexv

相比:

aliton@aliton:~$ nm -g /home/aliton/installers/00LOCK-sf/00new/sf/libs/sf.so | grep _Z17CPL
000000000004e0f0 T _Z17CPL_gdalnearblackN4Rcpp6VectorILi16ENS_15PreserveStorageEEES2_S2_S2_S2_
                 U _Z17CPL_gdalnearblackN4Rcpp6VectorILi16ENS_15PreserveStorageEEES2_S2_S2_S2_b
000000000004e0a0 T _Z17CPL_gdalrasterizeN4Rcpp6VectorILi16ENS_15PreserveStorageEEES2_S2_S2_S2_b
                 U _Z17CPL_gdalrasterizeN4Rcpp6VectorILi16ENS_15PreserveStorageEEES2_S2_S2_S2_bb
000000000004e0b0 T _Z17CPL_gdaltranslateN4Rcpp6VectorILi16ENS_15PreserveStorageEEES2_S2_S2_
                 U _Z17CPL_gdaltranslateN4Rcpp6VectorILi16ENS_15PreserveStorageEEES2_S2_S2_b
0000000000055cd0 T _Z17CPL_geos_is_emptyN4Rcpp6VectorILi19ENS_15PreserveStorageEEE
00000000000558d0 T _Z17CPL_geos_is_validN4Rcpp6VectorILi19ENS_15PreserveStorageEEEb
0000000000064e00 T _Z17CPL_get_pipelinesN4Rcpp6VectorILi16ENS_15PreserveStorageEEES2_NS0_ILi14ES1_EES2_S2_dbb
00000000000643b0 T _Z17CPL_proj_is_validSs
0000000000041a80 T _Z17CPL_wrap_datelineN4Rcpp6VectorILi19ENS_15PreserveStorageEEENS0_ILi16ES1_EEb

我遇到了和你一樣的問題。 我找到的解決方案是重新啟動 R 並運行以下命令(可能在刪除 SF 包之后):

install.packages("Rcpp")
library(Rcpp)
install.packages("sf")
library(sf)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM