- 论坛徽章:
- 0
|
搞定了,之前因为刚注册帐号还不能法帖所以用同事的帐号发的帖子。
目前问题已经解决,因为我从unix上把程序copy到linux后直接编译.c文件,没有预编译.pc文件。所以我尝试重新预编译,命令: proc iname=xx.pc
结果系统报错:
error while loading shared libraries: libnnz10.so: cannot open shared object file: No such file or directory
重新察看proc所需的动态链接:
libclntsh.so.10.1 => /lib64/libclntsh.so.10.1 (0x0000002a9557f000)
libnnz10.so => not found
libdl.so.2 => /lib64/libdl.so.2 (0x0000003588c00000)
libm.so.6 => /lib64/tls/libm.so.6 (0x0000003588a00000)
libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000003589400000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003590100000)
libc.so.6 => /lib64/tls/libc.so.6 (0x0000003588700000)
libnnz10.so => /oracle/product/10.2.0/lib/libnnz10.so (0x0000002a9691b000)
/lib64/ld-linux-x86-64.so.2 (0x0000003588500000)
缺少一个文件 libnnz10.so ,重新建link
ln -s /oracle/product/10.2.0/lib/libnnz10.so /lib64/libnnz10.so
建立Link后,重新proc iname=xx.pc,编译OK
然后再重新编译C:gcc -o getnonfixctl getnonfixctl.c -I $ORACLE_HOME/precomp/public -I${ORACLE_HOME}/rdbms/public -L${ORACLE_HOME}/lib/ -lclntsh -ldl -L/usr/lib32 -lm -lc -ldl
编译OK。
再运行就没有Memory Fault的错误了
[ 本帖最后由 shallyhe 于 2009-12-11 17:00 编辑 ] |
|