Ошибка при установке пакета xml2 на Mavericks

Я пытаюсь установить пакет devtools в R, и поскольку его зависимость должна быть установлена ​​xml2, но я получаю следующее сообщение об ошибке.

> install.packages("xml2")
Installing package into ‘/Users/xlong3/Library/R/3.2/library’
(as ‘lib’ is unspecified)
trying URL 'https://cran.rstudio.com/src/contrib/xml2_0.1.2.tar.gz'
Content type 'application/x-gzip' length 74808 bytes (73 KB)
==================================================
downloaded 73 KB

* installing *source* package ‘xml2’ ...
** package ‘xml2’ successfully unpacked and MD5 sums checked
Found pkg-config cflags and libs!
Using PKG_CFLAGS=-I/Users/xlong3/anaconda/include/libxml2
Using PKG_LIBS=-L/Users/xlong3/anaconda/lib -lxml2 -lz -liconv -lm
** libs
clang++ -I/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/include -DNDEBUG -I/Users/xlong3/anaconda/include/libxml2 -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/opt/openssl/include -I"/Users/xlong3/Library/R/3.2/library/Rcpp/include" -I"/usr/local/lib/R/3.2/site-library/BH/include"   -fPIC  -g -O2  -c RcppExports.cpp -o RcppExports.o
clang++ -I/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/include -DNDEBUG -I/Users/xlong3/anaconda/include/libxml2 -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/opt/openssl/include -I"/Users/xlong3/Library/R/3.2/library/Rcpp/include" -I"/usr/local/lib/R/3.2/site-library/BH/include"   -fPIC  -g -O2  -c connection.cpp -o connection.o
clang++ -I/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/include -DNDEBUG -I/Users/xlong3/anaconda/include/libxml2 -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/opt/openssl/include -I"/Users/xlong3/Library/R/3.2/library/Rcpp/include" -I"/usr/local/lib/R/3.2/site-library/BH/include"   -fPIC  -g -O2  -c xml2_doc.cpp -o xml2_doc.o
clang++ -I/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/include -DNDEBUG -I/Users/xlong3/anaconda/include/libxml2 -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/opt/openssl/include -I"/Users/xlong3/Library/R/3.2/library/Rcpp/include" -I"/usr/local/lib/R/3.2/site-library/BH/include"   -fPIC  -g -O2  -c xml2_init.cpp -o xml2_init.o
clang++ -I/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/include -DNDEBUG -I/Users/xlong3/anaconda/include/libxml2 -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/opt/openssl/include -I"/Users/xlong3/Library/R/3.2/library/Rcpp/include" -I"/usr/local/lib/R/3.2/site-library/BH/include"   -fPIC  -g -O2  -c xml2_namespace.cpp -o xml2_namespace.o
clang++ -I/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/include -DNDEBUG -I/Users/xlong3/anaconda/include/libxml2 -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/opt/openssl/include -I"/Users/xlong3/Library/R/3.2/library/Rcpp/include" -I"/usr/local/lib/R/3.2/site-library/BH/include"   -fPIC  -g -O2  -c xml2_node.cpp -o xml2_node.o
clang++ -I/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/include -DNDEBUG -I/Users/xlong3/anaconda/include/libxml2 -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/opt/openssl/include -I"/Users/xlong3/Library/R/3.2/library/Rcpp/include" -I"/usr/local/lib/R/3.2/site-library/BH/include"   -fPIC  -g -O2  -c xml2_url.cpp -o xml2_url.o
clang++ -I/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/include -DNDEBUG -I/Users/xlong3/anaconda/include/libxml2 -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/opt/openssl/include -I"/Users/xlong3/Library/R/3.2/library/Rcpp/include" -I"/usr/local/lib/R/3.2/site-library/BH/include"   -fPIC  -g -O2  -c xml2_xpath.cpp -o xml2_xpath.o
clang++ -I/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/include -DNDEBUG -I/Users/xlong3/anaconda/include/libxml2 -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/opt/openssl/include -I"/Users/xlong3/Library/R/3.2/library/Rcpp/include" -I"/usr/local/lib/R/3.2/site-library/BH/include"   -fPIC  -g -O2  -c xml_push.cpp -o xml_push.o
clang++ -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/lib -L/usr/local/opt/gettext/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/openssl/lib -o xml2.so RcppExports.o connection.o xml2_doc.o xml2_init.o xml2_namespace.o xml2_node.o xml2_url.o xml2_xpath.o xml_push.o -L/Users/xlong3/anaconda/lib -lxml2 -lz -liconv -lm -F/usr/local/Cellar/r/3.2.2_1/R.framework/.. -framework R -lintl -Wl,-framework -Wl,CoreFoundation
installing to /Users/xlong3/Library/R/3.2/library/xml2/libs
** 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/xlong3/Library/R/3.2/library/xml2/libs/xml2.so':
  dlopen(/Users/xlong3/Library/R/3.2/library/xml2/libs/xml2.so, 6): Library not loaded: libxml2.2.dylib
  Referenced from: /Users/xlong3/Library/R/3.2/library/xml2/libs/xml2.so
  Reason: image not found
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/Users/xlong3/Library/R/3.2/library/xml2’

