今天编译遇到一下问题:

/usr/lib64/libdl.so.2: error adding symbols

查了下资料,所用的第三方库用到了dlclose之类的库

1、问题描述

Linux环境编译时报错

/usr/bin/ld: /home/src/lib***.so: undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
/usr/bin/ld: note: 'dlsym@@GLIBC_2.2.5' is defined in DSO /lib64/libdl.so.2 so try adding it to the linker command line
/lib64/libdl.so.2: could not read symbols: Invalid operation

2、问题解决

could not read symbols: Invalid operation 这个是Linux下编译常见的一种报错,

通常情况下,该编译报错信息之前会给出出现错误的静态库(.a结尾文件)、或动态库(.so结尾文件),
该报错的基本原因是当前编译器无法对库文件进行正确的解析

后发现lib****.so中用到了 dlopen(),dlclose() , dlerror() , dlsym() 函数,就要编译时链接libdl.so,但是makefile里没有加-ldl选项
SUN_LIBS   = -ldl -lrt
IBM_LIBS   = -lpthread  -lm  
HP_LIBS    = -lpthread
LINUX_LIBS = -lutil -lpthread -ldl -lrt

同理 如果用到 pthread相关的函数接口,也要连接 pthread的so(编译选项加-lpthread)

Linux环境编译时报错/lib64/libdl.so.2: could not read symbols: Invalid operation相关推荐

  1. pthread_create函数编译时报错:undefined reference to 'pthread_create'

    错误: pthread_create函数编译时报错:undefined reference to 'pthread_create' pthread_create()和pthread_atfork()函 ...

  2. 【Qt】新安装的虚拟机,使用QtCreator第一次编译时报错:g++: Command not found

    1.问题描述 新安装的虚拟机,使用QtCreator第一次编译时报错:g++: Command not found (或着报,make执行失败之类的错误) 2.原因分析 新安装的虚拟机中,没有g++. ...

  3. caffe中在某一层获得迭代次数的方法以及caffe编译时报错 error: ‘to_string‘ is not a member of ‘std‘解决方法

    caffe中在某一层获得迭代次数的方法以及caffe编译时报错 error: 'to_string' is not a member of 'std'解决方法 参考文章: (1)caffe中在某一层获 ...

  4. 成功解决:将后缀.pyx格式文件(linux环境)编译成pyd文件(windows环境下)实现python编程加载或导入

    成功解决:将后缀.pyx格式文件(linux环境)编译成pyd文件(windows环境下)实现python编程加载或导入 目录 解决问题 解决思路 解决方法 解决问题 .pyx格式文件,在window ...

  5. 关于STM32 Hal 库函数编写的程序 在编译时报错 :“Error: L6218E: Undefined symbol 函数名 (referred from xx.o)” 的解决办法

    问题描述:在借鉴别人的程序时,直接把部分hal库的程序拿来用,在编译时出现下图所示的问题 1 . 尝试解决但是没有成功的办法: 1.1 头文件包含问题 一开始以为是没有包含头文件,将头文件包含后,再次 ...

  6. linux系统安装软件报错,Linux安装软件时报错解决方法

    提示 Could not get lock /var/lib/dpkg/lock 报错? 有些小伙伴在使用 apt 包管理器更新或安装软件时,可能会遇到过诸如以下的错误提示: E: Could not ...

  7. firefly AIO-RK3399J Linux SDK编译报错解决

    Firefly AIO-RK3399J Linux SDK编译报错解决 Zhang-Zhen 2020-09-30 22:01:04  收藏 分类专栏: RK3399工作记录 文章标签: linux  ...

  8. Linux 删除文件时报错 rm: cannot remove ‘xxx xxx‘:Permission denied

    Linux 删除文件时报错 rm: cannot remove 'xxx xxx':Permission denied 1. 原因 没有这个文件的所有权 2. 解决办法 方法一: # 使用 root ...

  9. Linux系统安装时报错,Linux安装软件时报错解决方法

    提示 Could not get lock /var/lib/dpkg/lock 报错? 有些小伙伴在使用 apt 包管理器更新或安装软件时,可能会遇到过诸如以下的错误提示:E: Could not ...

最新文章

  1. 73款阿里巴巴开源软件详解
  2. sql 2005 解除用户锁定(SA帐户被锁定)
  3. java.util.concurrent.Exchanger应用范例与原理浅析--转载
  4. RequiredFieldValidator----验证控件不起作用
  5. html5登录界面源代码_最新版本尤娜博客已更新源代码(速拿!!!)
  6. python-week6
  7. ElasticSearch和solr的对比
  8. 【逻辑与计算理论】Lambda 演算的类型与其 Lambda 演算建模
  9. cal css,CSS calc计算属性
  10. 时间格式转换y-m-d
  11. oracle 网络访问配置tnsnames.ora文件的路径
  12. python管道怎么使用_Python – 如何使用管道执行shell命令?
  13. 室外AIS天线AV400
  14. AWS、Azure、谷歌云、阿里云最新全方位比较
  15. HTML新特性-网页排版
  16. 《排列字母》把字符串中的字母按其在字母表中的顺序排列。
  17. 2020年北京理工大学计算机学硕跨考上岸经验分享
  18. 论文解读:Generated Knowledge Prompting for Commonsense Reasoning
  19. windows+ffmpeg+qsv实现inter核显加速视频解码编码
  20. Python 将.py转换为.exe详解

热门文章

  1. hadoop--HDFS_DataNode工作机制
  2. hadoop--集群崩溃处理方法
  3. 力扣算法题—075颜色分类
  4. 《转》完美解决微信video视频隐藏控件和内联播放问题
  5. Opencv笔记(十三)——图像的梯度
  6. 第三周 day14:内置函数
  7. appium+python自动化57-chromedriver与chrome版本
  8. Jeesite 客户端验证Jquery Validate及服务器端验证
  9. 《OOD启思录》—第2章2.6节角色与类
  10. Eureka-zookeeper的服务发现替代方案