2

我正在尝试安装 rgeos 包(和 rgdal)包。我有一个运行 os x 10.7.1 的 macbook pro,我有最新版本的 R,2.13.1。我正在遵循该站点的说明:http: //lostingeospace.blogspot.com/2011/08/rgeos-on-macos-x.html

我已经从http://www.kyngchaos.com/software:frameworks安装了最新的 GDAL 完整框架 1.8,并从 CRAN 下载了源文件 rgeos_0.1-8.tar.gz。

在终端中,我按照说明输入以下内容:

R64 CMD INSTALL /Users/Pascal/Downloads/rgeos_0.1-8.tar.gz --configure-args='--with-geos-config=/Library/Frameworks/GEOS.framework/unix/bin/geos-config'

为了彻底,这里是整个输出:

    * installing to library ‘/Users/Pascal/Library/R/2.13/library’
* installing *source* package ‘rgeos’ ...
geos-config: /Library/Frameworks/GEOS.framework/unix/bin/geos-config
GEOS: 3.3.0
CPPFLAGS: -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include
LIBS: -L/Library/Frameworks/GEOS.framework/Versions/3/unix/lib -lgeos
configure: creating ./config.status
config.status: creating src/Makevars
** libs
*** arch - x86_64
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c gpc_geos.c -o gpc_geos.o
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c init.c -o init.o
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c local_stubs.c -o local_stubs.o
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c rgeos.c -o rgeos.o
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c rgeos_R2geos.c -o rgeos_R2geos.o
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c rgeos_bbox.c -o rgeos_bbox.o
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c rgeos_buffer.c -o rgeos_buffer.o
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c rgeos_coord.c -o rgeos_coord.o
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c rgeos_geos2R.c -o rgeos_geos2R.o
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c rgeos_misc.c -o rgeos_misc.o
rgeos_misc.c: In function ‘rgeos_area’:
rgeos_misc.c:5: warning: passing argument 4 of ‘rgeos_miscfunc’ from incompatible pointer type
rgeos_misc.c: In function ‘rgeos_length’:
rgeos_misc.c:9: warning: passing argument 4 of ‘rgeos_miscfunc’ from incompatible pointer type
rgeos_misc.c: In function ‘rgeos_distance’:
rgeos_misc.c:51: warning: passing argument 5 of ‘rgeos_distancefunc’ from incompatible pointer type
rgeos_misc.c: In function ‘rgeos_hausdorffdistance’:
rgeos_misc.c:55: warning: passing argument 5 of ‘rgeos_distancefunc’ from incompatible pointer type
rgeos_misc.c: In function ‘rgeos_hausdorffdistancedensify’:
rgeos_misc.c:137: warning: passing argument 6 of ‘rgeos_distancedensifyfunc’ from incompatible pointer type
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c rgeos_poly2nb.c -o rgeos_poly2nb.o
rgeos_poly2nb.c: In function ‘cb’:
rgeos_poly2nb.c:11: warning: cast from pointer to integer of different size
rgeos_poly2nb.c: In function ‘rgeos_poly_findInBox’:
rgeos_poly2nb.c:53: warning: cast to pointer from integer of different size
rgeos_poly2nb.c:62: warning: passing argument 4 of ‘GEOSSTRtree_query_r’ from incompatible pointer type
rgeos_poly2nb.c: In function ‘rgeos_binary_STRtree_query’:
rgeos_poly2nb.c:127: warning: cast to pointer from integer of different size
rgeos_poly2nb.c:151: warning: passing argument 4 of ‘GEOSSTRtree_query_r’ from incompatible pointer type
rgeos_poly2nb.c: In function ‘rgeos_unary_STRtree_query’:
rgeos_poly2nb.c:213: warning: cast to pointer from integer of different size
rgeos_poly2nb.c:222: warning: passing argument 4 of ‘GEOSSTRtree_query_r’ from incompatible pointer type
rgeos_poly2nb.c:242: warning: cast to pointer from integer of different size
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c rgeos_predicate_binary.c -o rgeos_predicate_binary.o
rgeos_predicate_binary.c: In function ‘rgeos_intersects’:
rgeos_predicate_binary.c:94: warning: passing argument 5 of ‘rgeos_binpredfunc’ from incompatible pointer type
rgeos_predicate_binary.c: In function ‘rgeos_contains’:
rgeos_predicate_binary.c:97: warning: passing argument 5 of ‘rgeos_binpredfunc’ from incompatible pointer type
rgeos_predicate_binary.c: In function ‘rgeos_disjoint’:
rgeos_predicate_binary.c:100: warning: passing argument 5 of ‘rgeos_binpredfunc’ from incompatible pointer type
rgeos_predicate_binary.c: In function ‘rgeos_touches’:
rgeos_predicate_binary.c:103: warning: passing argument 5 of ‘rgeos_binpredfunc’ from incompatible pointer type
rgeos_predicate_binary.c: In function ‘rgeos_crosses’:
rgeos_predicate_binary.c:106: warning: passing argument 5 of ‘rgeos_binpredfunc’ from incompatible pointer type
rgeos_predicate_binary.c: In function ‘rgeos_within’:
rgeos_predicate_binary.c:109: warning: passing argument 5 of ‘rgeos_binpredfunc’ from incompatible pointer type
rgeos_predicate_binary.c: In function ‘rgeos_overlaps’:
rgeos_predicate_binary.c:112: warning: passing argument 5 of ‘rgeos_binpredfunc’ from incompatible pointer type
rgeos_predicate_binary.c: In function ‘rgeos_equals’:
rgeos_predicate_binary.c:115: warning: passing argument 5 of ‘rgeos_binpredfunc’ from incompatible pointer type
rgeos_predicate_binary.c: In function ‘rgeos_relate’:
rgeos_predicate_binary.c:118: warning: passing argument 5 of ‘rgeos_binpredfunc’ from incompatible pointer type
rgeos_predicate_binary.c: In function ‘rgeos_binpredfunc’:
rgeos_predicate_binary.c:149: warning: comparison of distinct pointer types lacks a cast
rgeos_predicate_binary.c:169: warning: comparison of distinct pointer types lacks a cast
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c rgeos_predicate_unary.c -o rgeos_predicate_unary.o
rgeos_predicate_unary.c: In function ‘rgeos_isvalid’:
rgeos_predicate_unary.c:4: warning: passing argument 4 of ‘rgeos_unarypredfunc’ from incompatible pointer type
rgeos_predicate_unary.c: In function ‘rgeos_issimple’:
rgeos_predicate_unary.c:8: warning: passing argument 4 of ‘rgeos_unarypredfunc’ from incompatible pointer type
rgeos_predicate_unary.c: In function ‘rgeos_isring’:
rgeos_predicate_unary.c:12: warning: passing argument 4 of ‘rgeos_unarypredfunc’ from incompatible pointer type
rgeos_predicate_unary.c: In function ‘rgeos_hasz’:
rgeos_predicate_unary.c:16: warning: passing argument 4 of ‘rgeos_unarypredfunc’ from incompatible pointer type
rgeos_predicate_unary.c: In function ‘rgeos_isempty’:
rgeos_predicate_unary.c:20: warning: passing argument 4 of ‘rgeos_unarypredfunc’ from incompatible pointer type
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c rgeos_topology.c -o rgeos_topology.o
rgeos_topology.c: In function ‘rgeos_envelope’:
rgeos_topology.c:5: warning: passing argument 5 of ‘rgeos_topologyfunc’ from incompatible pointer type
rgeos_topology.c: In function ‘rgeos_convexhull’:
rgeos_topology.c:9: warning: passing argument 5 of ‘rgeos_topologyfunc’ from incompatible pointer type
rgeos_topology.c: In function ‘rgeos_boundary’:
rgeos_topology.c:13: warning: passing argument 5 of ‘rgeos_topologyfunc’ from incompatible pointer type
rgeos_topology.c: In function ‘rgeos_getcentroid’:
rgeos_topology.c:17: warning: passing argument 5 of ‘rgeos_topologyfunc’ from incompatible pointer type
rgeos_topology.c: In function ‘rgeos_pointonsurface’:
rgeos_topology.c:21: warning: passing argument 5 of ‘rgeos_topologyfunc’ from incompatible pointer type
rgeos_topology.c: In function ‘rgeos_linemerge’:
rgeos_topology.c:25: warning: passing argument 5 of ‘rgeos_topologyfunc’ from incompatible pointer type
rgeos_topology.c: In function ‘rgeos_unioncascaded’:
rgeos_topology.c:29: warning: passing argument 5 of ‘rgeos_topologyfunc’ from incompatible pointer type
rgeos_topology.c: In function ‘rgeos_unaryunion’:
rgeos_topology.c:36: warning: passing argument 5 of ‘rgeos_topologyfunc’ from incompatible pointer type
rgeos_topology.c: In function ‘rgeos_topologyfunc’:
rgeos_topology.c:66: warning: comparison of distinct pointer types lacks a cast
rgeos_topology.c: In function ‘rgeos_polygonize’:
rgeos_topology.c:142: warning: passing argument 2 of ‘GEOSPolygonizer_getCutEdges_r’ from incompatible pointer type
rgeos_topology.c:143: warning: passing argument 2 of ‘GEOSPolygonize_r’ from incompatible pointer type
    gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c rgeos_topology_binary.c -o rgeos_topology_binary.o
