ShotaNishijima / vast_workshop2020

2020年2月7日に行われるVASTワークショップのページです
5 stars 2 forks source link

VASTのインストール(Macの場合) #2

Open Yuki-Kanamori opened 4 years ago

Yuki-Kanamori commented 4 years ago

【R3.6.1, RStudio1.2.1335 (金森PC1)】

devtools::install_github("james-thorson/VAST", INSTALL_opts = c("--no-multiarch --no-test-load")) とするとVASTがインストール出来た.修正しました(2020/01/17)


【R3.6.2, RStudio1.2.5033: RもRStudioも最新版 (金森PC2)】 最新版にした途端に上記コードでのインストールが出来なくなった. 現在試行錯誤中

Yuki-Kanamori commented 4 years ago

【RもRStudioも最新版の場合(金森PC2)】

試行錯誤した結果どうにもインストール出来なかった. 『うまく入ったインストール出来た人からパッケージのファイルをもらってパッケージのインストール先(※)へ置く』しかない. 最新版はここ

※パッケージのインストール先の調べ方とファイルの置き方 ①find.package("XX")でRのパッケージがインストールされる先を調べる.XX部分は,とりあえずインストール出来ているパッケージ名なら何でも良い ②ファインダーの移動から『フォルダへ移動』で,先ほど調べたパッケージのインストール先へ移動し,その場所にVASTとFishStatsUtilsを置く


以下,新たにインストールするのが無理ならば,古いバージョンからアップデート出来ないかを試行錯誤した記録

パッケージのインストール先へ移動し,その場所に古いVASTのパッケージを置く require(VAST)で古いVASTの読み込み update.packages("VAST")でVASTのversionを最新版にアップデートする. この時,

These packages have more recent versions available.

Which would you like to update?
1: All
2: CRAN packages only
3: None
4: VAST (eb621e4f5... -> 67b9acb3a...) [GitHub]

Enter one or more numbers, or an empty line to skip updates:

と聞かれるので,4のVASTのみのアップデートを選択する.

・・・
Error: package or namespace load failed for ‘TMB’:
 .onLoad は loadNamespace()('TMB' に対する)の中で失敗しました、詳細は:
call: checkMatrixPackageVersion()
error:  (警告から変換されました) Package version inconsistency detected.
TMB was built with Matrix version 1.2.17
Current Matrix version is 1.2.18
Please re-install 'TMB' from source using install.packages('TMB', type
= 'source') or ask CRAN for a binary version of 'TMB' matching CRAN's
'Matrix' package
エラー:  パッケージ ‘TMB’ をロードできませんでした
実行が停止されました
・・・・

という警告文が出て,VASTのアップデートが出来ない. 指示に従い,install.packages("TMB", type = 'soure')でTMBをインストールし直す. (この時,色々なパッケージのインストールも要求されるが致し方ない.) 再度update.packages("VAST")するが,やっぱりアップデートされなかった...

Matrixは勾配ブースティング で使っているパッケージなので,Matrixが邪魔をしてVASTがインストール出来ないのは私だけの問題かもしれません

Yuki-Kanamori commented 4 years ago

【R3.6.1, RStudio1.2.1335 (金森PC1)】

