将 libstdc++.so.6 降级到版本“GLIBCXX_3.4.20”

将 libstdc++.so.6 降级到版本“GLIBCXX_3.4.20”

我正在尝试使用 Raspberry Pi 的工具链交叉编译 dlib,并将 SD 卡安装到我的 Linux 主机上。

成功构建和安装后,我启动我的 Pi,然后运行

python -c 'import dlib'

这是错误输出:

ImportError: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by dlib/dlib.so)

当我在 Raspberry Pi 上运行它时,我得到的是:

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_DEBUG_MESSAGE_LENGTH

这是怎么回事?我怎样才能解决这个问题?在我的 Pi 上,libstdc++已经是最新版本了。

这是我的主机的问题吗,正如预期的那样,它有字符串GLIBCXX_3.4.22

如果可能的话,我可以在主机上降级 libstdc++ 使其支持的最高版本为 3.4.20 吗?如何?

主持人:

操作系统:Ubuntu 17.04 64位(amd64)

交叉编译环境:官方工具链托管在这里:树莓派工具

另一件可能有帮助的事情是,我将 SD 卡(包含 Raspbian 操作系统)安装到我的主机上,然后使用 cmake 工具链文件将其设置sysroot为 SD 卡的位置。

输出dpkg -l|grep 'gcc.*arm'

abhishek@K  ~/rpi  $ dpkg -l|grep 'gcc.*arm' ii gcc-6-arm-linux-gnueabihf 6.3.0-12ubuntu2cross1 amd64 GNU C compiler ii gcc-6-arm-linux-gnueabihf-base:amd64 6.3.0-12ubuntu2cross1 amd64 GCC, the GNU Compiler Collection (base package) ii gcc-arm-linux-gnueabihf 4:6.3.0-2ubuntu1 amd64 GNU C compiler for the armhf architecture ii libgcc-6-dev-armhf-cross 6.3.0-12ubuntu2cross1 all GCC support library (development files) ii libgcc1-armhf-cross 1:6.3.0-12ubuntu2cross1 all GCC support library

笔记:我把它发布到树莓派SE网站上,但被建议转移问题。

相关内容