rgeos_topology_binary.c: In function ‘rgeos_difference’:
rgeos_topology_binary.c:4: warning: passing argument 6 of ‘rgeos_binarytopologyfunc’ from incompatible pointer type
rgeos_topology_binary.c: In function ‘rgeos_symdifference’:
rgeos_topology_binary.c:7: warning: passing argument 6 of ‘rgeos_binarytopologyfunc’ from incompatible pointer type
rgeos_topology_binary.c: In function ‘rgeos_intersection’:
rgeos_topology_binary.c:10: warning: passing argument 6 of ‘rgeos_binarytopologyfunc’ from incompatible pointer type
rgeos_topology_binary.c: In function ‘rgeos_union’:
rgeos_topology_binary.c:13: warning: passing argument 6 of ‘rgeos_binarytopologyfunc’ from incompatible pointer type
gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c rgeos_validate.c -o rgeos_validate.o
 gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 -DHAVEUNARYUNION -I/Library/Frameworks/GEOS.framework/Versions/3/unix/include -I/usr/local/include -I"/Users/Pascal/Library/R/2.13/library/sp/include"   -fPIC  -g -O2 -c rgeos_wkt.c -o rgeos_wkt.o
    gcc-4.2 -arch x86_64 -std=gnu99 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/usr/local/lib -o rgeos.so gpc_geos.o init.o local_stubs.o rgeos.o rgeos_R2geos.o rgeos_bbox.o rgeos_buffer.o rgeos_coord.o rgeos_geos2R.o rgeos_misc.o rgeos_poly2nb.o rgeos_predicate_binary.o rgeos_predicate_unary.o rgeos_topology.o rgeos_topology_binary.o rgeos_validate.o rgeos_wkt.o -L/Library/Frameworks/GEOS.framework/Versions/3/unix/lib -lgeos -lgeos_c -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
    ld: warning: ignoring file /usr/local/lib/libgeos.dylib, missing required architecture x86_64 in file
    ld: warning: ignoring file /usr/local/lib/libgeos_c.dylib, missing required architecture x86_64 in file
    installing to /Users/Pascal/Library/R/2.13/library/rgeos/libs/x86_64
    ** R
    ** inst
    ** preparing package for lazy loading
    ** help
    *** installing help indices
    ** building package indices ...
    ** testing if installed package can be loaded
    Error in dyn.load(file, DLLpath = DLLpath, ...) : 
      unable to load shared object '/Users/Pascal/Library/R/2.13/library/rgeos/libs/x86_64/rgeos.so':
      dlopen(/Users/Pascal/Library/R/2.13/library/rgeos/libs/x86_64/rgeos.so, 6): Symbol not found: _GEOSArea_r
      Referenced from: /Users/Pascal/Library/R/2.13/library/rgeos/libs/x86_64/rgeos.so
      Expected in: flat namespace
     in /Users/Pascal/Library/R/2.13/library/rgeos/libs/x86_64/rgeos.so
    Error: loading failed
    Execution halted
    ERROR: loading failed
    * removing ‘/Users/Pascal/Library/R/2.13/library/rgeos’
    * restoring previous ‘/Users/Pascal/Library/R/2.13/library/rgeos’

