web-dev-qa-db-ja.com

「パッケージlibxml-2.0がpkg-config検索パスに見つかりませんでした」としてRdevtoolsが失敗する

Rバージョン3.2.1でdevtoolsをインストールしようとしていますが、インストールすると次のエラーがスローされます。

Package libxml-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing libxml-2.0.pc
to the PKG_CONFIG_PATH environment variable

ターミナルでdpkg -L libxml2-devを実行すると、次のことがわかります。

/usr
/usr/bin
/usr/bin/xml2-config
/usr/share
/usr/share/aclocal
/usr/share/aclocal/libxml2.m4
/usr/share/doc
/usr/share/doc/libxml2-dev
/usr/share/doc/libxml2-dev/copyright
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/xml2-config.1.gz
/usr/share/man/man3
/usr/share/man/man3/libxml.3.gz
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libxml2.a
/usr/lib/x86_64-linux-gnu/pkgconfig
/usr/lib/x86_64-linux-gnu/pkgconfig/libxml-2.0.pc
/usr/lib/x86_64-linux-gnu/xml2Conf.sh
/usr/include
/usr/include/libxml2
/usr/include/libxml2/libxml
/usr/include/libxml2/libxml/globals.h
/usr/include/libxml2/libxml/schematron.h
/usr/include/libxml2/libxml/xlink.h
/usr/include/libxml2/libxml/HTMLparser.h
/usr/include/libxml2/libxml/pattern.h
/usr/include/libxml2/libxml/xmlexports.h
/usr/include/libxml2/libxml/xmlschemas.h
/usr/include/libxml2/libxml/list.h
/usr/include/libxml2/libxml/entities.h
/usr/include/libxml2/libxml/xmlstring.h
/usr/include/libxml2/libxml/encoding.h
/usr/include/libxml2/libxml/hash.h
/usr/include/libxml2/libxml/xmlmemory.h
/usr/include/libxml2/libxml/relaxng.h
/usr/include/libxml2/libxml/xmlsave.h
/usr/include/libxml2/libxml/SAX2.h
/usr/include/libxml2/libxml/xmlIO.h
/usr/include/libxml2/libxml/xmlschemastypes.h
/usr/include/libxml2/libxml/xpathInternals.h
/usr/include/libxml2/libxml/schemasInternals.h
/usr/include/libxml2/libxml/xmlmodule.h
/usr/include/libxml2/libxml/valid.h
/usr/include/libxml2/libxml/c14n.h
/usr/include/libxml2/libxml/xmlwriter.h
/usr/include/libxml2/libxml/tree.h
/usr/include/libxml2/libxml/xmlunicode.h
/usr/include/libxml2/libxml/nanohttp.h
/usr/include/libxml2/libxml/catalog.h
/usr/include/libxml2/libxml/xmlerror.h
/usr/include/libxml2/libxml/nanoftp.h
/usr/include/libxml2/libxml/xmlautomata.h
/usr/include/libxml2/libxml/xinclude.h
/usr/include/libxml2/libxml/HTMLtree.h
/usr/include/libxml2/libxml/chvalid.h
/usr/include/libxml2/libxml/parserInternals.h
/usr/include/libxml2/libxml/xpointer.h
/usr/include/libxml2/libxml/xmlversion.h
/usr/include/libxml2/libxml/dict.h
/usr/include/libxml2/libxml/xmlregexp.h
/usr/include/libxml2/libxml/DOCBparser.h
/usr/include/libxml2/libxml/parser.h
/usr/include/libxml2/libxml/xmlreader.h
/usr/include/libxml2/libxml/SAX.h
/usr/include/libxml2/libxml/threads.h
/usr/include/libxml2/libxml/debugXML.h
/usr/include/libxml2/libxml/xpath.h
/usr/include/libxml2/libxml/uri.h
/usr/share/doc/libxml2-dev/README
/usr/share/doc/libxml2-dev/NEWS.gz
/usr/share/doc/libxml2-dev/AUTHORS
/usr/share/doc/libxml2-dev/TODO.gz
/usr/share/doc/libxml2-dev/changelog.Debian.gz
/usr/lib/x86_64-linux-gnu/libxml2.so

これをPKG_CONFIG_PATHに追加してみました:env PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfigしかし、これは機能していないようです。

8
mattbawn

_Sudo apt-get install libxml2 libxml2-dev_の後に最新バージョンがインストールされているとシステムが言っていたとしても、最終的には手動でlibxml2をインストールする必要がありました。

見つかった情報に基づいて手動でインストールしました ここ

_wget ftp://xmlsoft.org/libxml2/libxml2-2.9.2.tar.gz
_

次に、解凍​​してフォルダに移動した後:

_./configure --prefix=/usr --disable-static --with-history && make
_

そして

_Sudo make install
_

この後、Rコマンドinstall.packages("devtools")は正常に完了しました。

16
mattbawn

Rプロンプト内から、このコマンドはlibxml2-dev インストールされました:

Sys.setenv(PKG_CONFIG_PATH="/usr/lib/x86_64-linux-gnu/pkgconfig")
5
biocyberman

Linuxのフレーバーに従って、以下から適切なライブラリを選択してインストールします。-

  • deb:libxml2-dev(Debian、Ubuntuなど)
  • rpm:libxml2-devel(Fedora、CentOS、RHEL)
  • csw:libxml2_dev(Solaris)

Apt-get、yumなどの適切なコマンドを使用してインストールします。

2
saurabh gupta

Rパッケージ「XML」をインストールするというより狭い問題については、

 Sudo apt-get install r-cran-xml

それ以外の場合は、「devtools」の依存関係のリストから開始し(たとえば、 ここ から)、これらの依存関係を1つずつインストールします。

1

4年2か月後の今日、私はまったく同じ問題を抱えていました(別のパッケージ、xml2のインストールのコンテキストであっても)。

パッケージの.configureスクリプトをよく見ると、次の1行の構成テストが失敗していることがわかりました。

echo "#include $PKG_TEST_HEADER" | ${CC} ${CPPFLAGS} ${PKG_CFLAGS} ${CFLAGS} -E -xc - >/dev/null 2>&1 || R_CONFIG_ERROR=1;

これは、使用されているすべてのパラメーターが正しい値とnull以外の値を持っているにもかかわらずです。

このテストが正確に失敗する理由はわかりませんが、バグのようです(Dirk Eddelbuettelが正しかったので)。テストをコメントアウトすることで、それ以上の問題なしにパッケージを手動でインストールすることができました。

0
durveloos