kuroの覚え書き

96の個人的覚え書き

ETE Toolkitで系統解析

ClustalWはお手軽にアライメントをとって系統樹を描くことが出来る。
しかしClustalWで出力されるdndファイルを使った系統樹は近年、系統樹としてはあまり信頼をされない。
ClustalWで実施される解析は近隣結合法(Neighbor joining method)で、計算量は極めて少なく、短時間で描写できるメリットは有るが信頼度としてはあまり高いとは言えない。
なので、大まかに系統を描いてざっくりとした分類をするくらいなら問題ないが、系統解析がメインの仕事に用いるにはちょっと役者不足と言われる。

そこで最尤法やBayes法による描写ができる環境構築を目指すことにした。目に止まったのはETE Toolkitというpythonパッケージ。
etetoolkit.org

まずはインストールしてみる。CentOS7サーバに入れていつものようにWebアプリに組み込みたい。
私はAnacondaは使わない方針なので、

$ sudo yum install PyQt4.x86_64 numpy.x86_64 python-lxml.x86_64 python-six.noarch
$ python3 -m pip install --upgrade ete3
$ ete3 upgrade-external-tools

と実施したが、

$ ete3 upgrade-external-tools
target directory? [/home/kuro/.etetoolkit/]:
Downloading latest version of tools...
Decompressing...
Compiling tools...
Compiling tcoffee ...Ok
Compiling clustalo ...argtable2 library is missing. Attempting to compile a local version
Ok
Compiling muscle ...Ok
Compiling dialigntx ...Ok
Compiling mafft ...Ok
Compiling kalign ...Ok
Compiling prank ...Ok
Compiling probcons ...Ok
Compiling trimal ...Ok
Compiling pmodeltest ...Ok
Compiling fasttree ...Ok
Compiling raxml ...Ok
Compiling phyml ...Ok
Compiling consel ...Ok
Compiling paml ...Ok
Compiling slr ...ERROR
Compiling slr. Check log /home/kuro/.etetoolkit/ext_apps-latest/slr.log

という感じでslrのコンパイルでエラーが出て止まってしまう。

