1. トップ
  2. 語り合う
  3. みんなの広場
  4. Trinityのコンパイルができません

みんなの広場

研究

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 版を使用する必要があります。

コメントする

お名前(ニックネーム可)
メールアドレス
コメント
アイコン
  • 入力いただいた情報は自動で掲載されません。
    当館の担当者が内容を確認の上、後日掲載させていただきます。
    掲載の折にはメールでご連絡いたします。
  • 内容によっては掲載されない場合があります。
  • メールアドレスは上記以外の目的に使用いたしません。