web-dev-qa-db-ja.com

共有ライブラリのロード中にエラーが発生しました:libgsl.so.0:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません

私は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

そして、上記のリンクが書いたように私はやったが、エラーはまだ残っています。誰か助けてもらえますか?

16
Abdolvahed

それを機能させるには、次の手順を実行します

Borne Shellを起動する

$LD_LIBRARY_PATH= path to your gsl lib folder inside the gsl installation folder
$export LD_LIBRARY_PATH

今あなたの実行可能ファイルを実行します

正常に動作するはずです。

11
Inquisitive

私の経験では、fastStructuregsl 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に変更すると問題なく動作します。

6
ginkgo

Arch LinuxのKritaでも同じエラーが発生しました。私はとシンボリックリンクを作りました

ln /usr/lib/libgsl.so /usr/lib/libgsl.so.0

そしてそれはそれを修正しました。

5
ahathoor

まず、ファイル(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を実行して共有オブジェクトファイルを検出し、システム全体のインデックスに追加します。

5
ManuelAtWork

Gslライブラリをリンクするときに、メイクファイルまたはコマンドラインでgsl-config --libsを使用できます。 gsl-configと入力するだけで、提供されているオプションを見つけることができます。必要なオプションを選択すると、コンパイルとリンクのプロセスが以前よりもはるかに簡単になります。その結果、ターミナルでgsl-config --libsと入力すると、-L/usr/local/lib -lgsl -lgslcblas -lmが表示されます。非常に簡単ですが、最初にgslがインストールされている場所を知っておく必要があります。ディレクトリをPATH環境変数に追加するか、絶対パスを使用してgsl-configを実行できます。

1
zmwang

ライブラリを更新してみましたか?実行しようとしたプログラムは、新しいバージョンのgslを必要としました(私は1.9.5でしたが、2.0.0以降が必要でした)。

Archを使用している場合は、次のコマンドを実行できます。

yaourt gsl

適切なものを選択します。

1
user6206320
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/shg047/software/gsl/lib/

例:to-mr:共有ライブラリの読み込み中のエラー:libgsl.so.19:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません

1
Shicheng Guo

必要だった 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

私はそれを解決しました:

  1. インストール Anaconda
  2. 検索 libgsl.so.19そしてそれを〜/ anaconda3/libで見つけました
  3. 実行LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/anaconda3/lib(最高 〜/ .basrcに追加
0
JoKalliauer