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
(令人惊讶的是我有 2 个 arm-none-eabi-gdb)。strace
帮助我解决了这个难题。
答案2
看来是权限问题。这可以解释为什么 with sudo
(即以“root”身份工作)可以毫无问题地查找和使用共享库,但普通用户却不能。
我假设您有一个libncurses.so.5
到系统中使用的实际版本的符号链接。其结果ls -l
对于了解链接指向的位置及其模式(权限)以及检查路径的权限非常有帮助。
库上的符号链接可以正常工作,只要它们跟踪的最终目标存在并且可以访问。