URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 56207
[ Назад ]

Исходное сообщение
"Проблема с библиотеками mysql"

Отправлено fa , 05-Май-05 13:33 
Пытаюсь поставить freeradius+freenibs. FreeBSD 5.3. Никак эта связка не хочет видеть, где лежат библиотеки mysql. Версия mysql - 4.1.8
Делаю так:
./configure --with-mysql-lib-dir=/usr/local/mysql/lib
В ответ:
checking for mysql_init in -lmysqlclient... no
configure: warning: mysql libraries not found.  Use --with-mysql-lib-dir=<path>.
configure: warning: nibs submodule 'mysql' disabled
Подскажите, как это побороть


Содержание

Сообщения в этом обсуждении
"Проблема с библиотеками mysql"
Отправлено Corwin , 05-Май-05 14:41 
Открой config.log и посмотри что конкретно у него не получилось слинковать и с какими опциями он это делал. В конце файла...



"Проблема с библиотеками mysql"
Отправлено fa , 05-Май-05 15:03 
>Открой config.log и посмотри что конкретно у него не получилось слинковать и
>с какими опциями он это делал. В конце файла...
Вот кусок файла src/modules/rlm_nibs/drivers/rlm_nibs_mysql/config.log

configure:1020: checking for mysql_init in -lmysqlclient
configure:1035: gcc -o conftest -g -O2   conftest.c  -lz -L/usr/local/mysql/lib/mysql -lmysqlclient 1>&5
/usr/local/mysql/lib/mysql/libmysqlclient.a(password.o)(.text+0x308): In function `scramble_323':
: undefined reference to `floor'
/usr/local/mysql/lib/mysql/libmysqlclient.a(password.o)(.text+0x373): In function `scramble_323':
: undefined reference to `floor'
/usr/local/mysql/lib/mysql/libmysqlclient.a(password.o)(.text+0x4c5): In function `check_scramble_323':
: undefined reference to `floor'
/usr/local/mysql/lib/mysql/libmysqlclient.a(password.o)(.text+0x560): In function `check_scramble_323':
: undefined reference to `floor'
configure: failed program was:
#line 1028 "configure"
#include "confdefs.h"
extern char mysql_init();
int main() {
mysql_init()
; return 0; }

Не мойму ничего. Может ему другой mysql нужен?


"Проблема с библиотеками mysql"
Отправлено Corwin , 05-Май-05 15:32 
Попробуй перед запуском configure проставить
export CFLAGS="$CFLAGS -lm"
export CCFLAGS="$CCFLAGS -lm"

и прогнать все еще раз
для надежности удали config.h и config.cache


"Проблема с библиотеками mysql"
Отправлено fa , 06-Май-05 13:56 
>Попробуй перед запуском configure проставить
>export CFLAGS="$CFLAGS -lm"
>export CCFLAGS="$CCFLAGS -lm"
>
>и прогнать все еще раз
>для надежности удали config.h и config.cache

Почти помогло :-) В некоторых местах библиотеки нашлись. Но не везде. Подскажите, что это за опция (или это тоже библиотека?). И где про них все можно почитать.



"Проблема с библиотеками mysql"
Отправлено lavr , 06-Май-05 14:08 
>>Попробуй перед запуском configure проставить
>>export CFLAGS="$CFLAGS -lm"
>>export CCFLAGS="$CCFLAGS -lm"
>>
>>и прогнать все еще раз
>>для надежности удали config.h и config.cache
>
>Почти помогло :-) В некоторых местах библиотеки нашлись. Но не везде. Подскажите,
>что это за опция (или это тоже библиотека?). И где про
>них все можно почитать.

как, вы не знаете как происходит компиляция и сборка? Тогда какого ...
пытаетесь делать самостоятельно то чего не знаете?

configure должен знать что и где находится:

где у вас библиотеки mysql? ls -la /usr/local/lib/mysql или
/usr/local/mysql/lib ? где у вас headers от mysql?

на этапе компиляции нужны только headers, на этапе линковки - библиотеки,
значит mysql и другие необходимые библиотеки должны быть в кеше:

ldconfig -r | grep mysql

Если не понимаете что делаете - используйте порты.


"Проблема с библиотеками mysql"
Отправлено Corwin , 06-Май-05 14:18 
>>Попробуй перед запуском configure проставить
>>export CFLAGS="$CFLAGS -lm"
>>export CCFLAGS="$CCFLAGS -lm"

>Почти помогло :-) В некоторых местах библиотеки нашлись. Но не везде. Подскажите,
>что это за опция (или это тоже библиотека?). И где про
>них все можно почитать.

При линковке оно кричало про "undefined reference to `floor'", 5.3 под рукой нет, но в 4.10 man floor говорит что линковать надо с указанием libm (-lm для линковщика). Тут я наверно ошибся немного, скорей надо проставить LDFLAGS. Вот стандартный набор, которые повлияет на configure/make. По хорошему грамотно написанный configure все сам должен делать

  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
              headers in a nonstandard directory <include dir>
  CPP         C preprocessor



"Проблема с библиотеками mysql"
Отправлено lavr , 06-Май-05 16:12 
>>>Попробуй перед запуском configure проставить
>>>export CFLAGS="$CFLAGS -lm"
>>>export CCFLAGS="$CCFLAGS -lm"
>
>>Почти помогло :-) В некоторых местах библиотеки нашлись. Но не везде. Подскажите,
>>что это за опция (или это тоже библиотека?). И где про
>>них все можно почитать.
>
>При линковке оно кричало про "undefined reference to `floor'", 5.3 под рукой
>нет, но в 4.10 man floor говорит что линковать надо с
>указанием libm (-lm для линковщика). Тут я наверно ошибся немного, скорей
>надо проставить LDFLAGS. Вот стандартный набор, которые повлияет на configure/make. По
>хорошему грамотно написанный configure все сам должен делать

да ну? мб он должен искать find'ом нестандартные места куда положены
headers и библиотеки?

>  CC          
>C compiler command
>  CFLAGS      C compiler flags
>  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
>              nonstandard directory <lib dir>
>  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
>              headers in a nonstandard directory <include dir>
>  CPP         C
>preprocessor


libm - математическая библиотека, разумеется она нужна

те кроме флагов configure больше ничего не нужно: autoconf, automake, libtools...?