私はgslを使用します。 .cppファイルをコンパイルして実行した後、以下のエラーが発生しました。
共有ライブラリのロード中にエラーが発生しました:libgsl.so.0:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません
https://groups.google.com/forum/#!topic/cortex_var/6vluX7pP0Sk & 共有ライブラリの読み込み中のLinuxエラー:共有オブジェクトを開けません)ファイル:そのようなファイルやディレクトリはありません & http://www.gnu.org/software/gsl/manual/html_node/Shared-Libraries.html
そして、上記のリンクが書いたように私はやったが、エラーはまだ残っています。誰か助けてもらえますか?
それを機能させるには、次の手順を実行します
Borne Shellを起動する
$LD_LIBRARY_PATH= path to your gsl lib folder inside the gsl installation folder
$export LD_LIBRARY_PATH
今あなたの実行可能ファイルを実行します
正常に動作するはずです。
私の経験では、fastStructureはgsl 1.6に依存していますが、最新バージョンには依存していません。
wget http://gnu.mirror.vexxhost.com/gsl/gsl-1.6.tar.gz
tar -zxvf gsl-1.6.tar.gz
cd gsl-1.16
./configure
make
Sudo make install
これらの行をホームディレクトリの.bashrc
ファイルに追加します。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export CFLAGS="-I/usr/local/include"
export LDFLAGS="-L/usr/local/lib"
次に、source〜/ .bashrcを実行して、これらの環境変数を設定します。
バージョンを最新から1.6に変更すると問題なく動作します。
Arch LinuxのKritaでも同じエラーが発生しました。私はとシンボリックリンクを作りました
ln /usr/lib/libgsl.so /usr/lib/libgsl.so.0
そしてそれはそれを修正しました。
まず、ファイル(libgsl.so.0)を見つける必要があります。これを行うには、たとえば、find
コマンドを使用します。
Sudo find / -name "libgsl.so.0"
ファイルが/usr/local/lib
にあると仮定します。 (ファイルが見つからない場合は、対応するパッケージをインストールしますorソースをダウンロードし、ビルドしてインストールします。)ここで、2つのオプションがあります。
(1)クイック&ダーティー:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
これにより、ライブラリのパスが環境変数に追加されます。このオプションの欠点は、現在のセッションでのみ有効であることです。他のユーザーには機能しません。ログオフして再度ログオンすると機能しなくなります。
(2)永久:
/etc/ld.so.conf
を確認してください。 /usr/local/lib
がリストにない場合は、追加してください。次に、ldconfig
を実行して共有オブジェクトファイルを検出し、システム全体のインデックスに追加します。
Gslライブラリをリンクするときに、メイクファイルまたはコマンドラインでgsl-config --libs
を使用できます。 gsl-config
と入力するだけで、提供されているオプションを見つけることができます。必要なオプションを選択すると、コンパイルとリンクのプロセスが以前よりもはるかに簡単になります。その結果、ターミナルでgsl-config --libs
と入力すると、-L/usr/local/lib -lgsl -lgslcblas -lm
が表示されます。非常に簡単ですが、最初にgslがインストールされている場所を知っておく必要があります。ディレクトリをPATH
環境変数に追加するか、絶対パスを使用してgsl-config
を実行できます。
ライブラリを更新してみましたか?実行しようとしたプログラムは、新しいバージョンのgslを必要としました(私は1.9.5でしたが、2.0.0以降が必要でした)。
Archを使用している場合は、次のコマンドを実行できます。
yaourt gsl
適切なものを選択します。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/shg047/software/gsl/lib/
例:to-mr:共有ライブラリの読み込み中のエラー:libgsl.so.19:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません
必要だった libgsl.so.19
:
/snap/inkscape/current/bin/inkscape: error while loading shared libraries: libgsl.so.19: cannot open shared object file: No such file or directory
私はそれを解決しました:
libgsl.so.19
そしてそれを〜/ anaconda3/libで見つけましたLD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/anaconda3/lib
(最高 〜/ .basrcに追加 )