升级MarkLogic 9.0-3遇依赖错误求助
解决MarkLogic 9安装时的GLIBC依赖错误
嘿,我来帮你捋捋这个问题——你遇到的依赖报错,根源其实出在系统版本上!你用的是MarkLogic大学提供的CentOS 6虚拟机,而MarkLogic 9.0-3.1要求的最低系统版本是CentOS 7。CentOS 6默认带的GLIBC版本是2.12,远低于ML9需要的2.14,而且CentOS 6的官方仓库里根本没有更高版本的GLIBC包,这就是你跑yum update和yum update glibc都没用的原因,系统压根拿不出符合要求的依赖。
下面给你几个可行的解决办法,按稳妥程度排序:
方案1:升级到CentOS 7(最推荐)
这是最省心也最安全的方式,毕竟ML9本来就是为CentOS7+设计的:
- 先把虚拟机里的重要数据备份好(比如之前ML7的配置或数据,如果还需要的话)
- 要么直接下载CentOS7的镜像重新创建虚拟机,要么尝试把现有CentOS6跨版本升级到CentOS7(注意:跨版本升级有风险,建议直接重装更稳妥)
- 等系统换成CentOS7后,再执行
yum install /path/to/MarkLogic-9.0-3.1.x86_64.rpm,就能顺利安装了
方案2:手动编译安装高版本GLIBC(不推荐,风险高)
如果你实在不想换系统,可以试试手动装GLIBC 2.14,但这种操作很容易搞崩系统依赖,导致ls、yum这类基础命令没法用,只适合测试环境折腾:
- 从GNU官方下载GLIBC 2.14的源码包(注意:不要随意从第三方站点下载,避免安全风险)
- 解压后编译安装:
tar zxf glibc-2.14.tar.gz cd glibc-2.14 mkdir build && cd build ../configure --prefix=/usr/local/glibc-2.14 make && make install - 启动ML9时需要临时指定库路径(或者修改系统默认库链接,这一步风险极大,谨慎操作):
LD_LIBRARY_PATH=/usr/local/glibc-2.14/lib:$LD_LIBRARY_PATH /opt/MarkLogic/bin/MarkLogic start
方案3:换用兼容CentOS6的MarkLogic版本
如果你的虚拟机必须保留CentOS6,那可以选择安装MarkLogic 8的最新版本——ML8是支持CentOS6的,这样就不会碰到GLIBC版本不兼容的问题了。
最后提一句:MarkLogic大学提供的CentOS6虚拟机,本来就是适配旧版MarkLogic(比如7或8)的环境,要装ML9的话,换成CentOS7的虚拟机才是正道哦。
内容的提问来源于stack exchange,提问作者bosari
相关产品推荐
相关产品推荐

