Oracle11g ins_ctx.mk中的Oracle数据库安装问题

Oracle11g ins_ctx.mk中的Oracle数据库安装问题,oracle11g,Oracle11g,我在运行Oracle11gRelease2的安装程序时遇到上述错误 日志如下 Error in invoking target 'install' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oraInventory/logs/installActions2015-02-28_02-22-27AM.log' for details. 请帮我修一下这个。。。提前感谢

我在运行Oracle11gRelease2的安装程序时遇到上述错误

日志如下

Error in invoking target 'install' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oraInventory/logs/installActions2015-02-28_02-22-27AM.log' for details.

请帮我修一下这个。。。提前感谢。

尝试使用g++而不是gcc链接

INFO: gcc -o ctxhx -m64 -L/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/stubs/  /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ctxhx.o -L/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -lm -ldl -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut -lsc_ch -lsc_fi -lctxhx -lc -Wl,-rpath,/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -ls
INFO: nls11 -lnls11 -lcore11 -lnls11

INFO: /usr/bin/ld: /u01/app/oracle/product/11.2.0/dbhome_1/lib//libcore11.a(sslss.o): undefined reference to symbol 'pthread_sigmask@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line

INFO: collect2: error: ld returned 1 exit status

INFO: make: *** [ctxhx] Error 1

INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'install' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oraInventory/logs/installActions2015-02-28_02-22-27AM.log' for details.

然后再次运行安装程序。

创建以下脚本,并在安装过程中以root用户身份运行它,然后单击“重试”

cd /bin
mv gcc gcc.save
ln -s g++ gcc
#修复ctx/lib/ins_ctx.mk
ORACLE_HOME=/u01/app/ORACLE/product/11.2.0/db_1
cat/tmp/memcpy_wrap.c
#包括
#包括
asm(“.symver wrap_memcpy,memcpy@GLIBC_2.14");
void*wrap_memcpy(void*dest,const void*src,size\u t n){
返回memcpy(dest、src、n);
}
__EOF__
if[-e“${ORACLE_HOME}/ctx/lib/ins_ctx.mk”];然后
sed-i-e's/\$(INSO\u LINK)/\$(INSO\u LINK)-Wl,--wrap=memcpy\u wrap\$(ORACLE\u HOME)\/ctx\/lib\/memcpy\u wrap.o/g'${ORACLE\u HOME}/ctx/lib/ins\u ctx.mk
gcc-c/tmp/memcpy_wrap.c-o${ORACLE_HOME}/ctx/lib/memcpy_wrap.o&&rm/tmp/memcpy_wrap.c
fi

如果我忽略此错误消息并单击“继续”,会产生什么后果?在我的情况下,我没有选择。所有进一步的步骤都失败了。
# Fix ctx/lib/ins_ctx.mk

ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

cat << __EOF__ > /tmp/memcpy_wrap.c
#include <stddef.h>
#include <string.h>

asm (".symver wrap_memcpy, memcpy@GLIBC_2.14");
void *wrap_memcpy(void *dest, const void *src, size_t n) {
return memcpy(dest, src, n);
}
__EOF__

if [[ -e "${ORACLE_HOME}/ctx/lib/ins_ctx.mk" ]]; then
sed -i -e 's/\$(INSO_LINK)/\$(INSO_LINK) -Wl,--wrap=memcpy_wrap \$(ORACLE_HOME)\/ctx\/lib\/memcpy_wrap.o/g' ${ORACLE_HOME}/ctx/lib/ins_ctx.mk
gcc -c /tmp/memcpy_wrap.c -o ${ORACLE_HOME}/ctx/lib/memcpy_wrap.o && rm /tmp/memcpy_wrap.c
fi