MariaDB默认情况下会使用当前系统的so库文件依赖,由于系统不一致,有可能会导致编译的安装包无法复用,在CPU架构一致的情况下,启动MariaDB,提示依赖的so文件,不存在,导致 MariaDB启动不了

解决办法

修改MariaDB 编译文件,加入以下函数,设置MariaDB加载的路径,然后重新编译即可

1
2
SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
SET(CMAKE_INSTALL_RPATH "\${ORIGIN}/../lib-ext")

mariadb-20201111162401394

默认情况下,MariaDB 加载的是系统的so

Mariadb_2020-11-10_14-15-55

lib-ext目录下放置so文件之后,他会去lib-ext目录下加载相关so,这样就有效的解决了缺so的问题了

Mariadb_2020-11-10_14-15-55

rpmbuild 打包过程中可能会出现检查so路径的问题,将校验的配置注释即可

mariadb_2020-11-11_16-36-50