symbol lookup error *** , undefined symbol 错误

在重装samba过程后遇到一些问题,使用 gdb 时产生报错:

gdb: symbol lookup error: gdb: undefined symbol: PyUnicodeUCS2_FromEncodedObject

 

原因是 gdb 依赖了python的一些包,而那些包版本太旧,使用时就会发生一些未定义的错误。

使用 nm 命令和 ldd 命令可辅助解决这问题。

nm 命令用于找到文件中的symbol对象,ldd用于打印 命令 的依赖库。

步骤如下:

1、运行 which gdb 找到gdb命令的位置

 

2、运行 ldd /usr/bin/gdb 查看gdb依赖库

 

 

3、可使用 nm 命令查看对应动态库symbol

 

 

4、定位问题,用新库替换旧库

 

转载于:https://www.cnblogs.com/GO-NO-1/p/6882044.html

相关推荐

FLASH辐射流体模拟平台在Ubuntu上的源码编译实战指南

FLASH是一款面向天体物理与高能量密度物理的开源辐射流体动力学模拟软件,其核心依赖于MPI并行框架、HDF5科学数据格式及Fortran数值计算生态。理解其编译原理,本质是掌握HPC软件栈中MPI实现(如MPICH)、HDF5版本兼容性、Fortran ABI一致性等底层机制。这类高精度模拟工具对编译环境极度敏感,需严格匹配操作系统内核、编译器版本与数学库接口,广泛应用于超新星爆发建模、惯性约束聚变仿真等前沿科研场景。本文聚焦Ubuntu 22.04环境下FLASH 4.7.x的可复现构建过程,深度解析M

a2850363633的博客 412

运行时报 symbol lookup error: xxx.so: undefined symbol: 原因分析

模板函数的定义尽量放在.h文件,不要放到.cpp文件中。

beefirst117的博客 1万+

Ubuntu 20.04源码编译OpenCV 4.5完整指南

OpenCV是计算机视觉开发的核心库,其功能完整性与系统兼容性直接决定图像处理、特征检测、OCR及深度学习推理等任务的落地效果。OpenCV 4.5作为兼顾稳定性与功能性的长期可用版本,原生支持SIFT/SURF(需启用NONFREE)、dnn_superres、text、tracking等关键contrib模块,并针对AVX-512指令集优化性能。在Ubuntu 20.04环境下,apt源仅提供过时的4.2.0版本,pip安装包则缺失C++头文件与专利算法支持,导致中文路径读取失败、cv2.xfeatur

cuiyingchan0663的博客 424

dyld: Symbol not found: __cg_jpeg_resync_to_restart

mbp:cpp tianzhaixing$ g++ -ggdb `pkg-config --cflags --libs opencv3` opencv_version.cpp -o /tmp/opencv_version && /tmp/opencv_versionError1dyld: Symbol not found: __cg_jpeg_resync_to_restart Referenc

Ant for life. 5334

undefined reference to `PyUnicodeUCS2_FromEncodedObject'

编译SSD版caffe的python接口,出现以下问题 .build_release/lib/libcaffe.so: undefined reference to `PyUnicodeUCS2_FromEncodedObject’ 网上查了下相关的资料,最后在python文档中找到了这个问题 https://docs.python.org/2/faq/extending.html#can-...

1024 2125

关于“symbol lookup error xxxxx , undefined symbol“问题的解决方式

今天在测试基于netlib实现的数据包处理模块时,突然提示symbollookup errorgxio_mpipe_init, undefined symbol问题。通过查阅资料对于该问题大部分的问题原因都是动态库的版本过旧,导致应用程序找不到对应的符号而引起的。 但是,通过分析Makefile文件和更新tilera平台上的gxio所依赖的动态库并不能解决上述问题。后来通过nm配合ldd终于

飞翔de刺猬 3万+

symbol lookup error: xxx undefined symbol xxx

我在编译一个小工程时,编译过程并没有报错,但是在运行报了如下错误undefined symbol N2cv3Mat20updateContinuityFlagEv。解决此类问题的思路可以从如下几个方面入手: 库没有正确连接,但如果是这个问题,我们在编译时往往就会报错。 库的版本不对,比如我们使用的第三方库其依赖的是OpenCV2,但是我们自己的工程使用的时OpenCV3,这时也会有这个问题。...

Sunshine_in_Moon的专栏 2054

symbol lookup error:XXX.so: undefined symbol: 解决办法

通过 ldd -rxxx.so命令查看so库链接状态和错误信息 ldd命令,可以查看对应的可执行文件或库文件依赖哪些库,但可执行文件或库文件要求与操作系统的编译器类型相同,即电脑是X86的GCC编译器,那么无法通过ldd命令查看ARM交叉编译器编译出来的可执行文件或库文件。 如果想在Ubuntu等Linux宿主机上查看ARM交叉编译好的可执行程序和库文件的相关依赖关系,可以通过以下命令: readelf -d xxx.so | grep NEEDED # lichunhong @ lichun..

