|
民生测试环境,aix测试服务器用户:transgj之前的主目录是/hom/transgj/ 由于某些原因主目录需要修改到/app/主目录下的文件移到/app/后,环境变量也重新设置生效,系统的run下的每个lib软连接也重新建立了。其他应用都启动正常,但是banbbu启动报错。
bankbu启动报错。
一直报加载动态库失败,
/home/transgj/lib/libbupub.so
/home/transgj/lib/libxml.so
等等。
分析:当前路径是:/app/run/bankbu/bankbu 执行ksmbcc4 启动应用。但是bankbu一直寻找/home/transgj/lib/lib***.so
解决:在公司查看了bankbu的makefile文件,是因为bankbu在编译的时候指定了so的路径。
然后在公司将makefile中指定的路径改为./lib/lib***.so 然后重新编译发布给客户。试了下,已经正常了。
Makefile片段:
修改前:
bankbu:$(OBJ)
$(CPP) -g -O2 -o $@ $(LIB_DIR) $(CPPDEFS) $(OBJ) $HOME/lib/libkernel.so $HOME/lib/libbupub.so $HOME/lib/libsqlapi.so -lcurses $HOME/lib/libxpack.so $HOME/lib/libxml.so $HOME/lib/libivsdbubase.so -ldl -pthread
mv $@ $(HOME)/run/bankbu
修改后:
bankbu:$(OBJ)
$(CPP) -g -O2 -o $@ $(LIB_DIR) $(CPPDEFS) $(OBJ) lib/libkernel.so lib/libbupub.so lib/libsqlapi.so -lcurses lib/libxpack.so lib/libxml.so lib/libivsdbubase.so -ldl -pthread
mv $@ $(HOME)/run/bankbu
|
|