Tomsk Sysadmins Forum
Unix => Администрирование => Topic started by: Barbarian on February 11, 2007, 00:56:54
-
Ситуация следующая:
Система FedoraCore 5. Пытаюсь собрать rpm`ку courier-imap из исходников, набираю команду rpmbuild -ba courier-imap.spec пакет начинает собираться но через некоторое время вываливается вот такое сообщение:
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
appending configuration tag "F77" to libtool
checking for env... /bin/env
configure: WARNING: === Do not compile Courier-IMAP as root. Compile
configure: WARNING: === Courier-IMAP as a non-root user then su to
configure: WARNING: === root before running make install. You must now
configure: WARNING: === remove this entire directory and then extract the
configure: WARNING: === source code from the tarball as a non-root user
configure: WARNING: === and rerun the configure script. If you have read
configure: WARNING: === the INSTALL file you should have known this. So
configure: WARNING: === you better read INSTALL again.
configure: error: aborted.
ошибка: Неверный код возврата из /var/tmp/rpm-tmp.89461 (%prep)
Ошибки сборки пакетов:
Неверный код возврата из /var/tmp/rpm-tmp.89461 (%prep)
В чем может заключаться проблема, каких пакетов не хватает ему?
-
configure: WARNING: === Do not compile Courier-IMAP as root. Compile
configure: WARNING: === Courier-IMAP as a non-root user then su to
configure: WARNING: === root before running make install. You must now
configure: WARNING: === remove this entire directory and then extract the
configure: WARNING: === source code from the tarball as a non-root user
configure: WARNING: === and rerun the configure script. If you have read
configure: WARNING: === the INSTALL file you should have known this. So
configure: WARNING: === you better read INSTALL again.
собственно вот и описание проблемы
грит собирать не под рутом надо
а ставить под рутом
-
собственно вот и описание проблемы
грит собирать не под рутом надо
а ставить под рутом
Да это я перевел уже, просто когда пытаюсь собрать под пользователем относящимся к групе users он вообще ни чего не делает, а просто ругается что нет прав и т.д. Что делать подскажите? Чего я не правильно тут делаю?
-
Да это я перевел уже, просто когда пытаюсь собрать под пользователем относящимся к групе users он вообще ни чего не делает, а просто ругается что нет прав и т.д. Что делать подскажите? Чего я не правильно тут делаю?
Создай в домашнем каталоге пользователя файл .rpmmacros с таким содержимым:
%_topdir /home/user_name/RPM
%_tmppath /home/user_name/RPM/tmp
Где user_name - это имя пользователя под которым ты будешь производить сборку пакетов.
Ну и не забудь создать дерево каталогов необходимое для сборки rpm-пакетов по пути согласно этой %_topdir переменной из своего .rpmmacros, аналогичное тому что ты видишь в каталоге /usr/src/redhat
-
Создай в домашнем каталоге пользователя файл .rpmmacros с таким содержимым:
%_topdir /home/user_name/RPM
%_tmppath /home/user_name/RPM/tmp
Где user_name - это имя пользователя под которым ты будешь производить сборку пакетов.
Ну и не забудь создать дерево каталогов необходимое для сборки rpm-пакетов по пути согласно этой %_topdir переменной из своего .rpmmacros, аналогичное тому что ты видишь в каталоге /usr/src/redhat
Спасибо большое за помощь, все собралось.
У меня сразу вопрос - что это за переменные %_topdir и %_tmppath ? Они необходимы для rpmbuild?
-
У меня сразу вопрос - что это за переменные %_topdir и %_tmppath ? Они необходимы для rpmbuild?
Указание этих переменных необходимо только если они должны быть отличными от существующих настроек rpm. В данном случае просто произведено перенаправление главного каталога системы сборки пакетов и каталога для хранения временных файлов. Можно конечно сделать так: [user@host ~]# chown -R user_name:group_name /usr/src/redhat
Но я в этом не вижу особой необходимости.
А вообще что, где и как в Вашей системе относительно rpm смотрим так: [user@host ~]$ rpm --showrc
И очень рекомендую man rpm
-
Указание этих переменных необходимо только если они должны быть отличными от существующих настроек rpm. В данном случае просто произведено перенаправление главного каталога системы сборки пакетов и каталога для хранения временных файлов. Можно конечно сделать так: [user@host ~]# chown -R user_name:group_name /usr/src/redhat
Но я в этом не вижу особой необходимости.
А вообще что, где и как в Вашей системе относительно rpm смотрим так: [user@host ~]$ rpm --showrc
И очень рекомендую man rpm
А как искать ошибки, возникающие при сборке пакетов? Вот например когда такая информация появляется
Linking maildirkw
gcc: /usr/lib/libfam: No such file or directory
make[3]: *** [maildirkw] Ошибка 1
make[3]: Leaving directory `/home/rpv/RPM/BUILD/courier-imap-4.1.2/maildir'
make[2]: *** [all] Ошибка 2
make[2]: Leaving directory `/home/rpv/RPM/BUILD/courier-imap-4.1.2/maildir'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/home/rpv/RPM/BUILD/courier-imap-4.1.2'
make: *** [all] Ошибка 2
ошибка: Неверный код возврата из /home/rpv/RPM/tmp/rpm-tmp.31424 (%build)
Ошибки сборки пакетов:
Неверный код возврата из /home/rpv/RPM/tmp/rpm-tmp.31424 (%build)
это о чем говорит?
-
Linking maildirkw
gcc: /usr/lib/libfam: No such file or directory
make[3]: *** [maildirkw] Ошибка 1
это о чем говорит?
Собственно и говорит об отсутствии библиотеки в каталоге /usr/lib/libfam.
Если мне склероз не изменяет, то fam (file alteration monitor) можно использовать по желанию, а поставляется он отдельно (исходники, кажется, на сайте courier'а). Если нужно собрать rpm пакет сервака с поддержкой этого монитора, нужно сначала собрать и установить его (причем в devel версии), либо отключить его использование в опциях сборки пакета (ручками правим .spec файл).
-
Собственно и говорит об отсутствии библиотеки в каталоге /usr/lib/libfam.
Если мне склероз не изменяет, то fam (file alteration monitor) можно использовать по желанию, а поставляется он отдельно (исходники, кажется, на сайте courier'а). Если нужно собрать rpm пакет сервака с поддержкой этого монитора, нужно сначала собрать и установить его (причем в devel версии), либо отключить его использование в опциях сборки пакета (ручками правим .spec файл).
спасибо, я уже это исправил...
кстати кто собирал связку postfix+mysql+courier-imap+spamassasin+какой нить антивирь ?
-
спасибо, я уже это исправил...
кстати кто собирал связку postfix+mysql+courier-imap+spamassasin+какой нить антивирь ?
Clamav бери.