rgdal 安装也会出现同样的问题。

我不是真正的程序员....有人知道我应该做什么吗?

谢谢!

4

3 回答 3

3

我知道一些 geo mac 二进制文件保存在 stats.ox.ac.uk,但我无法使用 Lion 机器进行测试。尝试:

install.packages(c('rgdal','rgeos'),repos="http://www.stats.ox.ac.uk/pub/RWin")

如果这不起作用...您需要在 64 位下工作吗?尝试使用 R CMD INSTALL 安装。

于 2011-08-23T22:44:04.587 回答
3

通过首先安装与您相同的 GDAL 框架,我设法让两者都在 MacOSX Lion 中工作。

我已经在终端中从源代码安装了 rgdal

sudo R64 CMD install rgdal_0.7-1.tar.gz --configure-args='--with-gdal-config=/Library/Frameworks/GDAL.framework/unix/bin/gdal-config --with-proj-include=/Library/Frameworks/PROJ.framework/unix/include --with-proj-lib=/Library/Frameworks/PROJ.framework/unix/lib'

与 rgeos 类似:

sudo R64 CMD INSTALL rgeos_0.1-8.tar.gz --configure-args='--with-geos-config=/Library/Frameworks/GEOS.framework/unix/bin/geos-config'

需要注意的是,我所有的 R 包都安装在系统级别,因此--configure-args='按照说明中的说明可以正常工作。

于 2011-08-24T00:57:15.290 回答
0

尽管根据 Jim M 使用了正确的配置参数,但在安装 rgdal 时我遇到了类似的问题,即使不是相同的问题。但是,我能够让 rgdal 0.6.33 工作(该版本在 KyngChaos 上分发:http://www .kyngchaos.com/files/software/frameworks/rgdal-0.6.33-3.zip)。

如果可以的话,显然最好让 0.7-1 工作,但这可能是一个临时解决方案(抱歉,我不知道 0.7-1 失败的原因)。我也在运行 64 位 R 的 OS X 10.7.1 上。

希望有帮助。

更新:看起来您引用的站点也安装了 rgdal 的 0.6 版本。

于 2011-08-24T01:45:05.903 回答