В настоящее время я пытаюсь протестировать DRBD 9 (drbd-9.0.21-1 и drbd-utils-9.13.0) на системе Oracle Linux 6 (то же самое для производства), и она изолирована от внешней сети, поэтому использование yum исключено (и я не могу обновить дистрибутив, так как он будет использоваться в работающем производстве). В настоящее время я собираю его с помощью tarball.
Документацияничего не говорится о требуемых пакетах и версиях, поэтому я запускаю make
и извлекаю необходимые RPM-пакеты и используюэто руководство Centos 6иэто руководство Centos 7пакеты.
Наконец, я используюэто руководство Centos 6(Я знаю, что версия DRBD там 8.4, но мне придется обойтись ею, так как другого руководства по моему случаю нет, иэто руководство Centos 7очень похож, без drbdmanage, который недавно был заменен на linstor) для его сборки.
Я могу нормально запустить make kmp-rpm
DRBD9 и drbd-utils, но когда я запускаю dbrd-utils, он выдает мне эту ошибку (я запускаю его как root):./configure
make rpm
RPM build errors:
%defattr doesn't define directory mode so file mode defined in %defattr is used for directory: /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/lib/drbd
File not found: /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/usr/sbin/drbdmon
%defattr doesn't define directory mode so file mode defined in %defattr is used for directory: /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/usr/lib/drbd
%defattr doesn't define directory mode so file mode defined in %defattr is used for directory: /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/var/lib/drbd
%defattr doesn't define directory mode so file mode defined in %defattr is used for directory: /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/var/run/drbd
File not found by glob: /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/usr/share/man/man8/drbdmon-*
make: *** [rpm] Error 1
# ls /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/lib/
drbd udev
# ls /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/usr/sbin/
drbdadm drbdmeta drbdsetup
# ls /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/usr/lib/
debug drbd ocf
# ls /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/var/lib/
drbd
# ls /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/var/run/
drbd
# ls /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/usr/share/man/man8/
drbd-8.3.8.gz drbdadm-8.4.8.gz drbdmeta-8.3.8.gz drbdsetup-8.4.8.gz
drbd-8.4.8.gz drbdadm-9.0.8.gz drbdmeta-8.4.8.gz drbdsetup-9.0.8.gz
drbd-9.0.8.gz drbddisk-8.3.8.gz drbdmeta-9.0.8.gz
drbdadm-8.3.8.gz drbddisk-8.4.8.gz drbdsetup-8.3.8.gz
Насколько я понимаю, он не смог найти drbdmon. Есть ли способ решить эту проблему? Я что-то упускаю или невозможно собрать DRBD 9 на EL6?
решение1
Я наконец-то смог собрать drbd-utils, используя новую версию gcc. Встроенная версия gcc моего oracle linux — 4.4, в которой нет C++11.
я используюэто руководство по временному использованию новой версии gcc в оболочке.