18.04を実行していて、Rパッケージpdftools
のバージョン2.1を使用しようとしています。一部の機能にはpoppler >= 0.73
が必要です。 (ポプラバージョンの要件は?pdftools::pdf_data
に記載されています。)
https://poppler.freedesktop.org/ からpoppler-0.73.0.tar.xz
とpoppler-data-0.4.9.tar.gz
を取得しました。私は解凍し、INSTALLの指示に従いましたが、すべてうまくいったようです。 /usr/lib/x86_64-linux-gnu/libpoppler.so
が/usr/lib/x86_64-linux-gnu/libpoppler.so.73
を指していることを確認できます。他に何を探すべきか、またはupdate-alternativesが役立つかどうかわかりません。
Rでは、pdftools::pdf_data
を実行すると、次のようになります。
> pdf_data(fn)
Error in poppler_pdf_data(loadfile(pdf), opw, upw) :
pdf_data() requires poppler >= 0.73. You have 0.62.0
pdftools
の他の関数は機能しますが、pdf_data
は必要なpoppler >= 0.73
に文書化されています。 0.73を認識させるには、他に何をする必要があるのでしょうか。
編集: buntu 16.04へのpoppler-0.62.0のインストール で役立つ提案に従って、apt-cache policy poppler-0.73
を実行して取得しました:
poppler-0.73:
Installed: 20190125-0.73
Candidate: 20190125-0.73
Version table:
*** 20190125-0.73 100
100 /var/lib/dpkg/status
これは0.73がインストールされていることを示唆しているようです。
apt-cache policy r-base-core
の出力は
r-base-core:
Installed: 3.5.2-1bionic
Candidate: 3.5.2-1bionic
Version table:
*** 3.5.2-1bionic 500
500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
100 /var/lib/dpkg/status
3.5.1-2bionic 500
500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
3.5.1-1bionic 500
500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
3.5.0-1bionic 500
500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
3.4.4-1ubuntu1 500
500 http://ubuntu.osuosl.org/ubuntu bionic/universe AMD64 Packages
これを機能させるには、次のことを行う必要があります。
libpoppler-cpp-dev
パッケージをアンインストールします
Sudo apt purge libpoppler-cpp-dev
Poppler 0.73をcheckinstall
を使用して(すでに行ったように)/usr/local
にコンパイルしてインストールします。
Sudo apt-get install libopenjp2-7-dev libgdk-pixbuf2.0-dev cmake checkinstall
Sudo apt-get build-dep libpoppler-cpp-dev
cd ~/Downloads
wget https://poppler.freedesktop.org/poppler-0.73.0.tar.xz
tar -xf poppler-0.73.0.tar.xz
cd poppler-0.73.0
mkdir build
cd build
cmake ..
Sudo checkinstall make install
環境変数R_LD_LIBRARY_PATHを定義して、/usr/local/lib
のPopplerライブラリについてRに通知します。
echo "export R_LD_LIBRARY_PATH=\$R_LD_LIBRARY_PATH:/usr/local/lib" >> .bashrc
pdftools
- Shell内でR
Rパッケージをコンパイルします。
install.packages("pdftools")
R
- Shellから任意のPDFファイルでテストする
> pdftools::pdf_data(pdf="/usr/share/cups/data/default.pdf") [1]] [1] width height x y space text <0 rows> (or 0-length row.names)
注:私はこの方法を私のクリーンなUbuntu 18.04 LTS VMでR-ShellとRStudioのR 3.4と3.5.2の両方でテストしました。
buntu 16.04(Xenial)およびbuntu 18.04(Bionic)のPoppler 0.74.0のバックポートを使用してPPAを作成しました。これは、ポプラを更新するための推奨方法です。
Sudo add-apt-repository -y ppa:cran/poppler
Sudo apt-get update
Sudo apt-get install -y libpoppler-cpp-dev