首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在加载共享库时出错: libncurses.so.5:无法打开共享对象文件:没有这样的文件或目录

在加载共享库时出错: libncurses.so.5:无法打开共享对象文件:没有这样的文件或目录
EN

Stack Overflow用户
提问于 2020-09-24 13:48:11
回答 1查看 5K关注 0票数 1

Ubuntu 20.04.1 LTS 64位3.36.3 Gnome Intel核-i7-975H 31.2GiB内存1.6TB磁盘空间有我的流感疫苗新冠肺炎: Neg,但我很无聊,反正哪儿也不去.

我尝试过一些修复方法,包括这个:

消息“无法运行arm-none-eabi-gdb:无法找到libncurses.so.5”

但没有爱。我仍然继续收到同样的错误。我正在尝试使用Arduino IDE v1.8.13闪现一个softdevice。GDB版本如下:

arm-none-eabi-gdb --版本

libncurses在这里的版本:

“grep”^ii

我不知道还能做些什么。有人会对进一步检查什么有什么想法吗?

@MarkPlotnick -我运行ls -ld $(dpkg -S libncurses.so.5),结果:

ls -ld $(dpkg -S libncurses.so.5)

然后,通过尝试安装libncurses5:i 386,我专门检查了它的安装情况,它显示了:

代码语言:javascript
运行
复制
libncurses5:i386 is already the newest version (6.2-0ubuntu2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

我又试了一次,有点不同:

代码语言:javascript
运行
复制
sudo apt-get -y install libc6:i386 libstdc++6:i386 libncurses5:i386 libudev1:i386

然后libudev1:i 386是唯一要安装的软件包。但如果我想找到文件:

代码语言:javascript
运行
复制
~$ locate libncurses5:i386

然后我在这个位置得到了五个文件:

代码语言:javascript
运行
复制
/var/lib/dpkg/info/libncurses5:i386.list
/var/lib/dpkg/info/libncurses5:i386.md5sums
/var/lib/dpkg/info/libncurses5:i386.shlibs
/var/lib/dpkg/info/libncurses5:i386.symbols
/var/lib/dpkg/info/libncurses5:i386.triggers

就像薛定谔文件..。

EN

回答 1

Stack Overflow用户

发布于 2020-09-24 15:23:45

首先,由于您正在运行64位版本的Ubuntu,您应该验证安装了Linux64位版本的Arduino IDE v1.18.13。如果不是这样,这可能解释为什么安装i386包没有解决您的问题--如果没有,我强烈建议删除Linux32位版本,然后安装Linux64位版本。

可以通过执行以下命令来完成此验证:

代码语言:javascript
运行
复制
file ~/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-gdb

你应该看到这样的东西:

代码语言:javascript
运行
复制
/home/user/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-gdb: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.8, stripped

这里的重要信息将是ELF 64-bit LSB executable

libncurses.so.5的64位版本当然缺失了:

代码语言:javascript
运行
复制
ldd ~/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-gdb
        linux-vdso.so.1 (0x00007ffccf1ed000)
        libncurses.so.5 => not found
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f68fa317000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f68fa125000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f68fa11f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f68fa482000)

可以使用以下命令安装它:

代码语言:javascript
运行
复制
sudo apt-get install libncurses5

运行sudo ldconfig

代码语言:javascript
运行
复制
ldd  ~/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-gdb
        linux-vdso.so.1 (0x00007ffcc41f5000)
        libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x00007f890c00d000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f890bebe000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f890bccc000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f890bcc6000)
        libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f890bc98000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f890c04f000)

您的GDB现在应该是功能性的:

代码语言:javascript
运行
复制
~/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-gdb -tui

请注意,在Ubuntu20.04.1上,同样的问题也可能发生在GNU Arm嵌入式工具链上。它可以通过安装丢失的软件包来修复:

sudo apt-get install libtinfo5 libncursesw5 libpython2.7

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64047889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档