Pro*c 编释时报:libclntsh.so: wrong ELF class: ELFCLASS64 错误。

在Pro*c 编译时报:libclntsh.so: wrong ELF class: ELFCLASS64 错误

 

出现在这种情况一般来说是由于当前的系统是64位,但用的是64位的库进行编译的所以要修改一下

 

ORALIB = ${ORACLE_HOME}/lib

改为

ORALIB = ${ORACLE_HOME}/lib32

 

同是改一下.profile 里的

 

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib:/usr/sfw/lib

改为

LD_LIBRARY_PATH=$ORACLE_HOME/lib32:/lib:/usr/lib:/usr/local/lib:/usr/sfw/lib

 

这样修改完之后在 make 的时候就不会出现在 那个错误了。

 

 

不知道为make 的执行顺序是什么?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误通常是Linux或Unix系统中遇到的,它表明在执行程序时,系统试图加载名为libclntsh.so.19.1的共享库(动态链接库),但找不到该文件。这可能有以下几个原因: 1. **库文件缺失**:可能是库文件本身不存在,或者不在系统的搜索路径(LD_LIBRARY_PATH或DYLD_LIBRARY_PATH)中。 2. **安装错误**:如果你正在运行的是一个依赖Oracle客户端的程序,可能是Oracle数据库的客户端没有正确安装或安装不完整。 3. **版本不匹配**:如果操作系统或应用程序的版本与库文件版本不兼容,也可能导致这个问题。 4. **权限问题**:检查是否有足够的权限访问该文件,特别是对于可执行文件和库文件。 5. **环境变量问题**:确保相关的环境变量(如LD_LIBRARY_PATH)指向了包含libclntsh.so.19.1的实际位置。 要解决这个问题,你可以尝试以下步骤: 1. **确认库文件是否存在**:在安装目录或预期的系统位置搜索该文件。 2. **更新或重新安装Oracle客户端**,确保所有依赖的库都已安装并正确配置。 3. **设置或调整环境变量**,确保编译器能找到库文件。 4. **使用sudo** 或者修改权限,确保有权限加载该文件。 5. **检查日志**,看看是否提供了更多关于查找路径或安装问题的线索。 如果你能提供更多的上下文信息,比如你是在执行哪个特定的程序或操作时遇到的这个错误,我可以给出更具体的建议。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值