Проблемы при линковании библиотек MySQL

Тема в разделе "Базы данных", создана пользователем PHPCod3r, 1 сен 2011.

Модераторы: latteo
  1. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    Вообщем то сабж, нужно в процессе работы мускуля, подключать библиотеки из различных папок, не только из /usr/lib /lib

    Каким образом можно задать эти папки что бы мускуль видел их, и проверял, когда я буду указывать бинарники создавая внутреннии функции примерно так
    PHP:
    CREATE FUNCTION my_func RETURNS string SONAME 'my_lib.so';
    вот тут

    http://mysql.ru/docs/man/Link_errors.html


    Приводят аж три решения вроде

    * Добавить в переменную окружения LD_LIBRARY_PATH путь к каталогу, содержащему libmysqlclient.so.
    * Добавить в переменную окружения LD_LIBRARY путь к каталогу, содержащему libmysqlclient.so.
    * Скопировать libmysqlclient.so в каталог, просматриваемый системой при поиске библиотек, таких как `/lib', и обновить информацию о распределенных библиотеках, выполнив ldconfig.



    Но к сожалениею чето совсем не ясно как этими способами можно воспользоваться, может кто нить обьяснить более подробно этот момент?

    Да и еще вопрос по ходу как определить в каких дирах мускуль ищет подключаемые библиотеки?

    Попробывал поэксперементировать с путями из /etc/ld.so.conf
    но похоже там прописаны каталоги в которые мускуль не видит...
     
  2. jami

    jami Постоялец

    Регистр.:
    10 авг 2011
    Сообщения:
    114
    Симпатии:
    39

    * Добавить в переменную окружения LD_LIBRARY_PATH путь к каталогу, содержащему libmysqlclient.so.
    * Добавить в переменную окружения LD_LIBRARY путь к каталогу, содержащему libmysqlclient.so.

    Ищем нужную либу:
    Код:
    locate libmysqlclient.so
    find / -name libmysqlclient.so
    Экспортим до запуска mysqld:
    Код:
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib/
    
    добавляем этот export в .profile или .bash_profile.
    Либо запускаем mysqld с переменными среды:
    Код:
    LD_LIBRARY_PATH=/yourpath mysqld [params]
    
    Примерно так.