The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите разобраться с подключаемыми библиотеками"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите разобраться с подключаемыми библиотеками"
Сообщение от Bakulenko emailИскать по авторуВ закладки(ok) on 05-Авг-04, 14:59  (MSK)
Написал CGI приложение на C для обращение к MySQL (4.0.12). Скомпилировал всё замечательно, без косяков. Но при выполнении сервер в логи пишет ошибку:  /usr/libexec/ld-elf.so.1: Shared object "libmysqlclient.so.10" not found
Я нашел эту библиатеку и забросил её в /usr/local/lib/
После чего ошибка исчезла, но появилась другая:
/usr/libexec/ld-elf.so.1: AHW_Scripts.cgi: Undefined symbol "mysql_connect"
В чём могут быть проблемы?

ОС  FreeBSD 4.4

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Помогите разобраться с подключаемыми библиотеками"
Сообщение от Vladislav Lazarenko emailИскать по авторуВ закладки on 05-Авг-04, 17:01  (MSK)
>Написал CGI приложение на C для обращение к MySQL (4.0.12). Скомпилировал всё
>замечательно, без косяков. Но при выполнении сервер в логи пишет ошибку:
> /usr/libexec/ld-elf.so.1: Shared object "libmysqlclient.so.10" not found
>Я нашел эту библиатеку и забросил её в /usr/local/lib/
>После чего ошибка исчезла, но появилась другая:
>/usr/libexec/ld-elf.so.1: AHW_Scripts.cgi: Undefined symbol "mysql_connect"
>В чём могут быть проблемы?
>
>ОС  FreeBSD 4.4

Не нужно никуда забрасывать эту библиотеку, просто установи mysql-devel пакет, все само попадет туда, куда нужно. Потом, если этого не произойдет при инсталляции, зарегестрируй .so-шки в системе, man ld. Обнови ld хэш.
Все должно пройти как по маслу.

удачи.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Помогите разобраться с подключаемыми библиотеками"
Сообщение от Bakulenko emailИскать по авторуВ закладки(??) on 06-Авг-04, 05:50  (MSK)
>>Написал CGI приложение на C для обращение к MySQL (4.0.12). Скомпилировал всё
>>замечательно, без косяков. Но при выполнении сервер в логи пишет ошибку:
>> /usr/libexec/ld-elf.so.1: Shared object "libmysqlclient.so.10" not found
>>Я нашел эту библиатеку и забросил её в /usr/local/lib/
>>После чего ошибка исчезла, но появилась другая:
>>/usr/libexec/ld-elf.so.1: AHW_Scripts.cgi: Undefined symbol "mysql_connect"
>>В чём могут быть проблемы?
>>
>>ОС  FreeBSD 4.4
>
>Не нужно никуда забрасывать эту библиотеку, просто установи mysql-devel пакет, все само
>попадет туда, куда нужно. Потом, если этого не произойдет при инсталляции,
>зарегестрируй .so-шки в системе, man ld. Обнови ld хэш.
>Все должно пройти как по маслу.
>
>удачи.

Спасибо ,попробую. Хотя у меня этот скрипт уже работал, систему не переставлял, а всего лишь перегружал.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Помогите разобраться с подключаемыми библиотеками"
Сообщение от Bakulenko emailИскать по авторуВ закладки(ok) on 12-Авг-04, 13:30  (MSK)
Что то я не нашел под free bsd mysql-devel, он вообще в природе существует.
У меня в системе существует несколько экземпляров libmysqlclient.so.10.
Попробовал в опциях gcc указывать пути к этим so-шкам, но прога перестала линкером собираться, в то время как ошибка в логах сервера про неизвестный метод "mysql_connect" пропала.
У меня сложилось впечатление, что когда я компилил прогу с одними путями, линкер видел эту функцию, а когда вызывалась CGI-программа, то апач цеплял другую libmysqlclient.so.10, в которой этой функции нет.
Посоветуйте, какие действия еще можно предпринять?
Самое интересное, что эта cgi-ка уже работала, работы в этом направлении временно свернули, а после перезагрузки системы все перестало работать.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Помогите разобраться с подключаемыми библиотеками"
Сообщение от Bakulenko emailИскать по авторуВ закладки(ok) on 12-Авг-04, 13:36  (MSK)

>Попробовал в опциях gcc указывать пути к этим so-шкам, но прога перестала
>линкером собираться, в то время как ошибка в логах сервера про
>неизвестный метод "mysql_connect" пропала.
извиняюсь, мысль недовыразил: понятно, проги то нет, выполняться нечему
Стала появляться сообщение об отсутствии "mysql_connect" при линковании.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Помогите разобраться с подключаемыми библиотеками"
Сообщение от Brick Искать по авторуВ закладки(??) on 15-Авг-04, 12:13  (MSK)
>
>>Попробовал в опциях gcc указывать пути к этим so-шкам, но прога перестала
>>линкером собираться, в то время как ошибка в логах сервера про
>>неизвестный метод "mysql_connect" пропала.
>извиняюсь, мысль недовыразил: понятно, проги то нет, выполняться нечему
>Стала появляться сообщение об отсутствии "mysql_connect" при линковании.
попробуй mysql_real_connect. Была такая же проблема, решил её только так.

MYSQL mysql;

