
Fedora 33でアプリケーションを実行しようとしていますが、実行可能ファイルを実行すると次のエラーが発生します。
error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
libGL error: MESA-LOADER: failed to open iris (search paths /usr/lib64/dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open swrast (search paths /usr/lib64/dri)
libGL error: failed to load driver: swrast
X Error of failed request: GLXBadContext
Major opcode of failed request: 149 (GLX)
Minor opcode of failed request: 6 (X_GLXIsDirect)
Serial number of failed request: 52
Current serial number in output stream: 51
ここでスレッドを追ってみました。https://www.reddit.com/r/Fedora/comments/hhytvl/libgl_error_mesaloader_failed_to_open_iris/しかし、まだ仕事を求めていません。
ドライバーiris_dri.so
と/usr/lib/dri
/usr/lib64/dri
助けてくれてありがとう。よろしくお願いします!
答え1
Gentoo Linuxシステムでも同じ警告が発生しました(ただし、iris部分のみ)。私の場合、再インストールすることは解決策でした。メサソフトウェアパッケージはIrisビデオカードをサポートしています。明らかに、私のラップトップの「Intel iRISx Graphics」というラベルは、私がそれを識別するのに十分な知識があればそれを示します。
Fedoraシステムに対応するものはわかりませんが、同様のもの(メサパッケージのirisオプション?別のirisパッケージ?)も問題を解決する必要があります。
答え2
問題の説明と解決策は次の場所にあります。https://stackoverflow.com/a/71010344/6079195。デフォルトでは、他のバージョンよりも優先的にlibstdc ++.so.6をシステムに強制ロードする必要があります。
ファイルシステムでこのファイルを見つけるには:
find / -name libstdc++.so.6 2>/dev/null
次に、エクスポートLD_PRELOADを.bashrcファイルに追加します。たとえば、次のようになります。
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6