使用另一个版本的glibc
glibc是Linux系统的核心库,稍有不慎就会导致系统崩溃。如果在程序中必须使用另一版本的glibc,则需要小心从事。具体来言,是在编译时指定--rpath和--dynamic-linker,而在运行时指定LIB_LIBRARY_PATH。
gcc main.c -o main -Wl,--rpath=/path/to/new/glibc/lib \
		-Wl,--dynamic-linker=/path/to/new/glibc/ld-linux.so.2
其中ld-linux.so.2在64位系统下可能为ld-linux-x86-64.so.2,它的路径会硬编码到程序中(因此显式指定时换成别的名字也没什么问题)。正是这个原因,导致很多已有程序不能使用新glibc的库。
另外,查看链接问题的两个常用工具是:
- ldd: 查看可执行文件或动态库依赖的其它的库
 - strings: 查看库中的字符串,比如
strings /lib64/libc.so.2 | grep GLIBC可以查看GLIBC支持的版本。 
使用另一个版本的glibc的更多相关文章
- glibc降级尝试失败-兼使用另一个版本的glibc
		
https://cnodejs.org/topic/56dc21f1502596633dc2c3dc 这个介绍的是升级的情况.降级,网上说很难.因为用yum是无法降级安装的.我仿造升级的方式,make ...
 - github for windows回滚到某一个版本,
		
建议先学会使用git命令再学GUI版的git,git本来就是命令行程序,GUI本质就是执行一些命令.仅从一些icon和单词去理解一些操作难免会有偏差.而反过来,熟悉命令会更好地理解GUI操作.想要回滚 ...
 - 【转】.NET 安装和部署(Installer) 如何卸载上一个版本
		
前言 当使用.NET“安装项目”打包的安装文件,再次安装的时候会弹出如下提示,这个时候会让我们很郁闷,怎样才能自动卸载上一个安装的版本呢?方法很简单,只需简单的两个操作步骤即可解决. 操作步骤 主要由 ...
 - HDU   1877   另一个版本 A+B
		
另一个版本 A+B Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
 - Lazarus下面的javascript绑定另外一个版本bug修正
		
Lazarus下面的javascript绑定另外一个版本bug修正 从svn 检出的代码有几个问题 1.fpcjs.pas 单元开始有 {$IFDEF FPC} {$MODE delphi} {$EN ...
 - C#的Installer生成的msi的安装文件,安装新版本时提示:已经安装了该产品的另一个版本。无法继续安装此版本
		
之前折腾了个C#的项目: WLW (Windows Live Writer) Plugin–InsertSkydriveFiles 然后又弄了个对应的Installer: [已解决]给一个C#的Dll ...
 - git 超前一个版本 落后一个版本的解决方案
		
在使用SourceTree的时候经常会遇见超前一个版本,落后N个版本的情况,遇见这种情况应该怎么办呢? 首先打开终端,最好是从SourceTree里面打开,菜单栏有个终端按钮. 然后输入: $ git ...
 - SourceTree超前一个版本,落后N个版本
		
SourceTree超前一个版本,落后N个版本 在使用SourceTree的时候经常会遇见超前一个版本,落后N个版本的情况,遇见这种情况应该怎么办呢? 首先打开终端,最好是从SourceTree里 ...
 - Activit 5.13 工作流部署新版本后回退到上一个版本
		
有时因为某些原因Activit流程部署新版本后,还没有发起流程,回退到上一个版本.操作过程: 1.查询版本更新记录,记录字段ID_值,假设值为100: select to_char(t.deploy_ ...
 
随机推荐
- linux 搭建swoole
			
1安装依赖包yum -y install gcc gcc-c++ autoconf automake yum -y install zlib zlib-devel openssl openssl-de ...
 - vue pc客户端项目总结
			
https://blog.csdn.net/oumaharuki/article/details/78861778
 - CTF——web安全中的一些绕过
			
function check($number) { $one = ord('1'); $nine = ord('9'); for ($i = 0; $i < strlen($number); $ ...
 - Qt选择文件路径
			
QString file_path = QFileDialog::getExistingDirectory(this, "请选择文件路径...", "./"); ...
 - Window 2003 IIS + MySQL + PHP + Zend 环境配置
			
图文详解 下载 Windows 2003 Zend, PHP, PHPMyadmin 与 MySQL Windows 2003 安装包中包含了 Zend,PHP 5.2.17,PHPWind8.7 和 ...
 - 十、lambda表达式、内置函数之filter、map、reduce
			
lambda表达式 学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: # 普通条件语句 == : name = 'wupeiqi' else: name = 'ale ...
 - c++产生验证码字符串
			
// // Created by lk on 18-10-14. // #include <iostream> #include <cstdlib> #include < ...
 - Python 模拟伯努利试验和二项分布
			
1.模拟 27 次投掷硬币的伯努利试验 代码: from scipy import stats import numpy as np p = 0.5 # 生成冻结分布函数 bernoulliDist ...
 - 201671030126 赵佳平 实验十四 团队项目评审&课程学习总结
			
项目 内容 这个作业属于那个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 掌握软件项目评审会流程:反思 ...
 - CentOS7.5 上使用 bundle 文件安装 MySQL8.0 MySQL5.0
			
CentOS7.5 上使用 bundle 文件安装 MySQL8.0 MySQL5.0 CentOS7.5 环境 [root@instance-fjii60o3 ~]# rpm -qi centos- ...