在Solaris上运行relink all时Oracle(9207)出错

    最近在Solaris上安装Oracle 9.2.0.7, 却发现运行"relink all"时报了如下错误, 这已经第二次发现有关libsrvm.so的链接错误了. 只要不是运行"relink all"则都不会出错, 如"relink oracle"或"relink client_sharelib"等. 具体错误信息如下:

ld: fatal: file ${ORACLE_HOME}/lib/libskgxn9.so: wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to libsrvm.so
*** Error code 1
make: Fatal error: Command failed for target `libsrvm.so'

    用"file"命令去看"libskgxn9.so"文件的属性, 发现他是一个编译成64位的库, 而libsrvm.so应当是一个32位的动态库, 于是到$ORACLE_HOME/srvm/lib目录下去修改了一下env_rdbms.mk文件, 如下所示:

# EXSYSLIBS = -lposix4 -lm -lskgxn9 #original line
EXSYSLIBS = -lposix4 -lm

    然后运行"make -f ins_rdbms.mk isrvm"去单独编译这个模块, 没有报错. 再重新运行"relink all"也没有报错了.

留言 (1)

Oracle should give the 32bit library file : libskgxn9.so
This is the root cause.

发表留言:

« Previous | Main | Next »

英语900句 | English 900

  • I once took a part-time job delivering the Evening Post.
  • 我曾干过送晚报的兼职.
  • Have you read the article about the rescue of the hostage?
  • 你看了关于营救人质的文章了吗?
  • There was much news in the morning paper today.
  • 今天的晨报上有许多新闻.
  • My friend Tom is a reporter for the New York Times.
  • 我朋友汤姆是【纽约时报】的记者.
  • What channel are you watching now?
  • 现在你在看哪个新闻?