我正在尝试让MySQL++在支持SSL的Debian6上正常工作。我已经在Windows7上测试了所有东西,它工作得很好。所有东西都是加密的。不过,我在将它移植到Debian时遇到了一点麻烦。
这是我的错误:
terminate called after throwing an instance of 'mysqlpp::BadOption' what(): Option not supported by database driver v5.1.49
这是我设置证书文件的调用:
connection->set_option(new mysqlpp::SslOption("/root/certs/client-key.pem", "/root/certs/client-cert.pem", "/root/certs/ca-cert.pem", "/root/certs", "DHE-RSA-AES256-SHA"));
我注意到在配置MySQL++时,它会在libmysqlclient中查找mysql_ssl_set()。它找不到该函数。
checking for mysql_ssl_set in -l... no
发布于 2011-10-18 05:22:01
此错误已在今天发布的MySQL++ 3.2.0中修复。
在旧版本中,mysql_ssl_set()的测试中有一个bug。如果您不能使用当前版本,但可以修补您的版本的源代码,这将修复它:
Index: config/mysql_ssl.m4
===================================================================
--- config/mysql_ssl.m4 (revision 2696)
+++ config/mysql_ssl.m4 (working copy)
@@ -10,7 +10,7 @@
#
# Check for mysql_ssl_set() in libmysqlclient(_r)
#
- AC_CHECK_LIB($MYSQL_C_LIB, mysql_ssl_set, [
+ AC_CHECK_LIB($MYSQL_C_LIB_NAME, mysql_ssl_set, [
AC_DEFINE(HAVE_MYSQL_SSL_SET,, Define if your MySQL library has SSL functions)
]) dnl AC_CHECK_LIB(mysqlclient, mysql_ssl_set)
]) dnl MYSQL_WITH_SSL然后,您将需要重新引导源树,并重新构建。
https://stackoverflow.com/questions/7794408
复制相似问题