使用编译安装mysql 5.5,在编译安装freeradius的时候往往会遇到mysql模块编译不成功的问题,查看日志可以看到有类似以下的报错信息:

Error: /usr/local/etc/raddb/sql.conf[28]: Unknown action ‘mysql’.

网上找找有尝试指定mysql 路径的:

./configure  –with-mysql-dir=/usr/local/  — with-mysql-lib-dir=/usr/local/lib \ –with-mysql-include-dir=/usr/local/mysql/include

但是还是不行,查看freeradius的configure也发现实际不加这个参数也会默认取这个目录下去找,在仔细检查编译过程,发现是找不到mysql.h这个头文件。

切换到/usr/local/mysql/include 目录,原来freeradius在编译mysql模块时会include mysql/mysql.h这个头文件,但是编译安装的mysql 5.5的头文件路径已经不是mysql下了,在它的上一层。于是rsync -avz  /usr/local/mysql/include/*.h /usr/local/mysql/include/mysql/

 

接着再重新编译freeradius就可以顺利生成rlm_sql_mysql.so文件啦~~~

哟?不错哎 订阅小米的RSS Feeds 回去慢慢看^_^