On Fri, Jun 03, 2005 at 12:10:03PM +0400, Alexander Voropay wrote:
"Alexander Voropay" <alec@artcoms.ru> wrote:
It creates *wrong* Makefile :
==== src/modules/rlm_sql/drivers/rlm_sql_mysql/Makefile ====== = -I/usr/include/mysql -g -pipe -m64 -fsigned-char -mminimal-toc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE RLM_SQL_LIBS = -L/usr/lib64/mysql -lmysqlclient -lcrypt -lnsl -lm -lz ========================================
Note "-m64" and "-L/usr/lib64/mysql" flags.
It works OK if delete "-m64" and replace "/usr/lib64" with "/usr/lib"
I've found a source of this problem.
On the RHAS PPC64, the MySQL is a 64-bit application and returns this options on request :
$ mysql_config --cflags -I/usr/include/mysql -g -pipe -m64 -fsigned-char -mminimal-toc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
$ mysql_config --libs -L/usr/lib64/mysql -lmysqlclient -lcrypt -lnsl -lm -lz
FreeRADIUS's ./configure script shouldn't trust so much to the `mysql_config` data...
mysql_config is part of the client libraries, not the application. If you've got both 32 and 64-bit development headers installed, then try removing the 64-bit ones, and see if mysql_config returns the right values. This is a problem with systems that support mixed libraries, which wasn't forseen when the whole *_config thing was put together, I suspect. -- Paul "TBBle" Hampson, on an alternate email client.