http://nixos.org/patchelf.html

wget http://nixos.org/releases/patchelf/patchelf-0.8/patchelf-0.8.tar.bz2
tar -zxf patchelf-0.8.tar.bz2
cd patchelf-0.8
./configure --prefix=/usr
make && make install

修改前

 readelf -d cc1Dynamic section at offset 0xd49728 contains 28 entries:Tag        Type                         Name/Value0x0000000000000001 (NEEDED)             Shared library: [libcloog-isl.so.4]0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]0x0000000000000001 (NEEDED)             Shared library: [ld-linux-x86-64.so.2]0x000000000000000c (INIT)               0x4f8e180x000000000000000d (FINI)               0xd36e1c0x0000000000000019 (INIT_ARRAY)         0x1344ab80x000000000000001b (INIT_ARRAYSZ)       224 (bytes)0x000000000000001a (FINI_ARRAY)         0x1344b980x000000000000001c (FINI_ARRAYSZ)       8 (bytes)0x000000006ffffef5 (GNU_HASH)           0x4002980x0000000000000005 (STRTAB)             0x46ca580x0000000000000006 (SYMTAB)             0x419a300x000000000000000a (STRSZ)              529715 (bytes)0x000000000000000b (SYMENT)             24 (bytes)0x0000000000000015 (DEBUG)              0x00x0000000000000003 (PLTGOT)             0x134a1e80x0000000000000002 (PLTRELSZ)           9312 (bytes)0x0000000000000014 (PLTREL)             RELA0x0000000000000017 (JMPREL)             0x4f69b80x0000000000000007 (RELA)               0x4f4ed00x0000000000000008 (RELASZ)             6888 (bytes)0x0000000000000009 (RELAENT)            24 (bytes)0x000000006ffffffe (VERNEED)            0x4f4e400x000000006fffffff (VERNEEDNUM)         30x000000006ffffff0 (VERSYM)             0x4edf8c0x0000000000000000 (NULL)               0x0
# ldd cc1linux-vdso.so.1 =>  (0x00007fff20dff000)libcloog-isl.so.4 => not foundlibdl.so.2 => /lib64/libdl.so.2 (0x000000320d400000)libm.so.6 => /lib64/libm.so.6 (0x000000320d000000)libc.so.6 => /lib64/libc.so.6 (0x000000320c800000)/lib64/ld-linux-x86-64.so.2 (0x000000320c400000)

利用patchelf修改路径

patchelf  --set-rpath /opt/gcc-4.8.5/builddir/cloog-install/lib/ cc1

查看最新信息

# readelf  -d cc1Dynamic section at offset 0x270 contains 29 entries:Tag        Type                         Name/Value0x000000000000001d (RUNPATH)            Library runpath: [/opt/gcc-4.8.5/builddir/cloog-install/lib/]0x0000000000000001 (NEEDED)             Shared library: [libcloog-isl.so.4]0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]0x0000000000000001 (NEEDED)             Shared library: [ld-linux-x86-64.so.2]0x000000000000000c (INIT)               0x4f8e180x000000000000000d (FINI)               0xd36e1c0x0000000000000019 (INIT_ARRAY)         0x1344ab80x000000000000001b (INIT_ARRAYSZ)       224 (bytes)0x000000000000001a (FINI_ARRAY)         0x1344b980x000000000000001c (FINI_ARRAYSZ)       8 (bytes)0x000000006ffffef5 (GNU_HASH)           0x4d3a180x0000000000000005 (STRTAB)             0x3ff4900x0000000000000006 (SYMTAB)             0x4809f00x000000000000000a (STRSZ)              529758 (bytes)0x000000000000000b (SYMENT)             24 (bytes)0x0000000000000015 (DEBUG)              0x00x0000000000000003 (PLTGOT)             0x134a1e80x0000000000000002 (PLTRELSZ)           9312 (bytes)0x0000000000000014 (PLTREL)             RELA0x0000000000000017 (JMPREL)             0x4f69b80x0000000000000007 (RELA)               0x4f4ed00x0000000000000008 (RELASZ)             6888 (bytes)0x0000000000000009 (RELAENT)            24 (bytes)0x000000006ffffffe (VERNEED)            0x4f4e400x000000006fffffff (VERNEEDNUM)         30x000000006ffffff0 (VERSYM)             0x4edf8c0x0000000000000000 (NULL)               0x0
# ldd cc1linux-vdso.so.1 =>  (0x00007fff8e3ff000)libcloog-isl.so.4 => /opt/gcc-4.8.5/builddir/cloog-install/lib/libcloog-isl.so.4 (0x00007fdaac630000)libdl.so.2 => /lib64/libdl.so.2 (0x000000320d400000)libm.so.6 => /lib64/libm.so.6 (0x000000320d000000)libc.so.6 => /lib64/libc.so.6 (0x000000320c800000)/lib64/ld-linux-x86-64.so.2 (0x000000320c400000)libgmp.so.3 => /usr/lib64/libgmp.so.3 (0x000000320e000000)

