首页 > 系统相关 >linux 库依赖,开发和生产环境,部署问题

linux 库依赖,开发和生产环境,部署问题

时间:2023-11-08 22:11:53浏览次数:38  
标签:依赖 查看 ldd 部署 xxx so linux

在生产环境中测试 发现程序无法运行,所以要分析一下

./mentester: /lib/libtinfo.so6: no uersion information available (required by ,/mentester)
./mentester' /lib/libncursesso.b: no uersion information auailable (required by ./mentester)

memtester uersion 1.2 .0 164-bit
Segmentation fault  //这个是我配置文件出错导致,可以忽略

分析问题,

#1.提示是so库有问题,
#2.通过ldd在开发环境找 程序依赖的库
#3.然后cp 这些库,从开发环境到生产环境,
#4. 生产环境,运行OK,问题解决


#开发环境  
$ Idd memtester
linux-vdso.so.1 (0x00007fff64d54000)
libi2c.so.0 => /lib/x86 64-linux-gnu/libi2c.so.0 (0x00007fec3c548000)
libncurses.so.6 => /lib/x86 64-linux-gnu/libncurses.so.6 (0x00007fec3c51f000)
libtinfo.so.6 => /lib/x86 64-linux-gnu/libtinfo.so.6 (0x00007fec3c4ed000)
libc.so.6 => /lib/x86 64-linux-gnu/libc.so.6 (0x00007fec3c200000)
lib64/d-inux-x86-64.s.2 (0x00007fec3c5a4000)
 

#生产环境 
$cd /lib
#在这里目录可以看到有哪些库,如果名字不对,版本不匹配, 也能看到。 
#有些名字一样,但是依然有问题,就需要替换*.so



#也可以通过whereis libncurses.so.6 试试找位置


# 参考ln -d 软连接





============

参考 https://blog.csdn.net/mayue_web/article/details/104019036

objdump命令

# 查看依赖的库
objdump -x xxx.so | grep NEEDED

# 查看可执行程序依赖的库
objdump -x ./testTime | grep NEEDED

readelf命令

# 查看依赖的库
readelf -a xxx.so | grep "Shared"

# 查看可执行程序依赖的库
readelf -a ./testTime | grep "Shared"

# 查看依赖的库
readelf -d xxx.so
readelf -d ./testTime

# 查看静态库有哪些.o文件
readelf -d xxx.a

ldd命令

# 查看依赖的库
ldd xxx.so

# 查看可执行程序依赖的库
ldd ./testTime


在服务端查看哪些进程在使用某一个so

lsof  ***.so

==========
参考2 https://www.cnblogs.com/liushuhe1990/p/9876600.html

在Linux PC上查看arm交叉编译的可执行文件依赖的动态库 紫枫术河

在Ubuntu宿主机上查看ARM交叉编译好的可执行程序和库文件的相关依赖关系,类似于PC linux上的ldd命令。
    在电脑上安装的Linux系统中,有一个ldd命令,可以查看对应的可执行文件或库文件依赖哪些库,但可执行文件或库文件要求与操作系统的编译器类型相同,即电脑是X86的GCC编译器,那么无法通过ldd命令查看ARM交叉编译器编译出来的可执行文件或库文件。 如果想在Ubuntu等Linux宿主机上查看ARM交叉编译好的可执行程序和库文件的相关依赖关系,可以采用下面的命令:
arm-arago-linux-gnueabi-readelf -a ./ftdi_eeprom| grep "Shared"
或
readelf -a ./ftdi_eeprom| grep "Shared"

 如果要看pc的执行程序的链接库

	
ldd teat

参考3 https://www.cnblogs.com/silentdoer/p/11748567.html

Linux查看库依赖方法

#1.查看依赖的库:
objdump -x xxx.so | grep NEEDED

#2.查看可执行程序依赖的库:
objdump -x 可执行程序名 | grep NEEDED

#3.查看缺少的库:
ldd xxx.so

#如果某个依赖的库不存在,会打印类似“xxx.so not found”的提示

