4

ここでダウンロードできるopenblasおよびlapackblas/cblasを使用して、BLAS、CBLAS、LAPACK、および OpenBLAS ライブラリをソースからインストールしたかったのです。

まず、システムの blas/cblas および lapack ライブラリを削除しましたが、残念ながら atlas ライブラリをアンインストールできませんでした (blas と lapack の両方を使用することも、atlas をすべて削除することもできません)。インストール後にアトラスを削除できると思ったので、気にせずにダウンロードしたライブラリのコンパイルを開始しました。

ビルドプロセスはこのチュートリアルに基づいていました。完全を期すために、手順をリストします。

  1. オープンブラス。Makefile.rule (NO_CBLAS=1, NO_LAPACK=1, NO_LAPACKE=1) ファイルを編集した後、次のコードを実行します。

    make FC=gfortran
    sudo make PREFIX=/usr/local/ install
    
  2. CBLAS。Makefile.in を編集した後 (-lpthread とは別に、-pthread フラグを追加する必要がありました):

    make
    cd lib
    ar -x libcblas.a
    gfortran -lopenblas -shared -o libcblas.so *.o
    sudo cp libcblas.* /usr/local/lib/
    
  3. ラパック。make.inc ファイルを編集した後:

    make lapacklib
    mkdir tmp
    cd tmp
    cp ../liblapack.3.6.0.a .
    ar -x liblapack.3.6.0.a
    gfortran -lopenblas -lcblas -shared -o liblapack.3.6.0.so *.o
    sudo cp liblapack.3.6.0.* /usr/local/lib
    
    
    cd /usr/local/lib
    sudo ln -sn liblapack.3.6.0.a liblapack.a
    sudo ln -sn liblapack.3.6.0.so liblapack.so
    
  4. ラパック。次の方法で gcc の make.inc ファイルを編集しました。

    CC = gcc
    CFLAGS = -O3 -march=native -m64 -fomit-frame-pointer -fPIC
    

    次に実行します:

    make lapackelib
    mkdir tmpe
    cd tmpe
    cp ../liblapacke.a .
    ar -x liblapacke.a
    gfortran -lopenblas -lcblas -shared -o liblapacke.so *.o
    sudo cp liblapacke.* /usr/local/lib
    
  5. ブラス。make.inc ファイルを編集しました:

    FORTRAN  = gfortran
    OPTS     = -O3 -march=native -m64 -fomit-frame-pointer -fPIC
    DRVOPTS  = $(OPTS)
    NOOPT    = -O0 -fPIC
    LOADER   = gfortran
    LOADOPTS = -lopenblas -lcblas
    

    そして実行します:

    make
    gfortran -lopenblas -shared -o libblas.so *.o
    sudo cp libblas.* /usr/local/lib/
    

これで、静的ライブラリと共有ライブラリがすべて /usr/local/lib ディレクトリに配置されました。最終的にアトラスをアンインストールできるように、それらがインストールされていることを Linux mint 17.2 システムに伝えたいと思います。それを行う方法はありますか?

私の一般的な目標は、OpenBLAS を適切に設定することだったので、他のすべてのライブラリもソースからコンパイルしたかったのです。また、ライブラリが機能しているかどうか、または何か間違ったことをしたかどうかも確認したいと思います。

また、私の長期的な目標は、OpenBLAS で動作する Arpack と SuperLU をインストールし、最後に Armadillo ライブラリ (C++) をインストールすることです。

4

1 に答える 1

1

LD_LIBRARY_PATH環境変数を使用できます。に追加しただけ~/.bashrcです。すなわち

$ echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc

注:二重に注意してください>>前のコンテンツを削除しないでください。

2 番目のオプションは、にパスを追加すること/etc/ld.so.conf.dです。すなわち

$ echo /usr/local/lib > /etc/ld.so.conf.d/myblas.conf

詳細については、この質問も確認してください。

于 2016-04-18T14:51:36.237 に答える