$ cat /home/kuro/.etetoolkit/ext_apps-latest/slr.log
rm: `/home/kuro/.etetoolkit/ext_apps-latest/bin/Slr' を削除できません:そのようなファイルやディレクトリはありません
rm -f *~ *.o
rm: `../bin/Slr'を削除できません:そのようなファイルやディレクトリはありません
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o slr.o -c slr.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o like.o -c like.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o tree.o -c tree.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o data.o -c data.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o rng.o -c rng.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o model.o -c model.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o bases.o -c bases.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o codonmodel.o -c codonmodel.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o gencode.o -c gencode.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o utility.o -c utility.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o matrix.o -c matrix.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o optimize_new.o -c optimize_new.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o spinner.o -c spinner.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o options.o -c options.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o tree_data.o -c tree_data.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o linemin.o -c linemin.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o gamma.o -c gamma.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o statistics.o -c statistics.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o mystring.o -c mystring.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o nucmodel.o -c nucmodel.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o root.o -c root.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o vec.o -c vec.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o brent.o -c brent.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o rbtree.o -c rbtree.c
gcc  -o ../bin/Slr slr.o like.o tree.o data.o rng.o model.o  bases.o codonmodel.o gencode.o utility.o matrix.o optimize_new.o spinner.o options.o tree_data.o linemin.o gamma.o statistics.o mystring.o nucmodel.o root.o vec.o brent.o rbtree.o -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99 -L -lblas -llapack -lm 
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dgetrf.o): in function `dgetrf_':
dgetrf.f:(.text+0x348): undefined reference to `dtrsm_'
/home/linuxbrew/.linuxbrew/bin/ld: dgetrf.f:(.text+0x3f9): undefined reference to `dgemm_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dgetri.o): in function `dgetri_':
dgetri.f:(.text+0x335): undefined reference to `dtrsm_'
/home/linuxbrew/.linuxbrew/bin/ld: dgetri.f:(.text+0x47d): undefined reference to `dswap_'
/home/linuxbrew/.linuxbrew/bin/ld: dgetri.f:(.text+0x505): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dgetri.f:(.text+0x59f): undefined reference to `dgemm_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dsyev.o): in function `dsyev_':
dsyev.f:(.text+0x508): undefined reference to `dscal_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dsytrd.o): in function `dsytrd_':
dsytrd.f:(.text+0x386): undefined reference to `dsyr2k_'
/home/linuxbrew/.linuxbrew/bin/ld: dsytrd.f:(.text+0x6a7): undefined reference to `dsyr2k_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dtrtri.o): in function `dtrtri_':
dtrtri.f:(.text+0x140): undefined reference to `_gfortran_concat_string'
/home/linuxbrew/.linuxbrew/bin/ld: dtrtri.f:(.text+0x27a): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dtrtri.f:(.text+0x2c4): undefined reference to `dtrsm_'
/home/linuxbrew/.linuxbrew/bin/ld: dtrtri.f:(.text+0x570): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dtrtri.f:(.text+0x5f1): undefined reference to `dtrsm_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dsteqr.o): in function `dsteqr_':
dsteqr.f:(.text+0xab0): undefined reference to `dswap_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(xerbla.o): in function `xerbla_':
xerbla.f:(.text+0x49): undefined reference to `_gfortran_st_write'
/home/linuxbrew/.linuxbrew/bin/ld: xerbla.f:(.text+0x54): undefined reference to `_gfortran_string_len_trim'
/home/linuxbrew/.linuxbrew/bin/ld: xerbla.f:(.text+0x69): undefined reference to `_gfortran_transfer_character_write'
/home/linuxbrew/.linuxbrew/bin/ld: xerbla.f:(.text+0x79): undefined reference to `_gfortran_transfer_integer_write'
/home/linuxbrew/.linuxbrew/bin/ld: xerbla.f:(.text+0x81): undefined reference to `_gfortran_st_write_done'
/home/linuxbrew/.linuxbrew/bin/ld: xerbla.f:(.text+0x8a): undefined reference to `_gfortran_stop_string'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dgetrf2.o): in function `dgetrf2_':
dgetrf2.f:(.text+0x18e): undefined reference to `dtrsm_'
/home/linuxbrew/.linuxbrew/bin/ld: dgetrf2.f:(.text+0x1f6): undefined reference to `dgemm_'
/home/linuxbrew/.linuxbrew/bin/ld: dgetrf2.f:(.text+0x35c): undefined reference to `idamax_'
/home/linuxbrew/.linuxbrew/bin/ld: dgetrf2.f:(.text+0x425): undefined reference to `dscal_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dlatrd.o): in function `dlatrd_':
dlatrd.f:(.text+0x125): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x1a3): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x29e): undefined reference to `dsymv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x326): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x3a0): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x425): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x4a2): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x4f0): undefined reference to `dscal_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x55d): undefined reference to `ddot_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x5c1): undefined reference to `daxpy_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x6f5): undefined reference to `dsymv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x738): undefined reference to `dscal_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x788): undefined reference to `ddot_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x7d2): undefined reference to `daxpy_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x880): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x8f7): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0x99a): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0xa16): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlatrd.f:(.text+0xa9f): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dlatrd.o):dlatrd.f:(.text+0xb16): more undefined references to `dgemv_' follow
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dsytd2.o): in function `dsytd2_':
dsytd2.f:(.text+0x1b3): undefined reference to `dsymv_'
/home/linuxbrew/.linuxbrew/bin/ld: dsytd2.f:(.text+0x1ff): undefined reference to `ddot_'
/home/linuxbrew/.linuxbrew/bin/ld: dsytd2.f:(.text+0x249): undefined reference to `daxpy_'
/home/linuxbrew/.linuxbrew/bin/ld: dsytd2.f:(.text+0x28b): undefined reference to `dsyr2_'
/home/linuxbrew/.linuxbrew/bin/ld: dsytd2.f:(.text+0x46d): undefined reference to `dsymv_'
/home/linuxbrew/.linuxbrew/bin/ld: dsytd2.f:(.text+0x4cc): undefined reference to `ddot_'
/home/linuxbrew/.linuxbrew/bin/ld: dsytd2.f:(.text+0x529): undefined reference to `daxpy_'
/home/linuxbrew/.linuxbrew/bin/ld: dsytd2.f:(.text+0x58a): undefined reference to `dsyr2_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dtrti2.o): in function `dtrti2_':
dtrti2.f:(.text+0x159): undefined reference to `dtrmv_'
/home/linuxbrew/.linuxbrew/bin/ld: dtrti2.f:(.text+0x17d): undefined reference to `dscal_'
/home/linuxbrew/.linuxbrew/bin/ld: dtrti2.f:(.text+0x2e5): undefined reference to `dtrmv_'
/home/linuxbrew/.linuxbrew/bin/ld: dtrti2.f:(.text+0x310): undefined reference to `dscal_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dlarfg.o): in function `dlarfg_':
dlarfg.f:(.text+0x39): undefined reference to `dnrm2_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfg.f:(.text+0x16f): undefined reference to `dscal_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfg.f:(.text+0x1fc): undefined reference to `dscal_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfg.f:(.text+0x255): undefined reference to `dnrm2_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dlarfb.o): in function `dlarfb_':
dlarfb.f:(.text+0x1a5): undefined reference to `dcopy_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x22a): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x299): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x313): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x4ac): undefined reference to `dcopy_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x513): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x582): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x5ee): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x71c): undefined reference to `dcopy_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x783): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x7f2): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x85e): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x995): undefined reference to `dcopy_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0xa29): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0xa98): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0xb24): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0xc7a): undefined reference to `dcopy_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0xd09): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0xd79): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0xe06): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0xf44): undefined reference to `dcopy_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0xfb3): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x1023): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x1090): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x11cf): undefined reference to `dcopy_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x1251): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x12c1): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x133c): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x1475): undefined reference to `dcopy_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x14e6): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x1556): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x15c3): undefined reference to `dtrmm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x16c4): undefined reference to `dgemm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x1734): undefined reference to `dgemm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x17b1): undefined reference to `dgemm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x1835): undefined reference to `dgemm_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarfb.f:(.text+0x18a3): undefined reference to `dgemm_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dlarfb.o):dlarfb.f:(.text+0x191e): more undefined references to `dgemm_' follow
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dlarft.o): in function `dlarft_':
dlarft.f:(.text+0x4c4): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarft.f:(.text+0x543): undefined reference to `dtrmv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarft.f:(.text+0x6db): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarft.f:(.text+0x87d): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarft.f:(.text+0x91b): undefined reference to `dtrmv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarft.f:(.text+0xa6a): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dorg2l.o): in function `dorg2l_':
dorg2l.f:(.text+0x221): undefined reference to `dscal_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dorg2r.o): in function `dorg2r_':
dorg2r.f:(.text+0x2e6): undefined reference to `dscal_'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dlarf.o): in function `dlarf_':
dlarf.f:(.text+0x13a): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarf.f:(.text+0x185): undefined reference to `dger_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarf.f:(.text+0x206): undefined reference to `dgemv_'
/home/linuxbrew/.linuxbrew/bin/ld: dlarf.f:(.text+0x250): undefined reference to `dger_'
/home/linuxbrew/.linuxbrew/bin/ld: matrix.o: in function `Matrix_Matrix_Mult':
matrix.c:(.text+0x7c): undefined reference to `dgemm_'
/home/linuxbrew/.linuxbrew/bin/ld: matrix.o: in function `Matrix_MatrixT_Mult':
matrix.c:(.text+0x123): undefined reference to `dgemm_'
/home/linuxbrew/.linuxbrew/bin/ld: matrix.o: in function `MatrixT_Matrix_Mult':
matrix.c:(.text+0x1bc): undefined reference to `dgemm_'
collect2: エラー: ldはステータス 1 で終了しました
make: *** [Slr] エラー 1
cp: `../bin/Slr'をstatできません:そのようなファイルやディレクトリはありません
ls: /home/rnaseq/.etetoolkit/ext_apps-latest/bin/Slr にアクセスできません:そのようなファイルやディレクトリはありません

