Oratcl 库,sunos 5.10 gcc 编译器 32位时,load 库错误

Oratcl Libs: wrong ELF class: ELFCLASS64

Could not complie Oractl today for the life of me, until a buddy at work pointed out I need to manually edit: generic/oratcl.c to contain:

pt2_obj = Tcl_NewStringObj(”lib32“, -1);
pt3_obj = Tcl_NewStringObj(”libclntsh”SHLIB_SUFFIX, -1);

instead of:

pt2_obj = Tcl_NewStringObj(”lib“, -1);
pt3_obj = Tcl_NewStringObj(”libclntsh”SHLIB_SUFFIX, -1);

The problem was, no mater how I set my environment variable:

setenv LD_LIBRARY_PATH /oracle/10203/lib32:$LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH_64 /oracle/10203/lib:$LD_LIBRARY_PATH_64

running:

tclsh% package require Oratcl

would always produce the following error:

Oratcl_Init(): Failed to load /oracle/10203/lib/libclntsh.so with error ld.so.1: tclsh8.5: fatal: /oracle/10203/lib/libclntsh.so: wrong ELF class: ELFCLASS64

Apparently this has been addressed by a developer and the work around was to (setenv ORACLE_LIBRARY $ORACLE_HOME/lib32/libclntsh.so), http://sourceforge.net/tracker/index.php?func=detail&aid=1525418&group_id=12880&atid=112880.

Oracle made their own ORACLE_LIBRARY environment variable:) What they should have done instead of doing something like:

dlopen (‘/oracle/10203/lib/libclntsh.so’, RTLD_NOW | RTLD_GLOBAL);

done:

dlopen (‘libclntsh.so’, RTLD_NOW | RTLD_GLOBAL);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值