我正在从源代码编译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 --with-job-email=myemail@gmail.com --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。我试图搜索那个库(搜索有人建议在库的位置和/lib/目录之间创建一个符号链接的internet ),但没有找到任何东西。我不是MySql方面的专家,我在网上也没有发现任何有用的东西。因此,我问您:如何在编译源代码时解决此错误?
提前谢谢你!
发布于 2018-01-02 10:36:03
解决了!我发现这足以在同一个位置创建/usr/lib64 64/maradbclient.a的副本,但名为maradb.a。当然,重要的是复制,而不是直接重命名文件。起初,我很难从Makefile in /baculasrc/src/cat中删除库的名称,但是安装之后,在bacula环境中缺少了一些组件。显然,在MariaDB的最后一个版本中,某些库的名称升级是个问题。或者,您可以创建一个指向原始库文件的符号链接。
https://unix.stackexchange.com/questions/414155
复制相似问题