免费注册 查看新帖 |

Chinaunix

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

[Tuxedo] TUXEDO编译的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-17 13:08 |只看该作者 |倒序浏览
ERROR: cannot open file <bigaf> for reading: No such file or directory
CMDTUX_CAT:1832: ERROR: can't execute cc  -I$TUXDIR/include -o SERVER BS-529.c
我在把程序编译成SERVER的时候老是出这个错,google了几天都没有结果,哪个达人碰到过
环境是 sco507+tux6.5+informix731
我估计是连接RM的时候出错了,因为我单独使用buildserver -r $RM也要报这个错,不知道怎么解决了
以下是我的makefile文件
LIBDIR=$(HOME)/lib
INFORMIXINCL=$(INFORMIXDIR)/incl/esql
TUXINCL=$(TUXDIR)/include
INCLDIR=$(HOME)/incl
PODIR=$(HOME)/src/savjz/pubfunc
ECC=esql

.SUFFIXES: .ec .c .o.ec .o.c
.ec.o:
@-rm -f $*.c
$(ECC) -c -I$(INFORMIXINCL) -I$(TUXINCL) -I$(INCLDIR) $*.ec
@-rm -f $*.c
.c.o:
cc -O -c -I$(INFORMIXINCL) -I$(TUXINCL) -I$(INCLDIR) $*.c

OBJ = SCK_xgzqfs.o SCK_lxss.o SCK_cdbd.o SCK_czgl.o SCK_zhdj.o SCK_sxfjz.o\
SCK_hua.o SCK_zdzcdj.o SCK_yygl.o SCK_xjhz.o SCK_dzgxbl.o SCK_czbc.o\
SCK_cjmmgf.o
FOBJ = -f SCK_xgzqfs.o -f SCK_lxss.o -f SCK_cdbd.o -f SCK_czgl.o \
           -f SCK_xjhz.o -f SCK_zhdj.o -f SCK_sxfjz.o -f SCK_hua.o \
       -f SCK_zdzcdj.o -f SCK_yygl.o -f SCK_dzgxbl.o -f SCK_czbc.o \
       -f SCK_cjmmgf.o



LIBS= -f $(LIBDIR)/libsav.a -f $(LIBDIR)/libsavjx.a \
          -f $(LIBDIR)/libpub.a -f $(LIBDIR)/libbcf.a

SERVICES= -s SS_GZQFS -s SS_LXSS -s SS_CDGH -s SS_CZGL -s SS_ZHDJ -s SS_SXFJZ \
          -s SS_HUAJZ -s SS_ZCDJ -s SS_YYGL -s SS_XJXTHZ -s SS_DZGXBL \
          -s SS_CZBC  -s SS_MMGF

all: SS_TSYW

SS_TSYW: $(OBJ)
        @echo "\nCompiling SS_TSYW......"
        CC=esql buildserver -r $(RM) -o $@ $(FOBJ) $(LIBS) $(SERVICES)
        strip $@
        -mv -f $@ $(HOME)/bin

clean:
        rm -f *.c
        rm -f *.o

论坛徽章:
0
2 [报告]
发表于 2008-12-17 13:35 |只看该作者

