编译DBD时报cannot find -lct

stier 2008-10-23 12:43:24
[root@ DBD-Sybase-1.04]# make
rm -f blib/arch/auto/DBD/Sybase/Sybase.so
LD_RUN_PATH="/opt/sybase/OCS-12_5/lib:/lib" cc -L/opt/sybase/OCS-12_5/lib -shared -L/usr/local/lib Sybase.o dbdimp.o -o blib/arch/auto/DBD/Sybase/Sybase.so -L/opt/sybase/OCS-12_5/lib -lct -lcs -lsybtcl -lcomn -lintl -ldl -lm
/usr/bin/ld: skipping incompatible /opt/sybase/OCS-12_5/lib/libct.so when searching for -lct
/usr/bin/ld: skipping incompatible /opt/sybase/OCS-12_5/lib/libct.a when searching for -lct
/usr/bin/ld: skipping incompatible /opt/sybase/OCS-12_5/lib/libct.so when searching for -lct
/usr/bin/ld: skipping incompatible /opt/sybase/OCS-12_5/lib/libct.a when searching for -lct
/usr/bin/ld: cannot find -lct
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/Sybase/Sybase.so] 错误 1


sybase已安装服务端:SYBASE12.54
操作系统:
Linux GDODS-02 2.6.9-55.ELsmp #1 SMP Fri Apr 20 16:36:54 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux

DBI:1.38
DBD:1.04
PERL:5.8.0/5.8.7(32BIT/64BIT均安装测试过仍然报上面的错误)

哪位知道请告之,谢谢
...全文
111 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
stier 2008-11-02
  • 打赏
  • 举报
回复
谢谢!问题已经解决了。

服务器是64位的,预装的perl也是64位,SYBASE当时拷贝了32位并打了64位补丁但仍然报上面的错误;重新编译了32位的perl问题仍重现。后来重新拷贝了64位的sybase后问题得到解决。
shihezichen 2008-11-01
  • 打赏
  • 举报
回复
问题的原因是没有找到库 libct.so
虽然你-L指定的目录/opt/sybase/OCS-12_5/lib下有这个库,但是由于不兼容被忽略了:
skipping incompatible /opt/sybase/OCS-12_5/lib/libct.so when searching for -lct

一般都是32-bit和 64-bit 混合时出现这种问题. 你现在编译的是32bit的, 但你提供的库可能是64bit的. 你可以检查一下.

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