64位系统装32位mysql有问题吗_32位程序在64位下跑时常遇之mysql问题

当32位程序在64位环境中运行时,可能会遇到兼容性问题。本文通过一个示例描述了在32位CentOS 5.8上开发的软件在64位CentOS上安装时遇到的mysql库不匹配问题。通过检查程序位数、依赖库和已安装库的位,确定问题在于缺少32位mysql库。解决方法包括复制32位库到64位系统,修改配置并重新加载库。此案例为解决类似依赖库位兼容性问题提供了参考。
摘要由CSDN通过智能技术生成

32位程序在64跑时,兼容上存在一定问题,因此,通常要求施工环境按照的操作系统版本、位数和实验环境保持一致,比如我们是在32的centos5.8下开发的软件,尽量要求在施工时,也安装32位的centos5.8,以免在安装时遇到各类问题,以及潜在的问题,这点通常我们都遵守了,但总有特殊原因,用户提供64位的机器,让我们安装

,会造成安装的一些困难,延迟安装日期1-2天

以应用程序使用的mysql库的问题示例(仅供参考)

环境

应用程序:ipcall

实验环境:

centos 5.4 32位

mysql 5.0.41 32位

施工环境:

centos 5.7 64位

mysql 5.0.17 64位

安装出现的问题

./ipcall: error while loading shared libraries:

libmysqlclient.so.15: wrong ELF class: ELFCLASS64

判断问题(施工机器)

a.查看操作系统的位,uname -a 显示64位

b.查看ipcall的位,执行 file ipcall,显示 ipcall: ELF 32-bit LSB

executable,说明是32位

c.查看ipcall使用库,执行:ldd ipcall,显示 libmysqlclient.so.15 => not

found,说明没找到依赖的mysql库

d.查看已经装的mysql库,ldconfig -p| grep mysql,显示libmysqlclient.so.15

(libc6,x86-64) =>

/usr/lib/libmysqlclient.so.15,说明已经安装的是64的mysql库

e.根据b,c,d知道,缺少的是ipcall依赖的32位库

f.从实验环境copy 32的库到施工的机器的位置

g.

vi /etc/ld.so.conf

添加32位mysql库的位置目录

执行:ldconfig -v 生效

总结

遇到类似的有关依赖库的位不兼容问题,参考以上方法解决

结束

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值