Linux环境编译时报错/lib64/libdl.so.2: could not read symbols: Invalid operation
今天编译遇到一下问题:
/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相关推荐
- pthread_create函数编译时报错:undefined reference to 'pthread_create'
错误: pthread_create函数编译时报错:undefined reference to 'pthread_create' pthread_create()和pthread_atfork()函 ...
- 【Qt】新安装的虚拟机,使用QtCreator第一次编译时报错:g++: Command not found
1.问题描述 新安装的虚拟机,使用QtCreator第一次编译时报错:g++: Command not found (或着报,make执行失败之类的错误) 2.原因分析 新安装的虚拟机中,没有g++. ...
- caffe中在某一层获得迭代次数的方法以及caffe编译时报错 error: ‘to_string‘ is not a member of ‘std‘解决方法
caffe中在某一层获得迭代次数的方法以及caffe编译时报错 error: 'to_string' is not a member of 'std'解决方法 参考文章: (1)caffe中在某一层获 ...
- 成功解决:将后缀.pyx格式文件(linux环境)编译成pyd文件(windows环境下)实现python编程加载或导入
成功解决:将后缀.pyx格式文件(linux环境)编译成pyd文件(windows环境下)实现python编程加载或导入 目录 解决问题 解决思路 解决方法 解决问题 .pyx格式文件,在window ...
- 关于STM32 Hal 库函数编写的程序 在编译时报错 :“Error: L6218E: Undefined symbol 函数名 (referred from xx.o)” 的解决办法
问题描述:在借鉴别人的程序时,直接把部分hal库的程序拿来用,在编译时出现下图所示的问题 1 . 尝试解决但是没有成功的办法: 1.1 头文件包含问题 一开始以为是没有包含头文件,将头文件包含后,再次 ...
- linux系统安装软件报错,Linux安装软件时报错解决方法
提示 Could not get lock /var/lib/dpkg/lock 报错? 有些小伙伴在使用 apt 包管理器更新或安装软件时,可能会遇到过诸如以下的错误提示: E: Could not ...
- firefly AIO-RK3399J Linux SDK编译报错解决
Firefly AIO-RK3399J Linux SDK编译报错解决 Zhang-Zhen 2020-09-30 22:01:04 收藏 分类专栏: RK3399工作记录 文章标签: linux ...
- Linux 删除文件时报错 rm: cannot remove ‘xxx xxx‘:Permission denied
Linux 删除文件时报错 rm: cannot remove 'xxx xxx':Permission denied 1. 原因 没有这个文件的所有权 2. 解决办法 方法一: # 使用 root ...
- Linux系统安装时报错,Linux安装软件时报错解决方法
提示 Could not get lock /var/lib/dpkg/lock 报错? 有些小伙伴在使用 apt 包管理器更新或安装软件时,可能会遇到过诸如以下的错误提示:E: Could not ...
最新文章
- 73款阿里巴巴开源软件详解
- sql 2005 解除用户锁定(SA帐户被锁定)
- java.util.concurrent.Exchanger应用范例与原理浅析--转载
- RequiredFieldValidator----验证控件不起作用
- html5登录界面源代码_最新版本尤娜博客已更新源代码(速拿!!!)
- python-week6
- ElasticSearch和solr的对比
- 【逻辑与计算理论】Lambda 演算的类型与其 Lambda 演算建模
- cal css,CSS calc计算属性
- 时间格式转换y-m-d
- oracle 网络访问配置tnsnames.ora文件的路径
- python管道怎么使用_Python – 如何使用管道执行shell命令?
- 室外AIS天线AV400
- AWS、Azure、谷歌云、阿里云最新全方位比较
- HTML新特性-网页排版
- 《排列字母》把字符串中的字母按其在字母表中的顺序排列。
- 2020年北京理工大学计算机学硕跨考上岸经验分享
- 论文解读:Generated Knowledge Prompting for Commonsense Reasoning
- windows+ffmpeg+qsv实现inter核显加速视频解码编码
- Python 将.py转换为.exe详解