Fehler beim Erstellen von DRBD 9 aus Tarball unter Oracle Linux 6

Fehler beim Erstellen von DRBD 9 aus Tarball unter Oracle Linux 6

Derzeit versuche ich, DRBD 9 (drbd-9.0.21-1 und drbd-utils-9.13.0) auf einem Oracle Linux 6-System (dasselbe für die Produktion) zu testen. Es ist vom externen Netzwerk isoliert, sodass die Verwendung von Yum nicht in Frage kommt (und ich kann die Distribution nicht aktualisieren, da sie in der laufenden Produktion verwendet wird). Derzeit erstelle ich es mithilfe des Tarballs.

Die Dokumentationerwähnt nichts über erforderliche Pakete und Versionen, also führe ich makedie benötigten RPMs aus und hole sie ab und verwendedieser Centos 6-LeitfadenUnddieser Centos 7-LeitfadenPakete.

Schließlich verwende ichdieser Centos 6-Leitfaden(Ich weiß, dass die DRBD-Version dort 8.4 ist, aber ich muss mich damit begnügen, da es keinen anderen Leitfaden für meinen Fall gibt, unddieser Centos 7-Leitfadenist ziemlich ähnlich, ohne drbdmanage, das vor Kurzem durch linstor ersetzt wurde), um es zu erstellen.

Ich kann es make kmp-rpm für DRBD9 und ./configurefür drbd-utils problemlos ausführen, aber wenn ich es make rpmfür dbrd-utils ausführe, erhalte ich diesen Fehler (ich führe es als Root aus):

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

Meines Wissens konnte drbdmon nicht gefunden werden. Gibt es eine Möglichkeit, das zu lösen? Übersehe ich etwas oder ist es nicht möglich, DRBD 9 auf EL6 zu erstellen?

Antwort1

Ich kann die drbd-utils endlich mit einer neueren Version von gcc erstellen. Die integrierte gcc-Version meines Oracle Linux ist 4.4 und hat kein C++11.

Ich benutzeDiese Anleitung dient der vorübergehenden Verwendung des neueren GCC in der Shell.

verwandte Informationen