回复 #1 jhb0586 的帖子

  1. 确认一下你配置文件 $(TUXDIR)/udataobj/RM


  2. buildserver -v -f $? -o $@ -s SERV_XA_INF -r INFORMIX-OnLine
  3. 是用INFORMIX-OnLine,应该不是用-r $(RM)

  4. 用esql -libs 确认要链接的库文件,配置到RM中,你是informix731,修改一下RM文件


  5. 我用的informix 9
  6. TUXEDO/D:tuxd_switch:-lrms -lfs
  7. TUXEDO/SQL:tuxsql_switch:-lsql -lusort -lrms -lfs
  8. NONE:tmnull_switch:
  9. TUXEDO/QM:tuxq_switch:-lqm -ltmib
  10. #
  11. # BEA makes no attempt to keep the information in the following samples
  12. # up to date.  To make sure you have correct and complete information for
  13. # your platform and RM version, please consult your RM vendor.
  14. #
  15. # ORACLE 7
  16. #Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lxa ${ORACLE_HOME}/lib/libsql.a -lora -lsqlnet -lcore -lnlsrtl -lcore ${ORACLE_HOME}/lib/osntab.o -lsqlnet -lcv6 -lora -lm -lsocket

  17. # ORACLE 9i
  18. Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lclntsh

  19. # INFORMIX-Online 5
  20. #INFORMIX-OnLine:infx_xa_switch:${INFORMIXDIR}/lib/esql/libinfxxa.a -lx
  21. # INFORMIX-Online 6
  22. #INFORMIX-OnLine:infx_xa_switch:${INFORMIXDIR}/lib/esql/libinfxxa.a ${INFORMIXDIR}/lib/esql/libsql.a ${INFORMIXDIR}/lib/libasf.a ${INFORMIXDIR}/lib/netlib.a ${INFORMIXDIR}/lib/esql/libgen.a ${INFORMIXDIR}/lib/esql/libos.a -lsocket -lm
  23. #ident        "@(#)RM        1.3"

  24. #INFORMIX-OnLine:infx_xa_switch:${INFORMIXDIR}/lib/esql/libinfxxa.a -L${INFORMIXDIR}/lib -L${INFORMIXDIR}/lib/esql -lifsql -lifasf -lifgen -lifos -lifgls -lc -lm -ldl -lcrypt ${INFORMIXDIR}/lib/esql/checkapi.o -ifglx ${INFORMIXDIR}/lib/esql/libifxa.a

  25. #for informix 9.24
  26. INFORMIX-OnLine:infx_xa_switch:-L${INFORMIXDIR}/lib -L${INFORMIXDIR}/lib/esql -lifxa -lifsql -lifasf -lifgen -lifos -lifgls -lnsl -lm -lsec ${INFORMIXDIR}/lib/esql/checkapi.o -lifglx
  27. #INFORMIX-OnLine:infx_xa_switch:-L${INFORMIXDIR}/lib -lifsql -lifgen -lifos -lifgls -lifglx ${INFORMIXDIR}/lib/esql/checkapi.o -L${INFORMIXDIR}/lib/esql -lifasf -lc -lm -ldl -lcrypt

  28. #for DB2 8.1
  29. UDB_XA:db2xa_switch:-L${DB2DIR}/lib -ldb2
复制代码