The downloaded source packages are in
    ‘/private/tmp/RtmpJc4WKq/downloaded_packages’
Warning message:
In install.packages("xml2") :
  installation of package ‘xml2’ had non-zero exit status
>




> version
               _                           
platform       x86_64-apple-darwin13.4.0   
arch           x86_64                      
os             darwin13.4.0                
system         x86_64, darwin13.4.0                                              
version.string R version 3.2.2 (2015-08-14)
nickname       Fire Safety   

person Lily Long    schedule 11.11.2015    source источник
comment
Пока configure нашел libxml2 что-то еще не так. Это может быть проблема PATH, но у вас есть интересная установка. Поскольку вы используете Homebrew для R, почему вы не используете Homebrew для libxml2? Я бы установил libxml2 из Homebrew, удалил Anaconda из PATH, а затем повторил попытку сборки.   -  person hrbrmstr    schedule 11.11.2015
comment
Да, я сделал самодельный libxml2: brew install libxml2 Предупреждение: libxml2-2.9.2 уже установлен, он не работает.   -  person Lily Long    schedule 11.11.2015
comment
это может быть так, но он находит его в /Users/xlong3/anaconda/include/libxml2, так что у вас действительно запутанная настройка.   -  person hrbrmstr    schedule 11.11.2015
comment
Я сбрасываю PATH как PATH=/usr/bin:/usr/sbin:/bin:/sbin : echo $PATH /usr/bin:/usr/sbin:/bin:/sbin Но пока я устанавливаю.packages(xml2), он все еще говорит мне, что находит его в /Users/xlong3/anaconda/include/libxml2 . Где, скорее всего, файл конфигурации и можно ли изменить, где он находит libxml2?   -  person Lily Long    schedule 11.11.2015
comment
он запускает pkg-config (или pkgconfig, я не помню какой) в configure. Вы перезапустили R после сброса PATH?   -  person hrbrmstr    schedule 11.11.2015
comment
› pkg-config --libs --cflags libxml2 Пакет libxml2 не найден в пути поиска pkg-config. Возможно, вам следует добавить каталог, содержащий `libxml2.pc', в переменную среды PKG_CONFIG_PATH. Пакет 'libxml2' не найден   -  person Lily Long    schedule 11.11.2015
comment
скачайте исходный код пакета xml2 с github и запустите скрипт configure в основном каталоге pkg (или посмотрите на него). у вас какая-то странная конфигурация (при условии, что анаконда для python/jupyter). я бы взорвал анаконду и использовал доморощенный для python/jupyter, так как вы все равно делаете это для R.   -  person hrbrmstr    schedule 11.11.2015
comment
как ни странно, я завершил удаление anaconda , а также удалил файл конфигурации /usr/bin/xml2-config, который я понятия не имею, как он был сгенерирован, а затем, когда в install.packages(xml2) он знает, чтобы найти libxml2 в его позициях, которые указанный в brew ls libxml2. ОООООООООчень устал!   -  person Lily Long    schedule 11.11.2015


Ответы (3)


Проблема в том, что «pkg-config» ищет именно «libxml2.pc», а файл, который вы установили, называется «libxml-2.0.pc». Если вы вручную создадите символическую ссылку между существующим файлом и тем, который ожидает pkg-config, это должно устранить эту ошибку.

Что-то вроде этого (сделанное в том же каталоге, что и файл) должно работать $ ln -s libxml-2.0.pc libxml2.pc

person lagerratrobe    schedule 06.04.2018

Я не уверен, как мне поступить в следующей ситуации:

   pkg-config --libs --cflags  libxml2

Пакет libxml2 не найден в пути поиска pkg-config. Возможно, вам следует добавить каталог, содержащий `libxml2.pc', в переменную среды PKG_CONFIG_PATH. Пакет 'libxml2' не найден

сварить ls libxml2

/usr/local/Cellar/libxml2/2.9.2/bin/xml2-config
/usr/local/Cellar/libxml2/2.9.2/bin/xmlcatalog
/usr/local/Cellar/libxml2/2.9.2/bin/xmllint
/usr/local/Cellar/libxml2/2.9.2/include/libxml2/ (47 files)
/usr/local/Cellar/libxml2/2.9.2/lib/libxml2.2.dylib
/usr/local/Cellar/libxml2/2.9.2/lib/cmake/libxml2/libxml2-config.cmake
/usr/local/Cellar/libxml2/2.9.2/lib/pkgconfig/libxml-2.0.pc
/usr/local/Cellar/libxml2/2.9.2/lib/ (3 other files)
/usr/local/Cellar/libxml2/2.9.2/share/aclocal/libxml.m4
/usr/local/Cellar/libxml2/2.9.2/share/doc/ (153 files)
/usr/local/Cellar/libxml2/2.9.2/share/gtk-doc/ (55 files)
/usr/local/Cellar/libxml2/2.9.2/share/man/ (4 files)
person Lily Long    schedule 11.11.2015

Попробуйте сменить зеркало CRAN

person user4865528    schedule 31.01.2017