dbdxnuliba的博客 1万+

linux 32位系统运行eclipse报错:eclipse: symbol lookup error,.so: undefined symbol: XXXg_bus_own_name

linux 32位 redhat6.4运行eclipse报错

fighting_Kitty的博客 1477

symbol lookup error: /home/quantum6/build_libs/lib/libreadline.so.7: undefined symbol: UP

真奇怪。 config.status: creating src/include/switch_version.h.in gawk: symbol lookup error: /home/quantum6/build_libs/lib/libreadline.so.7: undefined symbol: UP config.status: error: could not create src/include/switch_version.h.in Makefile:1312: recipe for

柳鲲鹏 1260

error: tic: undefined symbol: _nc_check_termtype2 ? tic could not build /usr/share/terminfo

** Building terminfo database, please wait... Running tic to install /usr/share/terminfo ...         You may see messages regarding extended capabilities, e.g., AX.         These are extended t

AI 2658

QT5程序部署提示缺少Qt5系统库问题的解决方法 symbol lookup error /libQt5XcbQpa.so.5: undefined symbol:xxx

解决QT5.12程序部署环境提示缺少QT系统平台库或相关动态库检索错误的解决方案。 symbol lookup error: /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5: undefined symbol: entsEb, version Qt_5_PRIVATE_API

qq_29852231的博客 4975

linux编译安装apache排错,Linux 源码安装Apache 与常见错误解决

一、Linux编译安装apache1、解决依赖关系httpd-2.4.4需要较新版本的apr和apr-util,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包(谨慎!小心)。下面是使用源代码的方式行,它们的下载路径为:(~_~)这里不再说到那里下载了,相信你有能力找的到的,呵呵2、安装依赖的软件包(当然这里可以认为成需要的编译环境咯!)yum -y in...

weixin_35861708的博客 762

Ubuntu 20.04 上构建生产级 R 环境:源码编译与依赖深度解析

R 语言是统计计算与数据科学的核心开源环境,其运行依赖底层编译器、数值库(BLAS/LAPACK)、网络栈(libcurl/SSL)及图形系统(Cairo/Pango)的精密协同。在 Ubuntu 20.04 这类 LTS 发行版中,APT 默认提供的 R 二进制包存在版本滞后、静态链接缺陷与功能裁剪等问题,导致 tidyverse、data.table、Rcpp 等主流包安装失败或运行异常。根本原因在于 R 的可移植性高度依赖编译时的工具链选择(如 gcc-10)、动态库绑定策略及路径隔离机制。本文聚焦

weixin_33728708的博客 335

Terminalizer 终端行为剧本化:Ubuntu 18.04 兼容实践与可验证自动化

Terminalizer 是一种将终端操作转化为结构化 YAML 脚本的终端行为归档工具,区别于传统录屏,其核心在于捕获 stdin/stdout 流而非像素帧,实现命令级可编辑、可版本控制、可协作演进。它依托 Chromium 渲染引擎生成 GIF/HTML,天然支持跨平台回放与嵌入式交互,是 DevOps 文档、SOP 指南和 CLI 回归测试的理想载体。在 Ubuntu 18.04 这一广泛使用的 LTS 环境中,需解决 Node.js 版本兼容、中文字体渲染、glib ABI 冲突等典型问题,方能稳

cigang4063的博客 536

AMBER下载本质:源码编译构建分子模拟环境全解析

AMBER不是传统意义的软件安装,而是一套面向计算化学的高性能分子动力学模拟基础设施构建过程。其核心在于源码级编译、科学依赖精准管理与硬件感知优化,涉及conda环境隔离、cmake配置、make构建链及MPI/CUDA等并行支持。技术价值体现在数值可重现性、跨平台指令集适配(如-march=native)和增强采样扩展能力(如PLUMED集成)。典型应用场景包括高校科研建模、超算中心批量部署及CI/CD自动化验证。本文深入拆解AMBER24从官网下载、依赖拉取到可执行体生成的完整闭环,聚焦conda、cm

weixin_30439067的博客 436

Linux下Nginx源码编译实战:pcre zlib openssl三大依赖深度解析

Nginx作为高性能Web服务器与反向代理,其稳定运行高度依赖底层C库——pcre负责URL正则匹配精度,zlib支撑gzip流式压缩可靠性,openssl决定TLSv1.3握手成功率与安全合规性。理解三者版本选型、编译选项(如pcre的JIT支持、zlib的静态链接、openssl的EC硬件加速)及ABI兼容性,是构建生产级HTTPS服务的基础能力。本文聚焦Linux环境下的源码级部署实践,覆盖从依赖版本锁定、安全加固(CVE修复)、SELinux适配,到Nginx模块化编译与systemd集成的完整链路

weixin_34128839的博客 404
上一篇: linux虚拟机磁盘扩展与分区大小调整
下一篇: VMware 三种网络模式
anque1234
博客等级 码龄12年 6粉丝 139原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值