Страница 1 из 2
Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 0:22
Ruza
Ошибка сборки:
gcc -Wall -I/usr/include -I/usr/local/include -I/usr/include/pcre -c need_cache_update.c
gcc -Wall -I/usr/include -I/usr/local/include -I/usr/include/pcre -o redirector redirector.c -L/lib `pcre-config --libs` pass.o raw_change.o load_cache.o pcre.o parse_input.o init_vars.o check_urls.o run_make_cache.o new_url.o redirect.o err_mes.o now.o get_opt.o parse_urls.o cache2url.o ip.o id.o comparing.o
pcre.o: In function `load_pcre_file':
pcre.c:(.text+0x4da): undefined reference to `pcre_compile'
pcre.c:(.text+0x60b): undefined reference to `pcre_study'
pcre.o: In function `check_pcre':
pcre.c:(.text+0x7d0): undefined reference to `pcre_exec'
get_opt.o: In function `get_opt':
get_opt.c:(.text+0x455): undefined reference to `pcre_compile'
get_opt.c:(.text+0x50e): undefined reference to `pcre_study'
get_opt.c:(.text+0x64c): undefined reference to `pcre_exec'
get_opt.c:(.text+0x6cf): undefined reference to `pcre_exec'
get_opt.c:(.text+0x752): undefined reference to `pcre_exec'
get_opt.c:(.text+0x945): undefined reference to `pcre_exec'
get_opt.c:(.text+0x9c8): undefined reference to `pcre_exec'
get_opt.o:get_opt.c:(.text+0xa4b): more undefined references to `pcre_exec' follow
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [all] Ошибка 1
Re: Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 8:11
Slava
Re: Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 10:20
Ruza
Пункт 3.
Это я знаю... Просто на 11.04 собиралось, а после dist-upgrade вот такое кажет...
Но что самое интересное:
root@ubuntu:/usr/include# apt-get install libpcre3 libpcre3-dev
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Уже установлена самая новая версия libpcre3.
Уже установлена самая новая версия libpcre3-dev.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Re: Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 10:38
Slava
1. Покажите список всех доступных пакетов, в имени которых есть libpcre
2. Покажите вывод команды ldconfig -v|grep pcre
3. После dist-upgrade машина перегружалась?
Re: Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 10:50
Ruza
1.
root@ubuntu:/usr/src/redirector-3.2.8# aptitude search pcre
v apertium-pcre2 -
v apertium-pcre2 -
p cl-ppcre - Portable Regular Express Library for Common Lisp
p clisp-module-pcre - clisp module that adds libpcre support
p gambas2-gb-pcre - The Gambas regexp component
p haskell-pcre-light-doc - фиктивный пакет для обновления
p libghc-pcre-light-dev - Haskell library for Perl 5-compatible regular expressions
v libghc-pcre-light-dev-0.4-36191 -
v libghc-pcre-light-dev-0.4-599f8 -
p libghc-pcre-light-doc - library documentation for pcre-light
p libghc-pcre-light-prof - pcre-light library with profiling enabled
v libghc-pcre-light-prof-0.4-36191 -
v libghc-pcre-light-prof-0.4-599f8 -
p libghc6-pcre-light-dev - фиктивный пакет для обновления
p libghc6-pcre-light-doc - фиктивный пакет для обновления
p libghc6-pcre-light-prof - фиктивный пакет для обновления
p liblua5.1-rex-pcre-dev - PCRE development files for the Lua language version 5.1
p liblua5.1-rex-pcre0 - Perl regular expressions library for the Lua language version 5.1
i libpcre++-dev - C++ wrapper class for pcre (development)
p libpcre++0 - C++ wrapper class for pcre (runtime)
p libpcre-ocaml - OCaml bindings for PCRE (runtime)
v libpcre-ocaml-46691 -
p libpcre-ocaml-dev - OCaml bindings for PCRE (Perl Compatible Regular Expression)
v libpcre-ocaml-dev-46691 -
v libpcre-ocaml-dev-y59x5 -
v libpcre-ocaml-y59x5 -
p libpcre3 - Perl 5 Compatible Regular Expression Library - runtime files
p libpcre3-dbg - Perl 5 Compatible Regular Expression Library - debug symbols
p libpcre3-dev - Perl 5 Compatible Regular Expression Library - development files
p libpcrecpp0 - Perl 5 Compatible Regular Expression Library - C++ runtime files
p pcregrep - grep utility that uses perl 5 compatible regexes.
p pike7.8-pcre - PCRE module for Pike
p postfix-pcre - PCRE map support for Postfix
p sqlite3-pcre - Perl-compatible regular expression support for SQLite
2.
root@ubuntu:/usr/src/redirector-3.2.8# ldconfig -v|grep pcre
/sbin/ldconfig.real: Путь «/lib/x86_64-linux-gnu» задан несколько раз
/sbin/ldconfig.real: Путь «/usr/lib/x86_64-linux-gnu» задан несколько раз
libpcre.so.3 -> libpcre.so.3.12.1
libpcreposix.so.3 -> libpcreposix.so.3.12.1
libpcrecpp.so.0 -> libpcrecpp.so.0.0.0
libpcre++.so.0 -> libpcre++.so.0.0.0
3. Перегружалась конечно...
Re: Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 10:57
G1bsoN
добрый день. имею абсолютно аналогичную проблему при сборке
система - чистая только установленная Ubuntu 11.10 server i386
в логах и выводе ldconfig - абсолютно то же самое
Re: Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 11:06
Slava
Немного странно видеть нулевые версии:
libpcrecpp.so.0 -> libpcrecpp.so.0.0.0
libpcre++.so.0 -> libpcre++.so.0.0.0
Я правильно понимаю, что проинсталированным считается только i libpcre++-dev - C++ wrapper class for pcre (development) ?
На сколько я помню, можно сделать apt-get install --reinstall что бы ещё раз проинсталировать пакеты.
Попробуйте сделать это для libpcre3, libpcre3-dev
После чего сделайте ldconfig и попробуйте собрать.
Если не получится, покажите снова ldconfig -v|grep pcre
Re: Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 11:18
Ruza
Сделал - пофик... Всё тоже самое.
Re: Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 11:21
G1bsoN
Slava писал(а):Немного странно видеть нулевые версии:
libpcrecpp.so.0 -> libpcrecpp.so.0.0.0
libpcre++.so.0 -> libpcre++.so.0.0.0
вот и меня это малость "настораживает" - ведь при установке пакетов библиотек никаких ошибок не было
Slava писал(а): На сколько я помню, можно сделать apt-get install --reinstall что бы ещё раз проинсталировать пакеты.
Попробуйте сделать это для libpcre3, libpcre3-dev
После чего сделайте ldconfig и попробуйте собрать.
Если не получится, покажите снова ldconfig -v|grep pcre
переустановка пакетов ничего не дала - всё та же ошибка при сборке и всё тот же результат вывода
root@ubuntu:/usr/src/redirector-3.2.8# ldconfig -v | grep pcre
/sbin/ldconfig.real: Путь «/lib/i386-linux-gnu» задан несколько раз
/sbin/ldconfig.real: Путь «/usr/lib/i386-linux-gnu» задан несколько раз
libpcre.so.3 -> libpcre.so.3.12.1
libpcrecpp.so.0 -> libpcrecpp.so.0.0.0
libpcreposix.so.3 -> libpcreposix.so.3.12.1
libpcre++.so.0 -> libpcre++.so.0.0.0
Re: Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 11:43
Slava
Можете попробовать собрать что нить отсюда:
http://dh.opennet.ru/pcre5.html ?
Re: Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 12:32
Ruza
Вот первое собралось:
#include <stdio.h>
#include <pcre.h>
int main(int argc, char* argv[])
{
pcre *f; /* переменная для хранения преобразованного шаблона */
char *pattern="(\\d{2})[-/\\.](\\d{2})[-/\\.](\\d{2})?(\\d{2}"; /* шаблон с ошибкой */
const char *errstr; /* буфер для сообщения об ошибке */
int errchar; /* номер символа */
if((f=pcre_compile(pattern,PCRE_CASELESS|PCRE_MULTILINE,&errstr,&errchar,NULL))==NULL)
{
printf("Ошибка: %s\nСимвол N%i\nШаблон:%s\n",errstr,errchar,pattern);
exit(1);
}
printf("Все прошло нормально!\n");
return 0;
}
Последнее тоже, но с предупреждениями:
gcc -o test test.c `pcre-config --libs`
test.c: В функции «main»:
test.c:37:136: предупреждение: несовместимая неявная декларация внутренней функции «strlen» [по умолчанию включена]
PS Забыл добавить у меня Юбунта х64
Re: Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 12:45
Slava
Re: Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 12:49
Ruza
Всё страньше и страньше... Скорее всего Юбунта косячит...
Нормально собирается на Fedora-16
Re: Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 12:52
Ruza
Спасибо собралось... 3.2.10b1 пока не использовать?
Правда есть одно предупреждение:
get_opt.c: В функции «get_opt»:
get_opt.c:95:10: предупреждение: ignoring return value of «fgets», declared with attribute warn_unused_result [-Wunused-result]
get_opt.c:137:10: предупреждение: ignoring return value of «fgets», declared with attribute warn_unused_result [-Wunused-result]
Re: Ubuntu 11.10 & REJIK
Добавлено: Пн ноя 21, 2011 13:02
Slava
Ruza писал(а):
Спасибо собралось... 3.2.10b1 пока не использовать?
На Ваше усмотрение. Все же это бетта версия. С другой стороны, нареканий по ней пока нет.
Ruza писал(а):
Правда есть одно предупреждение:
get_opt.c: В функции «get_opt»:
get_opt.c:95:10: предупреждение: ignoring return value of «fgets», declared with attribute warn_unused_result [-Wunused-result]
get_opt.c:137:10: предупреждение: ignoring return value of «fgets», declared with attribute warn_unused_result [-Wunused-result]
Не существенно.