devtools::install_github("james-thorson/VAST", INSTALL_opts = c("--no-multiarch --no-test-load”)) とするとVASTがインストール出来た.

この環境下に金森PC2のやり方で最新版のVASTとFishStatsUtilsを(無理矢理)置いたところ,動作が不安定に(特に作図部分). 古いVAST(3.1.0)と古いFishStatsUtils(2.1.0)に戻すと動作は安定した. PCなのか,RやRStudioのバージョンなのかは分からないが,相性があるらしい. 古いVASTと古いFishStatsUtilsをこちらに置いておくので,最新版でうまくいかない人は試してみてください.

fshin3 commented 4 years ago

【R3.6.1, Studio 1.2.5019(福井PC, OS 10.14.6 )】 VAST, TMBインストールはできたがサンプルテストコード Version = get_latest_version(package = "VAST") ではコンパイルエラーで止まってしまったので、 Version = “VAST_v4_2_0" とした所、うまく回りました。

※ 2019年年末に同様の作業をしましたが、その時は上記設定でもコンパイルエラーでインストールできませんでした。年明けにPCを再起動し、再度トライしたらうまくいきました。"rnaturalearthdata"というパッケージを入れろと言われ、これをいれないとプロットができませんでした。

【R3.6.1, Studio 1.2.5001(福井PC2, OS 10.14.6 )】でも上記の作業でインストールできました。

teTUNAakita commented 4 years ago

【R3.6.2, Studio 1.2.5033(秋田PC1, OS 10.14.6 )】では、テストコード実行および作図の際、下記のように追加でパッケージを入れることで実行できました。 VAST およびFishStatsUtils のインストールは、

うまく入ったインストール出来た人からパッケージのファイルをもらってパッケージのインストール先(※)へ置く

で対処しました。その結果、それらに依存する別のパッケージを手入力で入れる必要が出たのだと想像します。あと、Version = "VAST_v4_2_0" の修正もしました。

# install.packages("TMB")
# install.packages("devtools")
# install.packages("PBSmapping")
# install.packages("RANN")
# install.packages("rnaturalearth")
# install.packages("rnaturalearthdata")
# install.packages("pander")
# install.packages("plotKML")
# install.packages("shape")
library(devtools)
library(TMB)
library(PBSmapping)
library(RANN)
library(rnaturalearth)
library(pander)
library(plotKML)
library(shape)
JK-junkin commented 4 years ago

【R3.6.2, RStudio 1.2.5033(macOS 10.14.6 )】 下記の方法でもインストールできましたので、記録のため投稿いたします。

#!/bin/bash

## githubのVASTをクローン (コマンドライン (Terminal.app等) から実行)
mkdir $HOME/git # mkdir ~/git も同義. VASTインストールのための親ディレクトリを作成
cd $HOME/git    # 作成した親ディレクトリに移動
git clone https://github.com/James-Thorson-NOAA/VAST.git # クローン. $HOME/git/VAST というディレクトリができる
## 適当なR scriptをRStudioで起動
# install.packages("devtools")
library(devtools)
devtools::install_local("~/git/VAST/") # ~ は$HOMEと同義
library(VAST)

## 関連パッケージが入っているか確認
find.package("TMB")  # OK
find.package("INLA") # OK
find.package("FishStatsUtils") # OK
yukio-takeuchi commented 4 years ago

R-3.6.2 Mac OS 10.15.2 (RはCRANで配布されているものではなく、homebrew (https://brew.sh/index_ja) のフォーミュラからソースコンパイルしたR)で、足りないと 怒られたパッケージをインストールした上で、 install_github("james-thorson/VAST", INSTALL_opts="--no-staged-install",force=T) で、インストール出来ました。 テストコードは Version = “VAST_v4_4_0" (Version = get_latest_version(package = "VAST")では、駄目) に修正した上で、plot_residualsを呼び出す際の引数に spatial_list = Spatial_List, extrapolation_list = Extrapolation_List を追加したところ、 以下の警告が出たものの実行できました 尚、全てターミナルから起動したRで実行しています。

1: In plot_variable(Y_gt = ifelse(is.na(Q_xy), mean(zlim), ... : panel_labels and ncol(Y_gt) don't match: Changing panel_labels' 2: In par(Par) : "savedir" はグラフィックスパラメータではありません 3: In par(Par) : "MappingDetails" はグラフィックスパラメータではありません 4: In par(Par) : "PlotDF" はグラフィックスパラメータではありません 5: In par(Par) : "MapSizeRatio" はグラフィックスパラメータではありません 6: In par(Par) : "Xlim" はグラフィックスパラメータではありません 7: In par(Par) : "Ylim" はグラフィックスパラメータではありません 8: In par(Par) : "FileName" はグラフィックスパラメータではありません 9: In par(Par) : "Rotate" はグラフィックスパラメータではありません 10: In par(Par) : "Cex" はグラフィックスパラメータではありません 11: In par(Par) : "Legend" はグラフィックスパラメータではありません 12: In par(Par) : "zone" はグラフィックスパラメータではありません 13: In plot_variable(Y_gt = ifelse(is.na(Q_xy), mean(zlim), ... : panel_labels and ncol(Y_gt) don't match: Changing panel_labels' 14: In par(Par) : "savedir" はグラフィックスパラメータではありません 15: In par(Par) : "MappingDetails" はグラフィックスパラメータではありません 16: In par(Par) : "PlotDF" はグラフィックスパラメータではありません 17: In par(Par) : "MapSizeRatio" はグラフィックスパラメータではありません 18: In par(Par) : "Xlim" はグラフィックスパラメータではありません 19: In par(Par) : "Ylim" はグラフィックスパラメータではありません 20: In par(Par) : "FileName" はグラフィックスパラメータではありません 21: In par(Par) : "Rotate" はグラフィックスパラメータではありません 22: In par(Par) : "Cex" はグラフィックスパラメータではありません 23: In par(Par) : "Legend" はグラフィックスパラメータではありません 24: In par(Par) : "zone" はグラフィックスパラメータではありません 25: In par(Par) : "MappingDetails" はグラフィックスパラメータではありません 26: In par(Par) : "Xlim" はグラフィックスパラメータではありません 27: In par(Par) : "Ylim" はグラフィックスパラメータではありません 28: In par(Par) : "FileName" はグラフィックスパラメータではありません 29: In par(Par) : "Rotate" はグラフィックスパラメータではありません 30: In par(Par) : "Cex" はグラフィックスパラメータではありません 31: In par(Par) : "Legend" はグラフィックスパラメータではありません 32: In par(Par) : "zone" はグラフィックスパラメータではありません 33: In par(Par) : "plot_legend_fig" はグラフィックスパラメータではありません

yukio-takeuchi commented 4 years ago

昨晩のコメントの追加検証を行いました。 昨晩は、VersionをVAST+v4_4_0まで下げて、 実行できて居ましたが、 同じ環境(MacOS 10.15.2で、R-3.6.2 homebrew のrのフォーミュラ及び依存するフォーミュラをソースコードからコンパイルしてインストール)で、 $(HOME)/.R/Makevarsに、下記 CXX=g++-9

を追記したところ、 Version = get_latest_version(package = "VAST") で(手元の環境では、Versionの値は、"VAST_v8_5_0"でした)、 cppファイルのコンパイルにも成功し、テストコードの実行も 最後まで出来ました。

なお$(HOME)/.R/Makevars は、当該ユーザーのRのグルーバルな設定を行うファイルの一つですので、 出来れば、VASTを使用するときのみ CXX=g++-9 # 最新のhomebrewでgccをインストールした場合のg++のコンパイラーの

コマンド名が、g++-9

が設定出来れば、他にも影響を与えずに済むでしょう。

ともかく、MacOSの標準のc++コンパイラのclang++は、癖があるので、 避けた方が良いようです。 また、これは、Macの話しではありませんが、gnu c++コンパイラでも、比較的最近の バージョンで無いとやはり最近のVASTのcppのコンパイルは、難しいのかもしれません。

yukio-takeuchi commented 4 years ago

これは、Macに限らないですが、 devtools::install_github("james-thorson/VAST", INSTALL_opts="--no-staged-install") で必要パッケージも含めてインストール使用とする際、あるいは、個別に、TMB,INLA,VASTを順に インストール使用とする際に、INLAの依存パッケージの中に、過去にはCRANで配布されていましたが、多分、現在のCRANでパッケージを配布するための条件に合わないために現在は、CRANからは削除されているパッケージが2個(graphRgraphviz)あります。これらは、BioConductorで配布されていて、手元の環境では、

install.packages("INLA", repos=c(getOption("repos"), INLA="https://inla.r-inla-download.org/R/stable"), dep=TRUE)

では、それら2個のパッケージを見つけられずに、INLAのインストールに失敗してしまいました。 これらについては、もし同じ状況になれば、どこかの時点で、手動で下記のコマンドを実行して依存関係を満たしてやる必要があります。

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("graph")
BiocManager::install("Rgraphviz")
fshin3 commented 4 years ago

【R3.6.1, Studio 1.2.1335(福井PC, OS 10.15.3 )】予備機? MacPorts経由でインストールしたRでFishStatsUtilsが要求しているrgdalのインストールで止まっています。 のちのち地図でのお絵かきに必要そうなので、なんとか解決できるようにトライしてみます。

fshin3 commented 4 years ago

【R3.6.1, Studio 1.2.1335(福井PC, OS 10.15.3 )】予備機? MacPorts経由でインストールしたRでFishStatsUtilsが要求しているrgdalのインストールで止まっています。 のちのち地図でのお絵かきに必要そうなので、なんとか解決できるようにトライしてみます。

rgdalのインストールで参照されるPROJ, GDALの参照がうまくいかないようでした。ソースをダウンロードしてコンパイルなど試したのですが、今ひとつうまくできませんでした。RをHomebrewからインストールする方法に変えて試してみましたがやはりrgdalがうまくインストールできない状況です。また、Rを再インストールしたらtidyverseもインストールできなくなってしまいました。。。

Yuki-Kanamori commented 2 years ago

【R-4.1.1, Rstudio-2021.09.0-351, Big Sur 11.6】

install_github("james-thorson/VAST", INSTALL_opts="--no-staged-install")では入らず.

# Install TMB from CRAN
install.packages("TMB")
# Install INLA using currently recommended method
install.packages("INLA", repos=c(getOption("repos"), INLA="https://inla.r-inla-download.org/R/stable"), dep=TRUE)
# Install FishStatsUtils from CRAN
install_github("james-thorson/FishStatsUtils", INSTALL_opts="--no-staged-install")

でもTMBしか入らず.

INLA, FishStatsUtils, RandomFields, plotKMLなどを順にマニュアルでダウンロードして,最後にもう一度install_github("james-thorson/VAST", INSTALL_opts="--no-staged-install")でVASTを入れることができた.

INLAについては,ここで情報収集ができる.

(追記) 実際にVASTを走らせると,FishStatsUtils::make_spatial_info()でINLAがうまく動いていない模様.困った困った.

yukio-takeuchi commented 2 years ago

【R-4.1.1, Rstudio-2021.09.0-351, Big Sur 11.6】

install_github("james-thorson/VAST", INSTALL_opts="--no-staged-install")では入らず.

# Install TMB from CRAN
install.packages("TMB")
# Install INLA using currently recommended method
install.packages("INLA", repos=c(getOption("repos"), INLA="https://inla.r-inla-download.org/R/stable"), dep=TRUE)
# Install FishStatsUtils from CRAN
install_github("james-thorson/FishStatsUtils", INSTALL_opts="--no-staged-install")

でもTMBしか入らず.

INLA, FishStatsUtils, RandomFields, plotKMLなどを順にマニュアルでダウンロードして,最後にもう一度install_github("james-thorson/VAST", INSTALL_opts="--no-staged-install")でVASTを入れることができた.

INLAについては,ここで情報収集ができる.

INLAのダウンロードサイトが日本からは遅い様でINLAのダウンロード中に、タイムアウトで、失敗することが、mac 上でも、他のos の場合でも、install.packagesの引数に、method=“wget “を付けてやると、上手くいくことが多いです。但し、wget は、mac では標準では、入っていないので、homebrew 等で導入する必要有り