gcc sysroot加载共享库时出错

时间:2018-11-12 19:27:31

标签: gcc toolchain

我在编译应用程序时拥有一个旧的Ubuntu 14.04。这是使用gcc-4.8.4和glibc 2.19版制成的。

现在我已经升级了Ubuntu,但是我想保留我的编译设置,但是显然gcc和glibc已更新。

我创建了一个非常简单的程序来验证我的glibc版本。

#include <stdio.h>
#include <gnu/libc-version.h>
int main (void) { puts (gnu_get_libc_version ()); return 0; }

如果我在新的操作系统中编译并执行该程序,则会得到2.17而不是以前的版本2.19。

为了获得相同的工具链,我在个人文件夹中创建了Ubuntu 14的debootstrap。如果我将chroot设置为此路径并进行编译,则可获得2.19版本,一切都很好。

xabi@Xlinux:~$ sudo chroot ~/ubuntu14/
root@Xlinux:/# gcc main.c -o main   
root@Xlinux:/# ./main 
2.19

我现在的问题是如何在不更改我所有系统的chroot的情况下进行编译?例如,我的IDE已安装在新系统中。

我尝试编译对所需gcc的调用:

~/ubuntu14/usr/bin/gcc main.c -o main

/home/xabi/ubuntu14/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/cc1: error while loading shared libraries: libcloog-isl.so.4: cannot open shared object file: No such file or directory

但我总是会收到此错误。

0 个答案:

没有答案