[ 本帖最后由 lutabo 于 2008-12-17 13:50 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-12-17 16:47 |只看该作者
buildserver -v -f $? -o $@ -s SERV_XA_INF -r INFORMIX-OnLine
是用INFORMIX-OnLine,应该不是用-r $(RM)
$RM是我在.profile里面定义了的,所以这里可以这么使用吧,还有我的TMS_INFORMIX是可以启动的,应该没错

论坛徽章:
0
4 [报告]
发表于 2008-12-17 16:59 |只看该作者

我的RM文件如下

TUXEDO/D:tuxd_switch:-lrms -lfs
TUXEDO/SQL:tuxsql_switch:-lsql -lusort -lrms -lfs
NONE:tmnull_switch:
TUXEDO/QM:tuxq_switch:-lqm -ltmib
# ORACLE 7
#Oracle_XAaosw${ORACLE_HOME}/lib -lxa ${ORACLE_HOME}/lib/libsql.a -lora -ls
qlnet -lcore -lnlsrtl -lcore ${ORACLE_HOME}/lib/osntab.o -lsqlnet -lcv6 -lora -l
m -lsocket
# INFORMIX-Online 5
INFORMIX-OnLine:infx_xa_switch{INFORMIXDIR}/lib/esql/libinfxxa.a -lx
# INFORMIX-Online 6
INFORMIX-IDS731:infx_xa_switch/usr/informix/lib -L/usr/informix/lib/esql -lin
fxxa -lixsql -lixasf -lixgen -lixos -lixgls -lnsl_s -lcrypt_i -lm -lsuds -lx -le
lf -lprot -ltinfo -lsec /usr/informix/lib/esql/checkapi.o -lixglx /usr/lib/libge
n.a
#INFORMIX-OnLine7:infx_xa_switch/usr/informix/lib -L/usr/informix/lib/esql -l
infxxa -lixsql -lixasf -lixgen -lixos -lixgls -lnsl_s -lcrypt_i -lm -lsuds -lx -
lelf -lprot -ltinfo -lsec /usr/informix/lib/esql/checkapi.o -lixglx /usr/lib/lib
gen.a
#ident  "@(#) tuxedo/cmdtux/RM  $Revision: 1.1 $"

~

论坛徽章:
0
5 [报告]
发表于 2008-12-18 10:02 |只看该作者

回复 #1 jhb0586 的帖子

google一下

http://www.lslnet.com/linux/f/docs1/i09/big5150576.htm

http://www.lslnet.com/linux/f/docs1/i44/big5309687.htm


  1. LIBS= -f $(LIBDIR)/libsav.a -f $(LIBDIR)/libsavjx.a \
  2.           -f $(LIBDIR)/libpub.a -f $(LIBDIR)/libbcf.a
复制代码

链接库版本????

[ 本帖最后由 lutabo 于 2008-12-18 10:06 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2008-12-18 10:32 |只看该作者
LIBS= -f $(LIBDIR)/libsav.a -f $(LIBDIR)/libsavjx.a \
          -f $(LIBDIR)/libpub.a -f $(LIBDIR)/libbcf.a
这几个库都是在这个环境下重新编译过的,没有问题,而且所有的ec程序编译都通过了的,我在我的开发用户上直接使用buildserver -r INFORMIX-IDS731也出这个错误,
scosysv:/home/work>buildserver -r INFORMIX-IDS731
CMDTUX_CAT:4188: WARN: server built without the -s option cannot advertise servi
ces.
ERROR: cannot open file <bigaf> for reading: No such file or directory
CMDTUX_CAT:1832: ERROR: can't execute cc -I/usr/informix/incl -I/usr/informix/in
cl/esql -I$TUXDIR/include -o SERVER BS-34e.c  -L${TUXDIR}/lib  -ltux -lbuft -ltu
x2  -L/usr/tuxedo/lib -L/usr/informix/lib -L/usr/informix/lib/esql -linfxxa -lix
sql -lixasf -lixgen -lixos -lixgls -lnsl_s -lcrypt_i -lm -lsuds -lx -lelf -lprot
-ltinfo -lsec /usr/informix/lib/esql/checkapi.o -lixglx /usr/lib/libgen.a -lfml
-lfml32 -lgp /usr/lib/libcrypt.a -belf -lnsl -lsocket

但是如果我在tuxedo用户下执行这个命令就不会报错,我检查我开发用户的环境包括了TUXEDO的lib的
297$ buildserver -r INFORMIX-IDS731
CMDTUX_CAT:4188: WARN: server built without the -s option cannot advertise servi
ces.

论坛徽章:
0
7 [报告]
发表于 2008-12-19 09:48 |只看该作者
都没人碰到过这样的问题吗?跑到BEA论坛也没找到答案,google的资料也没有,郁闷

论坛徽章:
0
8 [报告]
发表于 2009-02-03 13:11 |只看该作者

回复 #7 jhb0586 的帖子

你的makefile中使用了$HOME环境变量,而这个数值对于不同的用户是不同的。从你的描述看,当$HOME=~tuxedo时才能正确运行,其他用户来运行时像LIBDIR 、IMCLDIR等路径都不对了,所以会报告找不到文件

如果你的makefile要供多个用户使用的话,那就不要在里面用$HOME这样基于“当前用户”的变量

论坛徽章:
0
9 [报告]
发表于 2009-02-20 16:38 |只看该作者
不知道LZ的问题解决没有?
我最近在用tuxedo 中的Xercesc 解析xml,buildserver的时候也遇到了类似的问题。。

论坛徽章:
0
10 [报告]
发表于 2009-04-24 15:19 |只看该作者
原帖由 jhb0586 于 2008-12-17 13:08 发表
ERROR: cannot open file  for reading: No such file or directory
CMDTUX_CAT:1832: ERROR: can't execute cc  -I$TUXDIR/include -o SERVER BS-529.c
我在把程序编译成SERVER的时候老是出这个错,google了几 ...


esql -lib
应该是这命令,首先看看esql用了哪些informix库,然后重建个RM。上次搞这东西,5年前了。呵呵。

更多Tuxedo开发问题,请访问 www.tuxdev.cn
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP