oracle undefine的用法_记一次oracle安装错误:INFO: //usr/lib64/libstdc++.so.5: undefined reference to `memcpy@GL...

--一次oracle安装错误,oracle version:11.2.0.1.0

[root@localhost ~]# cat /etc/issue

\S

Kernel \r on an \m

[root@localhost ~]# cat /etc/redhat-release

CentOS Linux release 7.3.1611 (Core)

[root@localhost ~]# rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \

> compat-libcap1 \

> compat-libstdc++ \

> gcc \

> gcc-c++ \

> glibc \

> glibc-devel \

> ksh \

> libgcc \

> libstdc++ \

> libstdc++-devel \

> libaio \

> libaio-devel \

> make \

> sysstat

binutils-2.27-34.base.el7 (x86_64)

compat-libcap1-1.10-7.el7 (x86_64)

package compat-libstdc++ is not installed

gcc-4.8.5-36.el7_6.2 (x86_64)

gcc-c++-4.8.5-36.el7_6.2 (x86_64)

glibc-2.17-260.el7_6.4 (x86_64)

glibc-2.17-260.el7_6.4 (i686)

glibc-devel-2.17-260.el7_6.4 (x86_64)

glibc-devel-2.17-260.el7_6.4 (i686)

ksh-20120801-139.el7 (x86_64)

libgcc-4.8.5-36.el7_6.2 (x86_64)

libgcc-4.8.5-36.el7_6.2 (i686)

libgcc-4.1.2-48.el5 (i386)

libstdc++-4.8.5-36.el7_6.2 (x86_64)

libstdc++-4.8.5-36.el7_6.2 (i686)

libstdc++-4.1.2-48.el5 (i386)

libstdc++-devel-4.8.5-36.el7_6.2 (x86_64)

libstdc++-devel-4.8.5-36.el7_6.2 (i686)

libaio-0.3.109-13.el7 (x86_64)

libaio-0.3.109-13.el7 (i686)

libaio-0.3.106-5 (i386)

libaio-devel-0.3.109-13.el7 (x86_64)

libaio-devel-0.3.109-13.el7 (i686)

libaio-devel-0.3.106-5 (i386)

make-3.82-23.el7 (x86_64)

sysstat-10.1.5-17.el7 (x86_64)

INFO: //usr/lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14'

collect2: error: ld returned1exit status

INFO: make:*** [ctxhx] Error 1INFO:End output from spawned process.

INFO:----------------------------------INFO: Exception thrown from action: make

Exception Name: MakefileException

Exception String: Errorin invoking target 'install' of makefile '/opt/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'. See '/opt/oracle/oraInventory/logs/installActions2019-05-07_02-48-01PM.log' fordetails.

Exception Severity:1INFO: Linking Text executables

INFO: Linking Text executables

INFO: The output of this make operation is also available at: '/opt/oracle/product/11.2.0/dbhome_1/install/make.log'

INFO:

尝试解决 --使用方法4

1 下载glibc-static-2.17-55.el7.x86_64.rpm安装

if [[ ! -f /usr/lib64/libc.a ]]; then yum -y install glibc-static; fi

sed 's/.*\$(LINK_CTXHX) \$(CTXHXOBJ) \$(INSO_LINK)$/-static \/usr\/lib64\/libc.a \$(LINK_CTXHX) \$(CTXHXOBJ) \$(INSO_LINK)/g' -i /u01/app/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk

点击retry,还是报错

2 libstdc++.so.5 libstdc++.so.5.0.7 替换包,还是无效

3 重新下载低版本glibc-2.14.tar.gz 进行编译--未验证

链接:http://blog.sina.com.cn/s/blog_6c5a47d30102wfw9.html

# tar xvf glibc-2.14.tar.gz

# cd glibc-2.14

# mkdir build

# cd ./build

# ../configure --prefix=/opt/glibc-2.14

# make –j4

# make install

如果make install报错: Can't open configuration file /opt/glibc-2.14/etc/ld.so.conf: No such file or directory

解决办法:在make install 前输入,touch /opt/glibc-2.14/etc/ld.so.conf,再make install

注意账户权限,需在opt/glibc-2.14目录下新建文件夹

执行完之后查看:strings /opt/glibc-2.14/lib/libc.so.6 |grep GLIBC

下面3种方法的任何一种均可

1. export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH

2. /opt/glibc-2.14/lib/libc.so.6 拷贝并重命名为/lib64/libc.so.6

3. 在makefile 编译的最后加上: /opt/glibc-2.14/lib/libc.so.6

---有时可能存在不兼容,这种编译还是存在一定的风险

4 在oracle网站查到说是版本对应问题

https://community.oracle.com/thread/3635853

由于是centos 7.3,oracle版本是官网下载的11.2.0.1,这里提示说需要换到11.2.0.3 or higher

最后上传11.2.0.4版本,安装没有报错,成功。

你可能感兴趣的:(oracle,undefine的用法)