Trinity を動かすのにハマる
なかなかアップされないこのブログですが、そもそもターミナルでコード書くとか解析とかしてハマらないとアップされない気もしますw。
さてさて、前段階として年末に本を出すのをお手伝いさせていただきました。
で、縁あって最近、またTrinityをかけていたのですが、コロナウイルスの影響でテレワークでございまして、セキュリティに気をつけようとか言っているわけです。で、ついうっかり
brew upgrade
とかやってしまったわけですね。
そうしたらば、Trinityのアップデートがかかってしまった(ように見えた)上に、Trinity動かすのに必要なJavaの環境が謎の挙動になってしまい、まぁとりあえず動かなくなってしまいました。。。
とりあえず、待てど暮らせどうんともすんとも。-vつけてもどうもこうもなのですが、--debugというオプションを見つけ
brew install --verbose --debug trinity
とやったところ、
java -version
のところで止まっていることが判明。これを手打ちしてもやっぱり動かない。
この間にHomebrewでJavaを入れたり抜いたりしていたので、なんかいろんなJavaが入っていたりw。
参考までに
$ brew config HOMEBREW_VERSION: 2.2.13 ... Java: 1.8.0_252, 1.8.0_73 ← ここにopenjdkの11とか14とかあった。 ...
みたいな感じ。で、動くやつと動かないやつがあるので、動くやつにしたい!でも変えられない。どこにこの設定が書かれているのか、隅々まで探したのがよくわからない。そんな中、
$ /usr/libexec/java_home -V Matching Java Virtual Machines (2): 1.8.0_252, x86_64: "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home 1.8.0_73, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
というのを発見。
うーん。よくわからんから、/Library/Java/JavaVirtualMachines/の下のadoptopenjdk-8.jdkみたいのを..._bakみたいにとりあえず退避したものの、この下にパスが通っているとここにリストされてしまうっぽいので、全然違うところに移したらば、無事にリストから消えてくれて、brew configしても消えてくれた。スバラシス。
これで、動かないJavaをとりあえず退避。
けっこう危険な方法に見えるのですが、
macOSで古いJDKをアンインストール - Qiita
を見ると、一応こうやってもOKということで敢行。
動くバージョンだけ残して、brew install trinity(ゴタゴタの中で一度 消してみたのである)。そうしたらば無事に入った!よっしゃ。
さてさて改めてTrinityを走らせたのですが、あれ、やっぱり動かん。これまたよく見るとやっぱりJavaのところで止まっている。(java -versionも動かない)。うーん。多分、何か別のが(依存関係で)入ったときに環境が壊れたのだろうと言うことでJavaを改めてインストール。今回は
$ brew cask install adoptopenjdk8
これでとりあえず動いたのでメデタシメデタシ。
(この後、FASTQのヘッダ行がとか、ホームディレクトリの~が展開されなかったりとかいろいろあるのだが、それはまた別の記事にしましょうか。)