Проблемы с установкой rgeos и rgdal на Mac OS X Lion - PullRequest
2 голосов
/ 24 августа 2011

Я пытаюсь установить пакет rgeos (и пакет rgdal).У меня есть MacBook Pro, работающий под управлением OS X 10.7.1, и последняя версия R, 2.13.1.Я следую инструкциям с этого сайта: http://lostingeospace.blogspot.com/2011/08/rgeos-on-macos-x.html

Я установил последнюю полную версию 1.8 GDAL из http://www.kyngchaos.com/software:frameworks и загрузил исходный файл 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.

Я не совсем программист .... Кто-нибудь знает, что мне делать?

Спасибо!

Ответы [ 3 ]

3 голосов
/ 24 августа 2011

Мне удалось заставить обоих работать в MacOSX Lion, сначала установив платформы GDAL так же, как вы.

Я установил 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=', как указано в инструкциях, работает как есть.

3 голосов
/ 24 августа 2011

Я знаю, что некоторые бинарные файлы geo mac хранятся на stats.ox.ac.uk, но у меня нет доступа к машине-льву для тестирования.Попробуйте:

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

Если это не сработает ... Вам нужно работать в 64 бит?попробуйте установить с помощью R CMD INSTALL.

0 голосов
/ 24 августа 2011

У меня была похожая, если не идентичная проблема при установке rgdal, несмотря на использование правильных аргументов конфигурации для Jim M. Однако я смог заставить работать rgdal 0.6.33 (версия распространяется на KyngChaos по адресу: http://www.kyngchaos.com/files/software/frameworks/rgdal-0.6.33-3.zip).

Очевидно, лучше поработать с 0,7-1, если вы можете, но это может быть временным решением (извините, я не знаю причину сбоя 0,7-1).также на OS X 10.7.1 под управлением 64-битной R.

Надеюсь, это поможет.

ОБНОВЛЕНИЕ: Похоже, что сайт, на который вы ссылаетесь, также установил версию 0.6 rgdal.

...