Я пытаюсь собрать 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.
Версия 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 - будет более сложной, чем простое редактирование строки «Версия:» в файле спецификации.
Также обратите внимание, что репо EPEL имеет версию 2011.4.12 ( http://dl.fedoraproject.org/pub/epel/5/x86_64/repoview/ntfsprogs.html ), который может быть для вас достаточно новым. Если вы уже установили пакеты rpmforge в своей системе, я призываю к осторожности, поскольку rpmforge и EPEL плохо работают вместе.