とな。
discussionを見ると同じような症状が書かれている。
Compiling slr ...ERROR

LAPACKライブラリをインストールせよ。とな。

$ brew install LAPACK

これだけではだめ。
liblapackとlibblasが/usr/lib/liblapack.aと/usr/lib/libblas.aにあることを確認。

$ ete3 upgrade-external-tools
target directory? [/home/kuro/.etetoolkit/]:

とインストールを開始したら、すかさず別のターミナルで

$ cd .etetoolkit/ext_apps-latest/src/slr/src
$ nano Makefile.linux

Makefileを開き、

LDFLAGS = -L$(BLASDIR) -lblas -llapack -lm

LDFLAGS = -L/usr/lib/lapack -llapack -L/usr/lib/libblas -lblas -lm

に書き換える。なんとトリッキーな。

すると、やっぱりslrでエラーが出る。

$ cat /home/kuro/.etetoolkit/ext_apps-latest/slr.log
rm: `/home/kuro/.etetoolkit/ext_apps-latest/bin/Slr' を削除できません:そのようなファイルやディレクトリはありません
rm -f *~ *.o
rm: `../bin/Slr'を削除できません:そのようなファイルやディレクトリはありません
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o slr.o -c slr.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o like.o -c like.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o tree.o -c tree.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o data.o -c data.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o rng.o -c rng.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o model.o -c model.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o bases.o -c bases.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o codonmodel.o -c codonmodel.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o gencode.o -c gencode.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o utility.o -c utility.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o matrix.o -c matrix.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o optimize_new.o -c optimize_new.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o spinner.o -c spinner.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o options.o -c options.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o tree_data.o -c tree_data.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o linemin.o -c linemin.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o gamma.o -c gamma.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o statistics.o -c statistics.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o mystring.o -c mystring.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o nucmodel.o -c nucmodel.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o root.o -c root.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o vec.o -c vec.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o brent.o -c brent.c
gcc -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99  -o rbtree.o -c rbtree.c
gcc  -o ../bin/Slr slr.o like.o tree.o data.o rng.o model.o  bases.o codonmodel.o gencode.o utility.o matrix.o optimize_new.o spinner.o options.o tree_data.o linemin.o gamma.o statistics.o mystring.o nucmodel.o root.o vec.o brent.o rbtree.o -O4 -fomit-frame-pointer -funroll-loops -DNDEBUG -std=gnu99 -L/usr/lib/lapack -llapack -L/usr/lib/libblas -lblas -lm 
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(dtrtri.o): in function `dtrtri_':
dtrtri.f:(.text+0x140): undefined reference to `_gfortran_concat_string'
/home/linuxbrew/.linuxbrew/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../liblapack.a(xerbla.o): in function `xerbla_':
xerbla.f:(.text+0x49): undefined reference to `_gfortran_st_write'
/home/linuxbrew/.linuxbrew/bin/ld: xerbla.f:(.text+0x54): undefined reference to `_gfortran_string_len_trim'
/home/linuxbrew/.linuxbrew/bin/ld: xerbla.f:(.text+0x69): undefined reference to `_gfortran_transfer_character_write'
/home/linuxbrew/.linuxbrew/bin/ld: xerbla.f:(.text+0x79): undefined reference to `_gfortran_transfer_integer_write'
/home/linuxbrew/.linuxbrew/bin/ld: xerbla.f:(.text+0x81): undefined reference to `_gfortran_st_write_done'
/home/linuxbrew/.linuxbrew/bin/ld: xerbla.f:(.text+0x8a): undefined reference to `_gfortran_stop_string'
collect2: エラー: ldはステータス 1 で終了しました
make: *** [Slr] エラー 1
cp: `../bin/Slr'をstatできません:そのようなファイルやディレクトリはありません
ls: /home/rnaseq/.etetoolkit/ext_apps-latest/bin/Slr にアクセスできません:そのようなファイルやディレクトリはありません

しかしエラーが減っている。

ん、よく見ると間違っているじゃないか。

LDFLAGS = -L/usr/lib/liblapack -llapack -L/usr/lib/libblas -lblas -lm

なんじゃないか?

いや同じエラーが出て止まるな・・・

未解決