備忘ログ

チラシの裏的備忘録&メモ

コンパイルがうまく通らない……

Rで今はまっている問題について上手く行かないというメモで、解決には至っていない。

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を見てみたら

stackoverflow.com

こんなのがあって、回答にwindows環境はバイナリでインストールしなさいよ、と書かれていてそりゃバイナリなら簡単にインストールできるよと思った。

解決に至る前にバイナリが降ってきそう。


(追記)ソースを少し弄ってインストールする方法を見出した。

indenkun.hatenablog.com

RStudioのviwerをいじってみたくて調べていたらtubeplayRに行き当たった。

github.com

出たときに存在は知っていたけれど、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でもちゃんと動作した。

パッケージでインストールできていないので、依存関係のパッケージはちゃんとみる必要があるのと、名前空間の問題はやむを得ない。