// Устанавливаем постоянное соединение с MySQL
mysql_init(&mysql);
if(!mysql_real_connect(&mysql, SQL_HOST, SQL_USER, SQL_PASSWORD, SQL_DB, 0, NULL, 0))
{
   printf("Не удалось соедениться с базой данных. Ошибка: %s", mysql_error(&mysql));

   return -1;
}
//

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Помогите разобраться с подключаемыми библиотеками"
Сообщение от Bakulenko emailИскать по авторуВ закладки(??) on 16-Авг-04, 04:59  (MSK)
>>
>>>Попробовал в опциях gcc указывать пути к этим so-шкам, но прога перестала
>>>линкером собираться, в то время как ошибка в логах сервера про
>>>неизвестный метод "mysql_connect" пропала.
>>извиняюсь, мысль недовыразил: понятно, проги то нет, выполняться нечему
>>Стала появляться сообщение об отсутствии "mysql_connect" при линковании.
>попробуй mysql_real_connect. Была такая же проблема, решил её только так.
>
>MYSQL mysql;
>
>// Устанавливаем постоянное соединение с MySQL
>mysql_init(&mysql);
>if(!mysql_real_connect(&mysql, SQL_HOST, SQL_USER, SQL_PASSWORD, SQL_DB, 0, NULL, 0))
>{
>   printf("Не удалось соедениться с базой данных. Ошибка: %s", mysql_error(&mysql));
>
>
>   return -1;
>}
>//
Спасибо, я уже так и сделал. Все заработало. Глянул исходники mysql, а там условная компиляция на методе mysql_connect стоит и написано, что это типа старый вариант.
Просто интересно было почему не работает, ведь эта прога работала 3 месяца назад, до перегрузки системы.
Я грепом глянул несколько версий libmysqlclient.so.10 и она нашла mysql_connect в той, которая по указанным мной путям лежит, поэтому то и компилится, но когда прога исполнялась под апачем, брал он другую версию, в которой этой функции нет.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Помогите разобраться с подключаемыми библиотеками"
Сообщение от К.Годлевский Искать по авторуВ закладки on 30-Ноя-04, 18:04  (MSK)
>mysql_real_connect(&mysql, SQL_HOST, SQL_USER, SQL_PASSWORD, SQL_DB, 0, NULL, 0)

Спасибо! Весь день искал, где собака порылась.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Помогите разобраться с подключаемыми библиотеками"
Сообщение от chip emailИскать по авторуВ закладки(??) on 15-Авг-04, 21:36  (MSK)
>Написал CGI приложение на C для обращение к MySQL (4.0.12). Скомпилировал всё
>замечательно, без косяков. Но при выполнении сервер в логи пишет ошибку:
> /usr/libexec/ld-elf.so.1: Shared object "libmysqlclient.so.10" not found
>Я нашел эту библиатеку и забросил её в /usr/local/lib/
>После чего ошибка исчезла, но появилась другая:
>/usr/libexec/ld-elf.so.1: AHW_Scripts.cgi: Undefined symbol "mysql_connect"
>В чём могут быть проблемы?
>
>ОС  FreeBSD 4.4

ldconfig -r | head -2
ldconfig -r | grep mysql
+ присутствует ли в /usr/local/etc/rc.d скрипт 000.mysql-client.sh и имеет ли он исполняемый бит ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Помогите разобраться с подключаемыми библиотеками"
Сообщение от Bakulenko emailИскать по авторуВ закладки(??) on 16-Авг-04, 05:08  (MSK)
>>Написал CGI приложение на C для обращение к MySQL (4.0.12). Скомпилировал всё
>>замечательно, без косяков. Но при выполнении сервер в логи пишет ошибку:
>> /usr/libexec/ld-elf.so.1: Shared object "libmysqlclient.so.10" not found
>>Я нашел эту библиатеку и забросил её в /usr/local/lib/
>>После чего ошибка исчезла, но появилась другая:
>>/usr/libexec/ld-elf.so.1: AHW_Scripts.cgi: Undefined symbol "mysql_connect"
>>В чём могут быть проблемы?
>>
>>ОС  FreeBSD 4.4
>
>ldconfig -r | head -2
>ldconfig -r | grep mysql
>+ присутствует ли в /usr/local/etc/rc.d скрипт 000.mysql-client.sh и имеет ли он исполняемый
>бит ?

/tmp/apache > ldconfig -r | head -2
/var/run/ld-elf.so.hints:
        search directories: /usr/lib/mysql:/usr/local/lib/mysql
/tmp/apache > cd /usr/local/lib/mysql
/usr/local/lib/mysql > grep mysql_connect *
Binary file libmysqlclient.a matches
Binary file libmysqlclient.so.10 matches
/usr/local/lib/mysql > ldconfig -r | grep mysql
        search directories: /usr/lib/mysql:/usr/local/lib/mysql
        0:-lmysqlclient.10 => /usr/lib/mysql/libmysqlclient.so.10
        1:-lmysqlclient.12 => /usr/lib/mysql/libmysqlclient.so.12
        2:-lmysqlclient.10 => /usr/local/lib/mysql/libmysqlclient.so.10
Как видно, mysql_connect в этих библиотеках присутствует, но подключается библиотека хрен пойми откуда.
Или grep mysql_connect *
Binary file libmysqlclient.a matches
Binary file libmysqlclient.so.10 matches
еще не говорит о том, что все будет вызываться?

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру