在CentOS 7上编译Bacula 9.0.6时出错

在CentOS 7上编译Bacula 9.0.6时出错

在根据我的需要配置了 bacula 9.0.6 后,我正在从源代码编译 bacula 9.0.6:

./configure --with-readline=/usr/include/readline --disable-conio --bindir=/usr/bin --sbindir=/usr/sbin --with-scriptdir=/usr/libexec/bacula/ --with-working-dir=/var/spool/bacula/ --with-logdir=/var/log --enable-smartalloc --with-mysql [email protected] --with-hostname=192.168.0.4

然后我尝试跑步

make -j8

但过了一会儿,我收到这个错误:

/bacula-9.0.6/libtool --silent --tag=CXX --mode=link /usr/bin/g++    
-o libbaccats-mysql.la mysql.lo -export-dynamic -rpath /usr/lib64 -
release 9.0.6 \
                     -soname libbaccats-9.0.6.so -L/usr/lib64/ -
lmariadb -lnsl -lz -ldl -lm -lpthread -lssl -lcrypto   
/usr/bin/ld: cannot find -lmariadb
collect2: error: ld returned 1 exit status
make[1]: *** [libbaccats-mysql.la] Error 1
make[1]: Leaving directory `/bacula-9.0.6/src/cats'


  ====== Error in /bacula-9.0.6/src/cats ======

我不明白为什么。我安装了最新版本的 MariaDB (mysql),包括 mariadb-devel。我尝试搜索该库(在互联网上搜索有人建议在库位置和 /lib/ 目录之间创建符号链接),但我没有找到任何内容。我不是 MySql 方面的专家,并且我在网上没有找到任何有用的信息。所以我问你:如何解决编译源代码时出现的错误?

预先非常感谢!

答案1

解决了!我发现这足以在同一位置创建 /usr/lib64/mariadbclient.a 的副本,但名为 mariadb.a 。当然,制作副本很重要,而不是直接重命名文件。起初,我认为从 /baculasrc/src/cats 中的 Makefile 中删除库的名称就足够了,但安装后,bacula 环境中缺少一些组件。确切地说,这是 MariaDB 最新版本中某些库的名称升级的问题。或者,您可以创建指向原始库文件的符号链接。

相关内容