免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3534 | 回复: 1
打印 上一主题 下一主题

informix esql 编译报 ERROR: library not found: -lsuds 错误 [已解决] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-20 15:02 |只看该作者 |倒序浏览
我是一个 informix 的新手,安装 informix 后试用 esql 编译 .ec 程序
我试着编译 /usr/informix/demo/esqlc/demo1.ec 程序报 ERROR: library not found: -lsuds 错误

我试着使用 esql -e demo1.ec 程序,程序不报错,成功编译demo1.c文件

直接
# cc demo1.c
"demo1.c", line 1: error: cannot find include file: <sqlhdr.h>
"demo1.ec", line 21: error: incomplete struct/union/enum sqlvar_struct: _sqobind
"demo1.ec", line 23: error: too many struct/union initializers
"demo1.ec", line 23: error: cannot recover from previous errors

出现上述错误,不知道该如何设置调整。

.profile 文件中已包含
LD_LIBRARY_PATH=$INFORMIXDIR/libINFORMIXDIR/lib/esql


望各位给与帮助!

使用 esql -libs 检查是否安装了需要的库函数

-lixsql
-lixasf
-lixgen
-lixos
-lixgls
-lnsl_s
-lcrypt_i
/usr/lib/libgen.a
-lsocket
-lm
-lsuds
-lx
-lelf
-lprot
-lx
-ltinfo
-lm
/usr/informix/lib/esql/checkapi.o
-lixglx

发现已经含有 -lsuds ,可还是不能编译。
然后去三个库函数的地方 /usr/informix/lib /usr/informix/lib/esql /lib 下面去找是否有带 suds 的文件,发现没有
在另外一台可以编译机器上查询 发现在 /lib 目录下面有个 libsuds.a 的文件报错的机器下面的相同位置没有,于是拷贝复制
问题解决!

但是为什么我的lib下面没有这个文件我实在搞不明白,我除了informix是用已有系统安装的打包文件安装的以外,别的没有什么特殊的原因!
奇怪!

怪,怪,怪!

[ 本帖最后由 steveneast 于 2007-9-20 16:17 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-09-20 17:44 |只看该作者
上述解决方案有些问题

原 /lib 下面的文件都是开发系统连接过去的,我拷过去的有些问题
使用esql 编译的 demo1.ec 程序运行的时候报 SQLSTATE 07003 错误
然后重新安装了 Develpment 库,原来我只安装了 C++的库文件
重新编译运行成功!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP