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
リンクが指す場所とそのモード(権限)を理解し、パスの権限を確認するのに非常に役立ちます。
ライブラリのシンボリックリンクには、追跡する最終ターゲットが存在し、アクセス可能。