Rで今はまっている問題について上手く行かないというメモで、解決には至っていない。
- RCurlのコンパイルが通らない
RCurlのアップデートがあって、コンパイルが必要ですよいわれたのでOKとするとコンパルし始めるのだけれども、
install.packages("RCurl") There is a binary version available but the source version is later: binary source needs_compilation RCurl 1.98-1.1 1.98-1.2 TRUE installing the source package ‘RCurl’ URL 'https://cran.rstudio.com/src/contrib/RCurl_1.98-1.2.tar.gz' を試しています Content type 'application/x-gzip' length 699583 bytes (683 KB) downloaded 683 KB * installing *source* package 'RCurl' ... ** パッケージ 'RCurl' の解凍および MD5 サムの検証に成功しました ** using staged installation ** libs *** arch - i386 中略 In file included from base64.c:1:0: Rcurl.h:4:23: fatal error: curl/curl.h: No such file or directory #include <curl/curl.h>
でエラーとなる。
curl.hがないと言われれいるのでLinux系ならリポジトリからlibcurl-devをインストールすればいいだけなのでけれど、windowsだとちょっと手間。
手間をかけてインストールしてみたけれどうまく行かず(パスが正しく通ってない?正しくインストールできていない?)、stack overflowを見てみたら
こんなのがあって、回答にwindows環境はバイナリでインストールしなさいよ、と書かれていてそりゃバイナリなら簡単にインストールできるよと思った。
解決に至る前にバイナリが降ってきそう。
- tubeplayRのコンパイルがうまく通らない
(追記)ソースを少し弄ってインストールする方法を見出した。
RStudioのviwerをいじってみたくて調べていたらtubeplayRに行き当たった。
出たときに存在は知っていたけれど、Qt由来の問題でmac環境以外では動作が微妙とのことで触っていなかったけど、RStudioのバージョンもだいぶ上がったことだし動作するかなと思いインストールしようとすると、
devtools::install_github("kazutan/tubeplayR") Downloading GitHub repo kazutan/tubeplayR@master √ checking for file (711ms) - preparing 'tubeplayR': √ checking DESCRIPTION meta-information ... - cleaning src - checking for LF line-endings in source and make files and shell scripts - checking for empty or unneeded directories - building 'tubeplayR_0.1.3.tar.gz' Installing package into ‘/R/win-library/3.6’ (as ‘lib’ is unspecified) * installing *source* package 'tubeplayR' ... ** using staged installation ** libs *** arch - i386 DLLは生成されませんでした ERROR: compilation failed for package 'tubeplayR'
でインストールできず。なんでエラーなのかも詳細不明でわからず。
gitでクローンして、ローカルでコンパイル通そうとしてもうまく行かず、ディレクトリ内にあるRprojファイルから開いてバイナリをつくろうとしてもうまく行かず……。
調べても同様のエラーで困っている人はいない?のか情報が殆どないのでおそらく単純な問題(設定系?)だと思うけれど、他のパッケージだとコンパイルが通るので謎……。
ちなみにGitHub上ではRStudioのDesktopはmacしか動かないよとかいてあるけど、windows環境でもtubeplay.Rでもちゃんと動作した。
パッケージでインストールできていないので、依存関係のパッケージはちゃんとみる必要があるのと、名前空間の問題はやむを得ない。