注:

    才发现RHEL 已经自带了chrpath工具,直接使用即可. ( yum install chrpath)

    不过chrpath 有个缺陷,如果当前系统为x86_64,则修改i386 elf会报错,patchelf则无此问题!

PatchELF 修改linux下elf文件library搜索路径相关推荐

  1. elf 取路径_PatchELF 修改linux下elf文件library搜索路径

    http://nixos.org/patchelf.html wget http://nixos.org/releases/patchelf/patchelf-0.8/patchelf-0.8.tar ...

  2. linux下grep文件内容搜索工具及基本正则表达式详解

    linux下grep文件内容搜索工具及基本正则表达式详解 grep命令: 根据模式(文本字符和基本正则表达式的元字符组合而成之匹配条件)搜索文本, 并将符合模式的文本行显示出来. 格式:grep [选 ...

  3. 关于如何将windows修改user下用户名文件夹及路径为英文

    文章目录 0. 前言 1. 注意事项 2. 具体设置过程 1. 检查自己用户名所在的路径,并找到自己需要修改的用户名,路径在 C:\Users 里面 2. **打开开始菜单,直接键盘输入计算机管理并打 ...

  4. 修改Linux下只读文件的权限

    使用chmod命令,为文件提供其他的权限. 如果要给只读文件加上写权限,到文件所在目录下运行终端,输入 sudo chmod a+w filename 下面是chmod的详细介绍,不予赘述. 指令名称 ...

  5. linux下查看文件编码及修改编码

    linux下查看文件编码及修改编码 查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式. 如果 ...

  6. 自动修改linux下/etc/sysconfig/network-scripts/ifcfg-ethX网卡文件的脚本

    此脚本修改linux下/etc/sysconfig/network-scripts/ifcfg-ethX网卡文件中的网卡一.网卡二的IP地址(IPADDR).子网掩码(NETMASK)信息 #!/bi ...

  7. linux系统电脑的权限设置,Linux下的文件权限设置修改详解linux操作系统 -电脑资料...

    在linux中更改所属用户组是使用chgrp,更改文件拥有者, chown,更改9个属性, chmod这三种常用的问题,在linxu中这三个命令就是对文件目录权限的控制命令了,下面我来介绍它们的用法与 ...

  8. linux下查看文件的权限,Linux下查看文件权限、修改文件权限的方法

    查看权限命令查看目录的相关权限可以采用命令ls -lD,或者直接用ls -la 如 ls -l www.jb51.net  //这里表示查看www.jb51.net目录 修改权限命令 chmod 77 ...

  9. linux怎么搜索文件几种方式,Linux下查找文件的几种方式

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? ¶Linux下查找文件 Linux中有好几种查找文件的方式,让刚刚接触Linux的小伙伴眼花缭乱,到底该用哪个命令才能准 ...

  10. linux程序卸载动态库,Intel平台下linux中ELF文件动态链接的加载、解析及实例分析(二): 函数解析与卸载...

    在 IBM Bluemix 云平台上开发并部署您的下一个应用. 相信读者已经看过了 Intel平台下Linux中ELF文件动态链接的加载.解析及实例分析(一): 加载的内容了,了解了ELF文件被加载的 ...

最新文章

  1. oracle数据库查询表语句,oracle数据库重要的查询语句
  2. FastCGI模块(FastCGI)
  3. 【Python】编程笔记2
  4. 转:微服务架构:BFF和网关是如何演化出来的?(这篇文章相当棒)
  5. 初学Java(苏州实训之旅)
  6. Android输入模拟——如何模拟用户输入
  7. [走走看看]转载两篇文章:挂牌和追经
  8. matlab简单分析短时傅里叶变换STFT
  9. [转载] python定义整型常量_Python笔记——数据类型、变量和常量
  10. k8s使用glusterfs实现动态持久化存储
  11. Ubuntu系统未发现vim命令
  12. 概率图模型--因子图
  13. win10共享文件夹的创建、访问凭据一直提示“用户名或密码错误”的解决办法
  14. 数据结构--AVL树(全)
  15. 多股票投资组合+马科维茨计算组合
  16. UnityRenderStreaming云渲染
  17. 剖析visa信用卡支付的交易处理流程
  18. 江苏高等学校计算机等级考试大纲与样卷,江苏省高等学校计算机等级考试大纲(2015 年修订).pdf...
  19. 逻辑回归(logistic regression)原理详解
  20. Linux相关命令及软件安装教程

热门文章

  1. 挑战性题目DSCT102:木板切割问题
  2. git个人常用的命令
  3. 截取指定字符前_Excel字符函数(1):利用3个函数提取邮箱中的域名
  4. python嵌套列表输出_Python列表的增删改查排嵌套特殊输出格式
  5. python程序由三种基本结构组成_python入门基础教程04 Python程序基本组成
  6. Mybatis的生命周期及作用域
  7. c语言随机数 单片机32,自己用C语言写PIC32单片机的serial bootloader
  8. Java正则表达式实现计算器_Python利用正则表达式实现计算器算法思路解析
  9. 1 Kubernetes快速入门
  10. SpringBoot系列(9):SpringBoot配置文件详解