/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.17' (or `GLIBC_2.18') not found

Android P 9.0 编译时报如下错误:

原因应该是ubuntu 版本太低 12.04, 要求最低版本:ubuntu 14.04

glibc 版本为2.15

找到gnu下的glibc的官网地址(http://ftp.gnu.org/gnu/libc/)。

找到2.17的版本。下载完后,解压,进入目录,编译,安装:

可以看到,系统给出了一个错误提示,说必须在另外一个独立的目录下执行configure命令。于是:

注意:这里的“–prefix=/opt/glibc-2.17”的作用是指定glibc的安装目录到opt目录下,目的是防止本次安装的glibc与系统中原来存在的其他版本冲突或者干扰。但是,这样安装之后,必须将该目录手动添加到系统的环境变量中去,否则其他程序将无法引用。

这下子可以走下去了。但是,好景不长,一会的工夫,又给出了一个错误提示:

原来是缺少gawk工具。这也是一个很常用的工具,我系统中的版本太旧了,无法满足它的要求。找到gawk的官网进行下载(http://ftp.gnu.org/gnu/gawk/)。

找一个你认为合适的版本下载吧。我本人选的4.1.4的版本。

下载完后,解压,进入目录,编译,安装:

一路顺畅,等待安装完毕之后。再回到glibc的目录下,重新执行configure的命令。这下成功了。然后顺序执行make和make install,直到全部完成。


题后话:

上文中介绍的方法,其实只是完成了对新版本glibc工具的安装,但是,装完并不代表能用,系统中可用的glibc环境仍然没有发生变化(因为系统的glibc环境比较棘手,我不敢去私自修改)。不过,暂时的失败并不代表完全没有办法,我决定先将这个过程记录在此,日后若有机会,再过来慢慢研究。

当然,若是各位看官有兴趣,大可以去百度一下,如何去修改系统的glibc环境,因为,毕竟还是有不少高人动手修改成功了。当然,这是冒着系统崩溃的风险来操作的。所以,各位量力而行吧~~~


以下答案是来自stackoverflow: 

https://stackoverflow.com/questions/19471683/lib-libc-so-6-version-glibc-2-17-not-found

1.

Download 64 bit package from this site https://launchpad.net/ubuntu/raring/amd64/libc6/2.17-0ubuntu4

Install libc6 2.17 by the command ,

sudo dpkg -i libc6_2.17-0ubuntu4_amd64.deb

Cheers !

2.

This shell script worked for me: https://groups.google.com/forum/#!category-topic/beagleboard/oPq-Xt0TVdY

see the response from "A P" which is a script that installs a later version on the beaglebone black:

I am running a beaglebone black rev C with debian wheezy.

 

作者: RESSRC

个人资源站

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据