免费注册 查看新帖 |

Chinaunix

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

[SCO UNIX] SCO6 链接SCO openserver5的动态链接库 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-25 17:35 |只看该作者 |倒序浏览
最近在一家银行作核心系统,采用的是SCO openServer6.0.0,原来的程序是在SCO openserver5.0.6小编译的,而且是大量的动态链接库.so,遇到的问题真是恶心之极,网上国内外查了个遍,遇到的问题还是不少,但是基本上都没有说到点子上,下面是我遇到的问题及解决方法,希望更多的人参与:
SCO OSR5下的动态库libfun.so,exe.c可执行程序,libfun.so是在SCO5下编译的,直接拷贝到
SCO OSR6下,重新使exe.c链接libfun.so,出现的情况如下:
SCO openserver6.0 编译链接
mk.sh:
cc -c -Kudk q.c -I/usr/tuxedo/include -I/usr/include #生成.o
cc -o a.out -Kosr q.o \
-dy -L./ -Kosr -lfun \
-L/usr/tuxedo/lib -lwsc -lbuft -lwsc  -lnws -lnwi -lnws  -lfml \
-lfml32 -lgp /usr/lib/libcrypt.a  -belf -lnsl -lsocket -L/usr/lib

# sh mk.sh
1.UX:cc: WARNING: -L /usr/lib will likely find the wrong libraries for your
compilation mode

2.UX:ld: ERROR: libfun.so: cannot link OpenServer object into Intel iABI (UDK

ABI)
target

       To build using existing OpenServer objects, compile and link using
-Kosr  option
       Or to convert to UDK ABI, recompile OpenServer sources with (default)
-Kudk option

这里涉及到SCO6用的编译器,他缺省用的是/usr/ccs/bin/cc,即UNware的编译器,
这样链接不了SCO5的动态库(格式不支持,UDK):ilbfun.so,因此,需要用SCO6支持SCO5动态库的
编译器:/osr5/usr/ccs/bin/cc ,并且加两个参数:-Kosr -f osr,终于编译过了
/osr5/usr/ccs/bin/cc -DSVR4 -c q.c \
-I/usr/tuxedo/include -I/usr/include -I/osr5/usr/include

/osr5/usr/ccs/bin/cc -o a.out q.o \
-belf -f osr -L./ -lfun -f osr \
/usr/lib/libcrypt.a -belf -lnsl \
-L/osr5/usr/lib \
-L/usr/lib -lgen -lm -lc
#-L/usr/tuxedo/lib -ltux -lbuft -ltux2 -lwsc -lnws -lnwi -lfml -lfml32 -lgp -belf

这样就可以了,但是增加了TUXEDO的函数,例如userlog,把下面的链接函数库放开,
就发生了很多找不到的函数,:例如
__stat32 undefineed symbol in libgp.a (libgp.so.60)
但是,根据本人的经验,涉及的问题就比较多了,之前这个在SCO5下都是通过的,
希望有高人能够解决!!!!!
总结:如果是SCO5.0.6的用户,程序移植到SCO6上,个人建议不要重新编译(因为如果用到TUXEDO,
informix,他们的库可能通过不了,他们都是在SCO5下作的,当然要是有源代码的话),
重新编译恐怕会有不可预知的问题,总之SCO6不象想象的那么牛B!

论坛徽章:
0
2 [报告]
发表于 2007-04-25 23:25 |只看该作者
OSR5移植到OSR6会有很多问题,两者的核心不一样。遇到第三方软件(数据库、中间件等)就更麻烦了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP