ユーザーに共有ライブラリにアクセスする権限がありません。

ユーザーに共有ライブラリにアクセスする権限がありません。

arm-none-eabi-gdb私はDebianを使用していますが、ユーザーとして実行するのに問題があります。次のメッセージを受け取りましたarm-none-eabi-gdb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory。これを実行する唯一の方法はsudo arm-none-eabi-gdb。 libncurses.so.5ライブラリを確認した結果、ユーザーに実行権限がないことが確認され、に変更されましたchmod。これですべてのユーザーが実行できますが、sudoなしで呼び出すとエラーが発生しますarm-none-eabi-gdb

私を止めるメカニズムが何であるかを説明できる人はいますか?

答え1

問題が解決しました。何が起こるかは、arm-none-eabi-gdbコマンドが別のディレクトリにあるgdbプログラムを実行することですsudo arm-none-eabi-gdb(驚くべきことに、arm-none-eabi-gdbが2つあります)。straceこの問題を解決するのに役立ちました。

答え2

権限の問題のようです。これは、with sudo(つまり、「root」で作業)が問題なく共有ライブラリを見つけて使用できるが、一般ユーザーが利用できない理由を説明します。

libncurses.so.5あなたのシステムで使用されている実際のバージョンへのシンボリックリンクがあるとします。結果は、ls -lリンクが指す場所とそのモード(権限)を理解し、パスの権限を確認するのに非常に役立ちます。

ライブラリのシンボリックリンクには、追跡する最終ターゲットが存在し、アクセス可能

関連情報