Link 具有特定的 GLIBC 版本
Link with specific GLIBC version
我正在使用带有 crosscompiller 的远程主机 pc 来构建 cpp 代码并将其部署到 BeagleBone Black。我的问题是,自从我尝试 运行 我的代码 <time.h>
函数后,我收到一条消息:
/lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.17' not found (required by /home/debian/app)
所以我使用 ldd --version
检查了我在 BBB 上获得的版本并得到:
ldd (Debian EGLIBC 2.13-38+deb7u8) 2.13
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
有没有办法告诉我的交叉编译器在链接时使用 GLIBC 版本 2.13 而不是 2.17?很少有研究向我提供信息,即在 BBB 上更新 GLIBC 不是简单的解决方案,所以我想知道这种方法。我会感谢所有帮助。
经过大量实验,我找到了这个解决方案。可以将 Beaglebone Black 上的 libc 版本更新到 2.17。首先从 [=14 下载 libc6_2.17-0ubuntu5_armhf.deb(用于编译硬浮点数)或 libc6-armel_2.17-0ubuntu5.1_armhf.deb(用于编译软浮点数) =]分别。
接下来,使用scp将文件复制到BBB。
scp libc6_2.17-0ubuntu5_armhf.deb root@beaglebone.local:/root
scp libc6-armel_2.17-0ubuntu5.1_armhf.deb root@beaglebone.local:/root
最后,安装包。
sudo dpkg --install libc6_2.17-0ubuntu5_armhf.deb
sudo dpkg --install libc6-armel_2.17-0ubuntu5.1_armhf.deb
尽管 ldd --version
仍显示为 2.13,但它适用于需要我设备上新版本的功能。您也可以考虑使用 sudo apt-get -f install
来摆脱旧版本。
希望对您有所帮助!
我正在使用带有 crosscompiller 的远程主机 pc 来构建 cpp 代码并将其部署到 BeagleBone Black。我的问题是,自从我尝试 运行 我的代码 <time.h>
函数后,我收到一条消息:
/lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.17' not found (required by /home/debian/app)
所以我使用 ldd --version
检查了我在 BBB 上获得的版本并得到:
ldd (Debian EGLIBC 2.13-38+deb7u8) 2.13
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
有没有办法告诉我的交叉编译器在链接时使用 GLIBC 版本 2.13 而不是 2.17?很少有研究向我提供信息,即在 BBB 上更新 GLIBC 不是简单的解决方案,所以我想知道这种方法。我会感谢所有帮助。
经过大量实验,我找到了这个解决方案。可以将 Beaglebone Black 上的 libc 版本更新到 2.17。首先从 [=14 下载 libc6_2.17-0ubuntu5_armhf.deb(用于编译硬浮点数)或 libc6-armel_2.17-0ubuntu5.1_armhf.deb(用于编译软浮点数) =]分别。
接下来,使用scp将文件复制到BBB。
scp libc6_2.17-0ubuntu5_armhf.deb root@beaglebone.local:/root
scp libc6-armel_2.17-0ubuntu5.1_armhf.deb root@beaglebone.local:/root
最后,安装包。
sudo dpkg --install libc6_2.17-0ubuntu5_armhf.deb
sudo dpkg --install libc6-armel_2.17-0ubuntu5.1_armhf.deb
尽管 ldd --version
仍显示为 2.13,但它适用于需要我设备上新版本的功能。您也可以考虑使用 sudo apt-get -f install
来摆脱旧版本。
希望对您有所帮助!