2015-04-30 3 views
0

Я пытаюсь установить ibm_db2 через PECL:«PECL установить ibm_db2» не может найти библиотеку

pecl install ibm_db2 

Затем, когда он попросит установить директорию, я пытался различные места только иметь тот же результат , Он проходит через кучу проверок и т.д., а затем пытается «сделать» и получает ошибку:

/usr/bin/ld: skipping incompatible /home/db2inst1/sqllib/lib32//libdb2.so when searching for -ldb2 
/usr/bin/ld: cannot find -ldb2 

Он всегда выглядит там для библиотек. И они существуют, потому что, когда я выполняю:

locate libdb2.so 

Он показывает:

/opt/ibm/db2/V10.1/lib32/libdb2.so 
/opt/ibm/db2/V10.1/lib32/libdb2.so.1 
/opt/ibm/db2/V10.1/lib64/libdb2.so 
/opt/ibm/db2/V10.1/lib64/libdb2.so.1 

Но они в/Opt/IBM.

Я смотрел по этой ссылке: pecl instal ibm_db2 fails, похоже, что это связано с неправильной настройкой заголовков/библиотек?

Я в настоящее время работает RHEL 6.6.

+0

Похоже, вы пытаетесь создать 64-разрядную версию ibm_db2, в то время как ваш экземпляр DB2 32-разрядный. Какая у вас боеспособность ОС? Где находится пункт '/ home/db2inst1/sqllib/lib'? – mustaccio

+0

Думаю, это разрешено: я использую php, и в моем файле php.ini у меня были некоторые (казалось бы, несвязанные) расширения, которые вызывали проблемы. Комментирование этих расширений и установка версии «devel» ibm_db2, похоже, устранили эту проблему. Тем не менее, есть еще несколько примеров, когда мне нужно установить библиотеки, которые терпят неудачу, поэтому я сделаю еще несколько копаний в php.ini ... – ALOIVIA

ответ

0

Так получилось, что на самом деле мне не нужно было включать эти библиотеки в php.ini или через pecl (это значит, что он искал путь, который не смог найти по какой-то причине), потому что они были уже настроенный из моей команды настройки PHP. Он помещает заголовки в определенное место, и, сделав это местоположение доступным для Apache, приложение отлично работает, нет необходимости включать их в php.ini.