Как найти нужную библиотеку ???
Проблема в следующем. Собирал одну программу, требует библтотеку libpcre. Установил из портов все с названием pcre. Нифига. Подскажите пожалуйста как найти сабж и можно ли вообще находить пакеты или порты если нужна какая-нибудь библиотека (т.е. по названию)
|
Проблема плохо описана - может следует написать подробнее что и когда падает?
Программа компилируется, но неработает? Компиляция падает с сообщением типа: "/usr/bin/ld: cannot find -lpcre" ? |
к сказанному misher могу добавить только ответ на второй вопрос (если я правильно его поянла):
Цитата:
|
Может быть это поможет http://www.google.com.ua/search?hl=u...+libpcre&meta=
|
Во первых, нужно проверить, что загрузчик видит библиотеку: 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). |
Собственно программа 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 но какой порт или пакет ее содержит не знаю. |
Спасибо за советы, все оказалось просто : www.pcre.org
Теперь бы заставить эту сволочь компилироваться :) |
/usr/ports/devel/pcre
|
Я встречался с подобной проблемой (в портах 5.3 некомпилился толи tk толи tcl потому что *h файлы искались не в том месте, лечил это тем что делал линки этих файлов из /usr/local/include на /usr/include)
kryo если после установки порта програма компилироваться небудет найди этот pcre.h с помошью команды find и залинкуй его в /usr/include//. Совет FrIcE наверное будет работать даже лучше... |
Все нормально (если можно так сказать :)) ./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 хотя пути правильные и симлинков я везде понаставил |
он хедеров не находит
Цитата:
|
kryo
Попробуй залинковать папку pcre (где она лежит? в /usr/local/include/pcre?) на /usr/include/pcre |
Ура, все получилось, создал директорию /usr/local/include/pcre и сделал туда линк на pcre.h
|
kryo
да здравствует unix-way :) - поздравляю |
Время: 09:35. |
Время: 09:35.
© OSzone.net 2001-