研究
2023.02.04
Trinityのコンパイルができません
koro
はじめまして、koroと言います。
https://www.brh.co.jp/research/lab01/RNAseq-env/
こちらの記事で勉強させていただき、現在環境構築を行なっておりますが、Trinityのコンパイルができず質問させていただきました。
環境は以下の通りです。
M1 Max
macOS Ventura 13.2
zsh
Trinity-v2.15.0をダウンロードし、gccは”port search gcc”で出てきた以下のものをインストールしました。
gcc12 @12.2.0_2 (lang)
The GNU compiler collection
現在でもgcc12が最新のようですが、gcc12の中でも多くの種類があり、これが適切でない可能性があります。
”sudo port select gcc mp-gcc12”でコンパイラをgcc12に設定したのち、
”make && make plugins”
を行なったところ、以下のエラーで出ます。
clang: error: unsupported option '-fopenmp'
make[4]: *** [CMakeFiles/inchworm.dir/src/Fasta_entry.cpp.o] Error 1
make[3]: *** [CMakeFiles/inchworm.dir/all] Error 2
make[2]: *** [all] Error 2
make[1]: *** [all] Error 2
make: *** [inchworm_target] Error 2
もともとAnacondaが入っていましたが、一旦アンインストールしております。
示唆される解決策がございましたらご教示いただければ幸いです。
================
※研究室サイト「MacでRNA-seqデータ解析」1. 環境構築よりいただいたコメントです。
2023.02.04
1. 尾崎克久(昆虫食性進化研究室)
エラーメッセージを見ると、MacPorts の gcc ではなく Apple Xcode 純正の clang が動いていますね。
ターミナルで
"gcc —version”
と打ってみて、
"gcc (MacPorts gcc12 12.2.0_2+stdlib_flag) 12.2.0”
の様に表示されたら MacPorts 版が動いていますが、
"Apple clang version 14.0.0 (clang-1400.0.29.202)”
の様に表示されるようでしたら、clang が動いています。
まずは”make clean”としてコンパイルを初期化するか、新規に解凍orダウンロードしたソースコードを使って、以下をお試しください。
gcc の変更がうまくいかないようでしたら、
”make && make plugins” を “make.macOSX.sh”
に変更してお試しください。
これでエラーが出るようでしたら、
2. Trinity の make.macOSX.sh の「make CXX=g++ CC=gcc」を「make CXX=/opt/local/bin/g++ CC=/opt/local/bin/gcc」に、「make plugins CXX=g++ CC=gcc」を「make plugins CXX=/opt/local/bin/g++ CC=/opt/local/bin/gcc」に書き換えて“make.macOSX.sh”をお試しください。
それでもダメでしたら、Finderで「アプリケーション > ユーティリティ > ターミナル.app」の情報を開いて、「Rosetta を使用して開く」にチェックを入れてターミナルを起動し直し、本マニュアルの手順に従ってみてください。この場合、M1ネイティブにはならずx86コードでの動作になりますが、トラブルは起こりにくいです。
いずれにしても、Trinity の動作に必要な外部アプリケーション(salmonなど)が Apple Silicon では動作しませんので、これらバイオインフォマティクスのツール群が対応するまでは Rosetta で x86 版を使用する必要があります。