Press "Enter" to skip to content

tidyverseのインストール

wyosis 0

本日はhttp://r4ds.had.co.nz/data-visualisation.htmlの3章をやる予定だったが、しょっぱなから壁が。

tidyverseのインストールに失敗する

テキストにあるように、

install.packages("tidyverse")

とするわけだが、ERRORが大量に出てくる。

installation of package ‘XXX’ had non-zero exit status

このキーワードでググっても、「r-base-dev」をインストールすればOKというのが多い。インストール済みだったので困った・・・。

install.packages("tidyverse", dependencies=TRUE)

とすればいいよ というのもあったが効果なし。ただ、関連パッケージをインストールしてくれるパラメータっぽいので一応付けておくことにした。

エラーを見直す

XXXを単体でインストールして見てもエラーになるが、エラー内容を見直すとmakeのビルドで失敗しているよう。さらによく見ると

ld: cannot find -lgfortran

となっていた。lgfortranがないよというエラー。これでググると、「libgfortran」をインストールすると、/usr/lib/lgfortran.so (Linux環境)ができるという情報があった。しかし、これもインストール済み、なのに該当ファイルがない。しばらく悩んでいたが、/usr/lib64の存在に気がつく。もしやこっちに入っているのではないかと見てみたら、/usr/lib64/libgfortran.so.3があった。

ln -s /usr/lib64/libgu /usr/lib/libgfortran.so

でひも付けして、再度単体でインストール、、、またも別のライブラリでエラー。ただ、似たようなエラーだったので同様の方法でリンクを作成し、再度挑戦、、、成功!

これで一気に解決と思い、

install.packages("tidyverse", dependencies=TRUE)

を実行すると、数は減ったがいくつかのパッケージがインストールできない。もう諦めようかと思った。

解決

再び単体でインストールして見ると、エラーの内容は今までとは全く違うもので、curlの場合、

------------------------- ANTICONF ERROR ---------------------------
Configuration failed because libcurl was not found. Try installing:
 * deb: libcurl4-openssl-dev (Debian, Ubuntu, etc)
 * rpm: libcurl-devel (Fedora, CentOS, RHEL)
 * csw: libcurl_dev (Solaris)
If libcurl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a libcurl.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'

とわかりやすいヒントが書いてあった。早速zypperでlibcurl-develをインストールすると、curlのエラーは解決。残りのパッケージも対応するdevelを入れたら無事動いた。そして最後にtidyverseをインストールすると成功!!

結局これだけで1時間半も使ってしまった・・・。3章は改めて明日やります。

動いた記念

コメントを残す

メールアドレスが公開されることはありません。