glibc编译安装
glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。
wget https://kojipkgs.fedoraproject.org//packages/glibc/2.30.9000/1.fc32/src/glibc-2.30.9000-1.fc32.src.rpm
../configure
make && make install
【Makeconfig:42: *** missing separator. Stop.】【configure: error: you must configure in a separate build directory】解决办法:
新建一个目录,然后进入该目录,用绝对路径编译。(一般在解压目录新建 ./glibc_build)
【configure: error:
*** These critical programs are missing or too old: compiler
】解决:
更新 gcc
【*** On GNU/Linux systems the GNU C Library should not be installed into
*** /usr/local since this might make your system totally unusable.
*** We strongly advise to use a different prefix.  For details read the FAQ.
*** If you really mean to do this, run configure again using the extra
*** parameter `--disable-sanity-checks'.】
出现这个错误的原因在于,如果没指定prefix,则系统把这个程序装在/usr/local目录下。但是,c标准库要求必须安装在与根文件系统相同的分区中,否则不能用。但是/usr这个挂载点可能处在外部的分区。
解决方法就是指定prefix到/usr,这时候configure程序会自动把必须的内容装在/lib下(这个目录肯定与根目录同分区),扩展内容再装到/usr/lib下。
【rm -rf /lib64/libc.so.6后出现
ln -s /lib64/libc-2.14.so /lib64/libc.so.6
l error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
】
当出现上面的状况时候,可以使用以下方法解决(假设libc-2.14.so已经拷贝到/lib64/目录下,“LD_PRELOAD”是一个环境变量,定义在程序运行前优先加载的动态链接库。):
LD_PRELOAD=/lib64/libc-2.14.so ln -s /lib64/libc-2.14.so /lib64/libc.so.6
当然如果升级失败,还可以使用下面命令还原至系统升级前的版本libc-2.12.so:
LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6
或者可以安装到其他目录:
../configure --prefix=/opt/glibc
然后通过环境变量来指定glibc
export LD_PRELOAD=/opt/glibc/libc-2.14.so
export LD_LIBRARY_PATH=/opt/glibc/lib
glibc编译安装的更多相关文章
- centos 6.5 编译安装glibc 2.14(附带中文乱码修正方案)
		
重要说明:glibc 是linux底层的c库,对系统而言是相当重要的,大部分软件的运行都会调用这个库. ==== 所以没有特殊需求不建议升级 升级后,此前通过源代码编译的软件运行可能出各种错 ...
 - 编译安装zabbix3.2
		
1.1 环境准备 系统环境准备:redhat 6.6 64位mysql-5.6.34php-5.6.28zabbix-3.2.1配置前先关闭iptables和SELINUX,避免安装过程中报错. # ...
 - CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14
		
准备篇: CentOS 7.0系统安装配置图解教程 http://www.osyunwei.com/archives/7829.html 一.配置防火墙,开启80端口.3306端口 CentOS 7. ...
 - centos 7.0 编译安装php 7.0.3
		
php下载页面 http://cn2.php.net/downloads.php 7.0.3多地区下载页面 http://cn2.php.net/get/php-7.0.3.tar.gz/from/a ...
 - LINUX 编译安装 PHP 环境
		
今天终于有时间 总结一下 linux 的编译安装 php 环境同学给我发了他写的文档 ,基本就可以实现编译安装了我同学文章地址: http://penghui.link/articles/2016/0 ...
 - Centos7 编译安装 Nginx PHP Mariadb Memcached 扩展 ZendOpcache扩展 (实测 笔记 Centos 7.3 + Mariadb 10.1.20 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 )
		
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...
 - Redhat环境下编译安装Google Bazel
		
Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...
 - LNMP源码编译安装(centos7+nginx1.9+mysql5.6+php7)
		
1.准备工作: 1)把所有的软件安装在/Data/apps/,源码包放在/Data/tgz/,数据放在/Data/data,日志文件放在/Data/logs,项目放在/Data/webapps, mk ...
 - centos 7.0 编译安装php 5.6.7
		
编译安装php参考资料 MySQL PHP API http://dev.mysql.com/doc/apis-php/en/index.html nginx + php +mysql 最简单安装 官 ...
 
随机推荐
- 11-《Node.js开发指南》-模块和包
			
什么是模块? 一个node.js文件就是一个模块,这个文件可能是js代码,json或者编译过的C/C++扩展 创建及加载模块 //a.js var name; exports.setName = fu ...
 - nginx基础(3)
			
目录 HTTP首部 1.通用首部 2.请求首部 2.1 必有首部 2.2 条件请求首部 2.3 安全相关首部 3.响应首部 3.1 必有首部 3.2 协商首部 3.3 安全相关首部 4.实体首部 4. ...
 - linux用户组相关,密码相关,文件操作,和启动级别
			
一.开机重启和用户切换 注意,当关机或重启前,都应当先执行一下sync指令,把内存的数据写入磁盘,防止数据丢失. shutdown命令 shutdown -h now :立即关机 shutdown - ...
 - hibernate opensission.createSQLquery 问题
			
在进行分页查询的时候,通常会用到,页码,每页容量等等的参数进行操作,如下图: query.list()的时候会执行得到所需要的集合的值,在这个过程中, 如果使用自定义的返回参数,比如将日期做一些基本处 ...
 - 洛谷 P3805 【模板】manacher算法
			
洛谷 P3805 [模板]manacher算法 洛谷传送门 题目描述 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 字符串长度为n 输入格式 一行小写英文字符 ...
 - Spring 中的观察者模式
			
一.Spring 中观察者模式的四个角色 1. 事件(ApplicationEvent) ApplicationEvent 是所有事件对象的父类.ApplicationEvent 继承自 jdk 的 ...
 - 一文掌握 Lambda 表达式
			
本文将介绍 Java 8 新增的 Lambda 表达式,包括 Lambda 表达式的常见用法以及方法引用的用法,并对 Lambda 表达式的原理进行分析,最后对 Lambda 表达式的优缺点进行一个总 ...
 - Python深拷贝与浅拷贝区别
			
可变类型 如list.dict等类型,改变容器内的值,容器地址不变. 不可变类型 如元组.字符串,原则上不可改变值.如果要改变对象的值,是将对象指向的地址改变了 浅拷贝 对于可变对象来说,开辟新的内存 ...
 - 整理了8个Python中既冷门又实用的技巧
			
1.print 打印带有颜色的信息 大家知道 Python 中的信息打印函数 print,一般我们会使用它打印一些东西,作为一个简单调试. 但是你知道么,这个 Print 打印出来的字体颜色是可以设置 ...
 - Java - 包装类 常量池
			
概述: 在Java中存在一些基本数据类型,这些基本数据类型变量,不能像其他对象一样调用方法,属性.... 一些情况下带来一些问题,包装类就是为了解决这个问题而出现 包装类可以使得这些基础数据类型,拥有 ...