oracle本地库compat-libcwait for linux可能出现的问题


在红旗DC 5.0标准版或Red Hat as 4u2中,安装Oracle时,需要一个叫做compat-libcwait-2.0-
2.i386.rpm的包,

在早期的版本(现在这个包,已经解决了这个问题,*http:
//oss.oracle.com/projects/compat-oracle/files/RedHat/*)中,这个包会将一
个叫libcwait.so的文件放到/usr/lib下。并利用linux的ld.so.preload机制来控制;
在/etc/ld.so.preload文件中写入一句:/usr/lib/libcwait.so。
但是问题会出现:
在系统开机时,会报如下的错误:
Mar 30 15:59:39 oldimager sysctl: ERROR: ld.so: object
'/usr/lib/libcwait.so' from /etc/ld.so.preload cannot be preloaded:
ignored.
Mar 30 20:59:39 oldimager date: ERROR: ld.so: object
'/usr/lib/libcwait.so' from /etc/ld.so.preload cannot be preloaded:
ignored.
Mar 30 20:59:39 oldimager hostname: ERROR: ld.so: object
'/usr/lib/libcwait.so' from /etc/ld.so.preload cannot be preloaded:
ignored.
Mar 30 20:59:44 oldimager fsck: ERROR: ld.so: object
'/usr/lib/libcwait.so' from /etc/ld.so.preload cannot be preloaded:
ignored.
Mar 30 20:59:44 oldimager mount: ERROR: ld.so: object
'/usr/lib/libcwait.so' from /etc/ld.so.preload cannot be preloaded:
ignored.
在系统关机时,umount /usr分区会出现一直不能卸载的情况(/usr被单独分区的话)

问题解决办法:
1、将/etc/ld.so.preload文件的那行语句注释掉。
2、将/usr/lib/libcwait.so文件移到/lib下,并相应修改/etc/lo.so.preload.

原因:
Maybe the ld.so.preload is executed before the /usr - Filesystem is mounted

相关内容