TUXEDO编译的问题
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
esql -lib
应该是这命令,首先看看esql用了哪些informix库,然后重建个RM。上次搞这东西,5年前了。呵呵。
更多Tuxedo开发问题,请访问 www.tuxdev.cn
不知道LZ的问题解决没有?
我最近在用tuxedo 中的Xercesc 解析xml,buildserver的时候也遇到了类似的问题。。
你的makefile中使用了$HOME环境变量,而这个数值对于不同的用户是不同的。从你的描述看,当$HOME=~tuxedo时才能正确运行,其他用户来运行时像LIBDIR 、IMCLDIR等路径都不对了,所以会报告找不到文件
如果你的makefile要供多个用户使用的话,那就不要在里面用$HOME这样基于“当前用户”的变量
都没人碰到过这样的问题吗?跑到BEA论坛也没找到答案,google的资料也没有,郁闷
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.
google一下
http://www.lslnet.com/linux/f/docs1/i09/big5150576.htm
http://www.lslnet.com/linux/f/docs1/i44/big5309687.htm
复制代码
链接库版本????
[ 本帖最后由 lutabo 于 2008-12-18 10:06 编辑 ]
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 $"
~
buildserver -v -f $? -o $@ -s SERV_XA_INF -r INFORMIX-OnLine
是用INFORMIX-OnLine,应该不是用-r $(RM)
$RM是我在.profile里面定义了的,所以这里可以这么使用吧,还有我的TMS_INFORMIX是可以启动的,应该没错
复制代码
[ 本帖最后由 lutabo 于 2008-12-17 13:50 编辑 ]