Отправляет email-рассылки с помощью сервиса Sendsay

Компиляция cyrus-2.2.12

1JAkUhKR9iaxCTEBdV4bVbLPdMBJnWUZ4qogZoUAse8pMADzRwIgU1msgXFRSR6RoE+CaMAeY2i0

hAI+ZZSlURK0raVgTB3TADqw1wDU9ipNxvF8BTb7Eyi7Rs9/53vrCfJbsTxjka1UW3rILrQy0DFL

VMP2xWqo5D3eSb5RDwHEiLiy5xOwWJrV+QfYVoqnB6fCB9d9H0YrKJLrk4KlladHI8BvuwNgMIdA

Y7pms9aoT+FApXT55AFtXh/Esnbs+Ul3Zlz+2nne+2g1BsOGpyDLlHIN1TdRsPe8pwP9KT510ps4

gmf7FCZ+lIfpJVtTuAVxU3j1kFHhvaD03Bc+4U8eaF6KH3PQj/xepOU80Pe2QQ4ac/Imfy8lnhL4

C/DBLHofSYTRZzssoIHM0TVlXOEvMS0nrKj7vvY3DfEt9AzbVQMKIQWp/AAq0fRZxHmACgAAAABJ

RU5ErkJggg==

Здравствуй, all!

Mandriva 2006.1, cyrus-imapd-2.2.12-19mdk.src.rpm, gcc-4.0.2-1mdk.i586,
glibc-2.3.5-6mdk.i586, tcp_wrappers-devel-7.6-26mdk.i586

Понадобилось переставить pop3-порт у сабжа со 110 на другой. Скачал src.rpm.
При попытке перекомпиляции сабжа (rpmbuild -ba сабж.spec и rpm --rebuild сабж)
вижу следующее сообщение.

#rpm --rebuild cyrus-imapd-2.2.12-19mdk.src.rpm

