freeradius2 installation error

Fajar A. Nugraha list at fajar.net
Tue Dec 6 17:11:44 CET 2011


On Tue, Dec 6, 2011 at 10:51 PM, tolik_shavlovsky at mail.ru
<tolik_shavlovsky at mail.ru> wrote:
> Dear Fajar,
>
> i failed to intergate FR + mysql, i was informed that my FR is without mysql
> module.

then why didn't you ask that in the first place? It'd save lots of time.

>
> i am in process of building from the source.
> so,
> after:
> 1. i build mysql-server

Not necessarily. Binary tar/package from
http://dev.mysql.com/downloads/mysql should also work. Personally, I'd
avoid having to build mysql from source. It takes a VERY long time.
Also, you don't really need the server. FR only needs the client part
(with corresponding headers/libs).

Anyway, whatever method you use (build from ports, compile manually,
installing binary package, whatever) you need to make sure that mysql
headers and libraries are available. One way (though not the ONLY way)
to verify this is by running "mysql_config", then look at "include"
and "libs" output, then see if the files are there. For example, on my
Ubuntu box:

#=========================================================
$ mysql_config
Usage: /usr/bin/mysql_config [OPTIONS]
Options:
        --cflags         [-I/usr/include/mysql
-fno-omit-frame-pointer -g -pipe -Wno-uninitialized   -DUNIV_LINUX]
        --include        [-I/usr/include/mysql]
        --libs           [-Wl,-Bsymbolic-functions -rdynamic
-L/usr/lib/mysql -lmysqlclient -L/usr/lib/ -lssl -lcrypto]
        --libs_r         [-Wl,-Bsymbolic-functions -rdynamic
-L/usr/lib/mysql -lmysqlclient_r -L/usr/lib/ -lssl -lcrypto]
        --plugindir      [/usr/lib/mysql/plugin]
        --socket         [/var/run/mysqld/mysqld.sock]
        --port           [0]
        --version        [5.3.2-MariaDB-beta]
        --libmysqld-libs [-Wl,-Bsymbolic-functions -rdynamic
-L/usr/lib/mysql -lmysqld -ldl -lwrap -lrt -L/usr/lib/ -lssl -lcrypto]

$ ls /usr/include/mysql/
client_plugin.h  my_alloc.h           my_getopt.h      mysqld_ername.h
 my_valgrind.h              services.h           typelib.h
decimal.h        my_attribute.h       my_global.h      mysqld_error.h
 my_xml.h                   service_thd_alloc.h
errmsg.h         my_compiler.h        my_list.h        mysql_embed.h
 plugin_auth_common.h       sql_common.h
keycache.h       my_config.h          my_net.h         mysql.h
 plugin_auth.h              sql_state.h
ma_dyncol.h      my_dbug.h            my_no_pthread.h  mysql_time.h
 plugin.h                   sslopt-case.h
m_ctype.h        my_decimal_limits.h  my_pthread.h     mysql_version.h
 service_my_snprintf.h      sslopt-longopts.h
m_string.h       my_dir.h             mysql_com.h      my_sys.h
 service_progress_report.h  sslopt-vars.h

$ ls /usr/lib/*mysqlclient*
/usr/lib/libmysqlclient.a     /usr/lib/libmysqlclient_r.so
/usr/lib/libmysqlclient_r.so.16.0.0  /usr/lib/libmysqlclient.so.16
/usr/lib/libmysqlclient.la    /usr/lib/libmysqlclient_r.so.15
/usr/lib/libmysqlclient.so           /usr/lib/libmysqlclient.so.16.0.0
/usr/lib/libmysqlclient_r.a   /usr/lib/libmysqlclient_r.so.15.0.0
/usr/lib/libmysqlclient.so.15
/usr/lib/libmysqlclient_r.la  /usr/lib/libmysqlclient_r.so.16
/usr/lib/libmysqlclient.so.15.0.0
#=========================================================

> 2. install mysql driver for Rf
>
> correct?

Just build freeradius following the simple instruction in the wiki.

IF mysql headers and drivers are there, AND you have a working
mysql_config somewhere (/usr/bin/, /usr/local/bin, whatever) then
mysql support should be built in by default.

However, IF the headers/libs are NOT in the default places, you might
have to specify some parameters to configure:

  --with-mysql-include-dir=DIR
                          Directory where the mysql includes may be found
  --with-mysql-lib-dir=DIR
                          Directory where the mysql libraries may be found
  --with-mysql-dir=DIR    Base directory where mysql is installed

In any case, make sure you READ the output from ./configure. Hint:
it's easier to do so if you redirect the output to a file, something
like

./configure | tee configure-output.txt

The output should show whether the configure script was able to find
mysql headers/libs or not.

-- 
Fajar




More information about the Freeradius-Users mailing list