昨天北街在VMware Workstation 6.0上安装 RedHat Linux AS 5,然后接着安装了Informix 9.4(介质:ids.9.40.UC1E1.LINUX-I32)。安装过程一切正常,但是初始化数据库的时候出错了。
Checking location of physical log...succeeded
Initializing dataskip structure...15:05:50 Dataskip is now OFF for all dbspaces
succeeded
Checking for temporary tables to drop
Forking onmode_mon thread...succeeded
Verbose output complete: mode = 5
15:05:50 On-Line Mode
15:05:50 Building 'sysmaster' database ...
15:05:51 Error building 'sysmaster' database.
15:05:51 See '/tmp/buildsmi.17660'.
dbaccess: relocation error: dbaccess: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
Cleaning up whatever was successfully created
其中See '/tmp/buildsmi.17660'.中错误提示,然后我又用 onstat - 查看这时候数据库状态,结果又报如下错误:
onstat: relocation error: onstat: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
后来查了相关资料得知这个错误信息意思是说: informix 需要的一个 glibc 函数,在 libc.so.6 中找不到2.0版本的,估计 libc.so.6 中只有高版本的这个函数。 libc.so.6 是 glibc 的最基础的一个 so ,我们可以用nm /lib/libc.so.6看到大量的symbol。
碰到这样的问题大概有2种解决办法:
- 安装高版本informix,或者更换与此版本相对应的Linux操作系统。
- Linux上安装兼容低版本informix的glibc库。但是不建议这么做,一旦这样做了,操作系统中很多应用可能都会受到影响。


好复杂啊 没事也去我那看看吧
过阵子再研究liunx了,电脑都差点玩坏了~~
好难啊 感觉!
informix 9.4 的安裝最多只能使用centos3.9版的Linux , 不然會有glibc 或 isql 無法正常使用