-----------cati586-mandriva-linux-gnu-gcc -c -I.. -I./../lib -I./../imap -I/usr/include/et
-I/usr/include -DHAVE_CONFIG_H -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fomit-frame-pointer -march=i586 -mtune=pentiumpro
-fasynchronous-unwind-tables -fPIC \
cyrusMasterMIB.c
cyrusMasterMIB.c: In function 'var_cyrusMasterMIB':
cyrusMasterMIB.c:145: warning: pointer targets in passing argument 1 of
'strlcpy' differ in signedness
cyrusMasterMIB.c:146: warning: pointer targets in passing argument 1 of
'strlen' differ in signedness
cyrusMasterMIB.c:150: warning: pointer targets in passing argument 1 of
'strlcpy' differ in signedness
cyrusMasterMIB.c:151: warning: pointer targets in passing argument 1 of
'strlen' differ in signedness
cyrusMasterMIB.c: In function 'var_serviceTable':
cyrusMasterMIB.c:215: warning: pointer targets in passing argument 1 of
'strlcpy' differ in signedness
cyrusMasterMIB.c:219: warning: pointer targets in passing argument 1 of
'strlen' differ in signedness
i586-mandriva-linux-gnu-gcc -L/usr/lib -o master master.o masterconf.o
cyrusMasterMIB.o ../lib/lock_fcntl.o ../lib/libcyrus_min.a -L/usr/lib
-lnetsnmpmibs -lnetsnmpagent -lnetsnmphelpers -lnetsnmp -ldl -lcrypto -lm
-lsensors -lwrap -lresolv -lssl -lcrypto -lfl -lresolv -ldb -lcom_err
/usr/lib/libwrap.a(hosts_access.o): In function `host_match':
/home/gb/rpm/BUILD/tcp_wrappers_7.6/hosts_access.c:298: undefined reference to
`yp_get_default_domain'
collect2: ld returned 1 exit status
make[1]: *** [master] Ошибка 1
make[1]: Leaving directory `/usr/src/RPM/BUILD/cyrus-imapd-2.2.12/master'
make: *** [all] Ошибка 1
ошибка: Неверный код возврата из /var/tmp/rpm-tmp.2638 (%build)

Печенкой чую, шо дело в необъявленной функции (процедуре)
yp_get_default_domain() и tcp_wrappers, но шо с этим делать - не знаю - не
программер наверно :). Кто подскажет?? И шо за разные знаки (differ in
signedness), как эти ворнинги убрать??

P.s. Содержимое 298-й строке в файле
/home/gb/rpm/BUILD/tcp_wrappers_7.6/hosts_access.c не найдено - нет такой
директории (да и юзера тоже) - /home/gb. Откуда он это взял??? Ее вызов есть
в
./configure

---------cat/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char yp_get_default_domain ();
int
main ()
{
yp_get_default_domain ();
;
return 0;
}
---------catУбиранием "char" дело не решилось (была такая идея) :(

Спасибо.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 25673; Возраст листа: 980; Участников: 1474
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/532903

Ответить   daks (#532903)

 

Ответы:

В сообщении от 1143815873 секунд после начала Эпохи daks написал(а):

to

Во первых

# rpmbuild --rebuild cyrus-imapd-2.2.12-19mdk.src.rpm

Замечалось что в мандриве `rpm --rebuild' работает не корректно (в
нормальных дистрибутивах оно вообще не работает, что сразу наставляет
на правильный путь - `rpmbuild --rebuild').

Если не поможет, то

$ objdump -T /lib/libnsl.so.* |grep yp_get_def

? Если выдаст что-то вроде

4c4520b8 g DF .text 000000b7 GLIBC_2.0 yp_get_default_domain

то в spec-файл в раздел build перед configure нужно добавить

export LD_FLAGS="-L/lib -lnsl"

Это можно проигнорировать.

Видимо подгрузил отладочную информацию. Она была сохранена во время
сборки tcp_wrappers.

Очевидно configure проверяет наличие этой функции.

Ответить   Konstantin Korikov Fri, 31 Mar 2006 18:42:06 +0300 (#532935)

 

1JAkUhKR9iaxCTEBdV4bVbLPdMBJnWUZ4qogZoUAse8pMADzRwIgU1msgXFRSR6RoE+CaMAeY2i0

hAI+ZZSlURK0raVgTB3TADqw1wDU9ipNxvF8BTb7Eyi7Rs9/53vrCfJbsTxjka1UW3rILrQy0DFL

VMP2xWqo5D3eSb5RDwHEiLiy5xOwWJrV+QfYVoqnB6fCB9d9H0YrKJLrk4KlladHI8BvuwNgMIdA

Y7pms9aoT+FApXT55AFtXh/Esnbs+Ul3Zlz+2nne+2g1BsOGpyDLlHIN1TdRsPe8pwP9KT510ps4

gmf7FCZ+lIfpJVtTuAVxU3j1kFHhvaD03Bc+4U8eaF6KH3PQj/xepOU80Pe2QQ4ac/Imfy8lnhL4

C/DBLHofSYTRZzssoIHM0TVlXOEvMS0nrKj7vvY3DfEt9AzbVQMKIQWp/AAq0fRZxHmACgAAAABJ

RU5ErkJggg==

Konstantin Korikov пишет:

Спасибо большое, получилось. Только объясните, откуда Вы узнали, что именно в
/lib/libnsl.so сидит yp_get_default_domain, чтобы следующий сам я уже сам
разгреб такую проблему? Или какой-то общий порядок разрешения подобных ситуаций?

Правда, теперь появился другой артефакт :)

i586-mandriva-linux-gnu-gcc -c -I.. -I./../lib -I./../sieve
-I/usr/include/et -I/usr/include -DHAVE_CONFIG_H -O2 -g -pipe
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fomit-frame-pointer -march=i586
-mtune=pentiumpro -fasynchronous-unwind-tables -fPIC \
annotate.c
annotate.c: In function 'annotatemore_store':
annotate.c:1656: warning: assignment discards qualifiers from pointer target
type
annotate.c:1664: warning: assignment discards qualifiers from pointer target
type
annotate.c:1835: warning: initialization discards qualifiers from pointer
target type

Шо с этим делать??

Спасибо.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 25692; Возраст листа: 983; Участников: 1532
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/533620

Ответить   daks (#533620)

 

В сообщении от 1144065615 секунд после начала Эпохи daks написал(а):

в

По сообщению компилятора видно что символ `yp_get_default_domain'
используется в `/usr/lib/libwrap.a'. Следовательно tcp_wrappers зависит
от какой-то библиотеки, предоставляющей `yp_get_default_domain'.
Получить список библиотек, от которых зависит tcp_wrappers можно таким способом

$ rpm -q --requires tcp_wrappers |fgrep .so

или таким

$ ldd /usr/lib/libwrap.so

В результате было определено что таких библиотек две: `libc.so.6' и
`libnsl.so.1'. Затем эти библиотеки проверяются на наличие
`yp_get_default_domain' при помощи objdump.

Игнорировать.

Ответить   Konstantin Korikov Mon, 3 Apr 2006 16:05:22 +0300 (#533643)

 

1JAkUhKR9iaxCTEBdV4bVbLPdMBJnWUZ4qogZoUAse8pMADzRwIgU1msgXFRSR6RoE+CaMAeY2i0

hAI+ZZSlURK0raVgTB3TADqw1wDU9ipNxvF8BTb7Eyi7Rs9/53vrCfJbsTxjka1UW3rILrQy0DFL

VMP2xWqo5D3eSb5RDwHEiLiy5xOwWJrV+QfYVoqnB6fCB9d9H0YrKJLrk4KlladHI8BvuwNgMIdA

Y7pms9aoT+FApXT55AFtXh/Esnbs+Ul3Zlz+2nne+2g1BsOGpyDLlHIN1TdRsPe8pwP9KT510ps4

gmf7FCZ+lIfpJVtTuAVxU3j1kFHhvaD03Bc+4U8eaF6KH3PQj/xepOU80Pe2QQ4ac/Imfy8lnhL4

C/DBLHofSYTRZzssoIHM0TVlXOEvMS0nrKj7vvY3DfEt9AzbVQMKIQWp/AAq0fRZxHmACgAAAABJ

RU5ErkJggg==

Konstantin Korikov пишет:

Сибо. То, шо надо!!

Ага, будем.

Спасибо.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 25699; Возраст листа: 983; Участников: 1532
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/533651

Ответить   daks (#533651)