Компиляция 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
В сообщении от 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 проверяет наличие этой функции.