标签:依赖,查看,ldd,部署,xxx,so,linux
From: https://www.cnblogs.com/scotth/p/17818463.html

相关文章

  • Linux tail命令:显示文件结尾的内容
    tail命令和head命令正好相反,它用来查看文件末尾的数据,其基本格式如下:[root@localhost~]#tail[选项]文件名此命令常用的选项及含义【例1】查看/etc/passwd文件最后3行的数据内容。[root@localhost~]#tail-n3/etc/passwdsshd:x:74:74:Privilege-separatedSSH:/var......
  • linux的netstat命令简介
    环境centos7.9介绍netstat是一个网络工具,用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,以及系统上当前的网络连接状态。它可以帮助用户了解网络连接的详细信息,从而更好地诊断和解决网络问题。语法netstat[选项]常用选项-a:显示所有连接和监听端口。-n:以数字形式显示地......
  • Django 部署指南
    远程登录服务器sudosshroot@user_name#删除原来的ssh密钥命令ssh-keygen-f"/home/shimmer/.ssh/known_hosts"-R"117.72.9.46"延长服务器ssh超时自动断开时间,此处为30分钟#默认情况下,SSH配置文件位于/etc/ssh/sshd_config。ClientAliveInterval1800ClientAliveCountM......
  • openEuler22.03操作系统 Linux内核Kernel 5.10 应该选择哪个版本的mysql安装包下载?
    对于openEuler22.03操作系统和Linux内核Kernel5.10,你应该选择与该操作系统和内核版本兼容的MySQL安装包进行安装。在确定适合的MySQL版本时,你可以考虑以下几点:MySQL官方支持:查看MySQL官方网站中的文档或支持页面,确认其是否支持openEuler22.03操作系统和Kernel5.......
  • Linux/centos上如何配置管理Web服务器?
    (Linux/centos上如何配置管理Web服务器?)1Web简单了解Web服务器称为WWW服务器,主要是提供上网功能;常见的Web服务器有:MicrosoftIIS、IBMWebSphere、Apache、Tomcat等;本文主要以Apache服务器为例了解一些Linux/centos上如何配置管理Web服务器。2关于ApacheApache是一种开......
  • go 中的循环依赖
    什么是循环依赖Go中的循环依赖是指两个或多个包之间相互引用,形成了一个循环依赖关系。这种情况下,包A依赖包B,同时包B也依赖包A,导致两个包之间无法明确地确定编译顺序,从而可能引发编译错误或其他问题。循环依赖是Go中需要小心处理的问题,因为它可能导致程序不可编译或产生......
  • sftp部署
    SFTP(SecureFileTransferProtocol):sftp为ssh自带的服务,无需额外安装软件,使用和配置很方便SFTP的优势主要有两点:1、不需要再配置个FTP服务端;2、SSH协议是安全传输,上传和下载是经过加密的,安全方面高于vsftp,由于传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多。但sft......
  • 蓝绿部署:实现无缝可靠的软件发布
    在快节奏的软件开发世界中,在不造成中断或停机的情况下向用户提供新功能和更新是一项至关重要的挑战。这就是蓝绿部署策略有用的地方。组织可以通过使用称为“蓝绿部署”的发布管理策略,以安全有效的方式推出其软件的新版本。在快节奏的软件开发世界中,组织努力快速可靠地部署新功能和......
  • Linux安装配置apache
    1.获取软件: http://httpd.apache.org/ httpd-2.2.21.tar.gz2.安装步骤:解压源文件:1tarzvxfhttpd-2.2.21.tar.gz2cdhttpd-2.2.213./configure--prefix=/usr/local/apache2--enable-so--enable-rewrite4make5makeinstall运行./configure命令进行编译源代......
  • Linux下Mongodb安装和启动配置
    Mongodb的安装与启动下载链接: http://www.mongodb.org/downloads----------------------------------------------------------------------------Linux安装第一步:下载安装包下载版本:2.0.2-rc2下载链接: http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.4.tgz首先在......