共有ライブラリの読み込みエラー:libmysqlclient.so.20:共有オブジェクトファイルを開くことができません。そのファイルまたはディレクトリはありません。

共有ライブラリの読み込みエラー:libmysqlclient.so.20:共有オブジェクトファイルを開くことができません。そのファイルまたはディレクトリはありません。

だから私は大学で書いたプログラムをDebianで運営しています。これを行うと、次のエラーが発生します。

error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory 

検索結果が異なるため、次のパッケージをインストールしてみました。

apt-get install libmariadbclient-dev-compat
apt-get install default-libmysqlclient-dev
apt-get install mysql-common

検索:

find .  -name 'libmysqlclient*' 
locate libmysqlclient.so

何の出力も得られませんでした。

私はyumを使って仮定された修正を見つけましたが、Debianを使用しているので、これは私にとって解決策ではありません。 Oracle MySQL 5.7で.20を見つけました(https://community.centminmod.com/threads/libmysqlclient-so-missing.9052/)

この問題を解決する方法を知っている人はいますか?よろしくお願いします。

ベストアンサー1

明らかに、このプログラムはwww.mysql.comからダウンロードしたMySQLバージョン用にコンパイルされました。 libmysqlclient.so.20 は Debian では使用できません。

以下から.debファイルをダウンロードできます。https://dev.mysql.com/downloads/file/?id=477124www.mysql.com aptリポジトリにアクセスするようにDebian(ベース)システムを設定します。その後、適切なデータを更新できます。

# apt-get update

正しいライブラリをインストールしてください。

# apt-get install libmysqlclient20

インストールされている場合、DebianバージョンのMySQLが削除される可能性があることに注意してください。だからあなたが欲しいものが何であるかをよく考えてください。

もう1つの方法は、aptリポジトリを参照してlibmysqlclient20 .debを手動でダウンロードすることです。たとえば、次のようになります。

# dpkg-deb --extract libmysqlclient20_5.7.23-1debian9_amd64.deb /tmp/libmysqlclient20

その後、libmysqlclient.so.20を共有ライブラリが検索されている場所(/usr/local/lib/など)にコピーすると機能します。

おすすめ記事