Не удается найти библиотеку gnutls при выполнении rpmbuild без полномочий root
Я пытаюсь собрать ntgs из последнего источника, используя.spec из rpmforge - без полномочий root через rpmbuild. Во время компиляции на этом шаге происходит сбой:
checking for GNUTLS... no
configure: error: ntfsprogs crypto code requires the gnutls library.
error: Bad exit status from /var/tmp/rpm-tmp.78913 (%build)
Тем не менее, я могу успешно скомпилировать его вне rpmbuild. Похоже, это просто вопрос библиотеки, которую можно увидеть во время сборки. Однако я могу подтвердить, что rpmbuild может видеть библиотеку, в которой находится gnutls:
[foo@bar ~]$ rpmbuild -E '%{_libdir}' rpmbuild/SPECS/ntfsprogs.spec
/usr/lib
Расположение библиотеки:
[foo@bar ntfs-3g_ntfsprogs-2012.1.15]$ /sbin/ldconfig -p | grep -i gnutls
libgnutls.so.13 (libc6) => /usr/lib/libgnutls.so.13
libgnutls.so (libc6) => /usr/lib/libgnutls.so
libgnutls-openssl.so.13 (libc6) => /usr/lib/libgnutls-openssl.so.13
libgnutls-openssl.so (libc6) => /usr/lib/libgnutls-openssl.so
libgnutls-extra.so.13 (libc6) => /usr/lib/libgnutls-extra.so.13
libgnutls-extra.so (libc6) => /usr/lib/libgnutls-extra.so
Что может привести к тому, что библиотека не будет видна при сборке RPM?
РЕДАКТИРОВАТЬ: О да, я использую Centos 5.5.
1 ответ
Версия 2012.1.15 для ntfs-3g_ntfsprogs требует gnutls >= 1.4.4, но RHEL5 предоставляет только 1.4.1. Вы смогли скомпилировать его вне rpmbuild, потому что вы не указали --enable-crypto
в вашем configure
что делает файл спецификации. Эти проблемы могут быть определены путем изучения config.log
,
В общем, обработка изменения версии такого масштаба - в данном случае с 1.13.1 (22 февраля 2007 г.) до 2012.1.15- будет более сложной, чем простое редактирование строки "Version:" в файле спецификации.
Также обратите внимание, что репозиторий EPEL имеет версию 2011.4.12 ( http://dl.fedoraproject.org/pub/epel/5/x86_64/repoview/ntfsprogs.html), которая может быть достаточно новой для вас. Если вы уже установили пакеты rpmforge в свою систему, я призываю к осторожности, поскольку rpmforge и EPEL не работают вместе.