PDA

Показать полную графическую версию : Как найти нужную библиотеку ???


kryo
24-05-2005, 17:31
Проблема в следующем. Собирал одну программу, требует библтотеку libpcre. Установил из портов все с названием pcre. Нифига. Подскажите пожалуйста как найти сабж и можно ли вообще находить пакеты или порты если нужна какая-нибудь библиотека (т.е. по названию)

misher
24-05-2005, 20:45
Проблема плохо описана - может следует написать подробнее что и когда падает?
Программа компилируется, но неработает?
Компиляция падает с сообщением типа:
"/usr/bin/ld: cannot find -lpcre" ?

mar
24-05-2005, 21:10
к сказанному misher могу добавить только ответ на второй вопрос (если я правильно его поянла):
можно ли вообще находить пакеты или порты если по названию
на то есть команда find, ну и, соответственно, man find.

Imperio
24-05-2005, 22:03
Может быть это поможет http://www.google.com.ua/search?hl=uk&q=index+of+libpcre&meta=

FrIcE
26-05-2005, 06:39
Во первых, нужно проверить, что загрузчик видит библиотеку: ldconfig -r | grep pcre.
Если она видна, значит приложение не учитывает дополнительные пути расположения библиотек. Лечится установкой LDFLAGS="-L/usr/local/lib" перед запуском configure либо можно поправить Makefile.
Если она не видна, значит не прописаны дополнительные пути загрузчика, нужно их добавить: ldconfig -m /usr/local/lib и затем проверяем, видит ли загрузчик библиотеку (должен видеть). Если видит, пробуем продолжить компиляцию, либо шаманим с LDFLAGS.

Чтобы загрузчик при запуска ОС учитывал дополнительные пути расположения библиотек, нужно прописать в rc.conf:
ldconfig_paths="/usr/local/lib /other/path ..." (по умолчанию насколько я помню он подгружает только /lib и /usr/lib).

kryo
26-05-2005, 11:51
Собственно программа http://sams.irc.perm.ru/ ни в портах ни в пакетах ее нет. При ./configure пишет
...
cheking for PCRE headers ... using pcre includes from /usr/include/pcre
cheking for <pcre.h> in /usr/include/pcre... configure error : Cannot find PCRE's <pcre.h> in /usr/include/pcre

Знаю только что нужна библиотека libpcre но какой порт или пакет ее содержит не знаю.

kryo
26-05-2005, 12:28
Спасибо за советы, все оказалось просто : www.pcre.org
Теперь бы заставить эту сволочь компилироваться :)

archy
26-05-2005, 12:54
/usr/ports/devel/pcre

misher
26-05-2005, 21:34
Я встречался с подобной проблемой (в портах 5.3 некомпилился толи tk толи tcl потому что *h файлы искались не в том месте, лечил это тем что делал линки этих файлов из /usr/local/include на /usr/include)
kryo если после установки порта програма компилироваться небудет найди этот pcre.h с помошью команды find и залинкуй его в /usr/include//. Совет FrIcE наверное будет работать даже лучше...

kryo
27-05-2005, 13:00
Все нормально (если можно так сказать :)) ./configure находит библиотеку только теперь не хочет компилировать:

redirect.c:29:23: pcre/pcre.h: No such file or directory
redirect.c:63: error: syntax error before "pcre"
redirect.c: In function `clean_up_child_process':
redirect.c:90: warning: implicit declaration of function `wait'
redirect.c: In function `convertplus':
redirect.c:111: warning: unknown conversion type character 0x20 in format
redirect.c: In function `main':
redirect.c:323: warning: implicit declaration of function `getpid'
redirect.c:555: error: structure has no member named `cexpr'
redirect.c:555: warning: implicit declaration of function `pcre_compile'
redirect.c:701: error: structure has no member named `cexpr'
redirect.c:702: warning: implicit declaration of function `pcre_exec'
redirect.c:702: error: structure has no member named `cexpr'
redirect.c:711: error: structure has no member named `cexpr'
redirect.c:712: error: structure has no member named `cexpr'
redirect.c:320: warning: unused variable `rc'
gmake: *** [redirect.o] Error 1

хотя пути правильные и симлинков я везде понаставил

archy
27-05-2005, 18:01
он хедеров не находит
redirect.c:29:23: pcre/pcre.h: No such file or directory

misher
28-05-2005, 08:24
kryo
Попробуй залинковать папку pcre (где она лежит? в /usr/local/include/pcre?) на /usr/include/pcre

kryo
30-05-2005, 11:31
Ура, все получилось, создал директорию /usr/local/include/pcre и сделал туда линк на pcre.h

mar
31-05-2005, 03:09
kryo
да здравствует unix-way :) - поздравляю




© OSzone.net 2001-2012