Error al compilar DRBD 9 desde tarball en Oracle Linux 6

Error al compilar DRBD 9 desde tarball en Oracle Linux 6

Actualmente estoy intentando probar DRBD 9 (drbd-9.0.21-1 y drbd-utils-9.13.0) en el sistema Oracle Linux 6 (lo mismo para producción) y está aislado de la red externa, por lo que no se puede usar yum. No hay duda (y no puedo actualizar la distribución ya que se usará en la producción en ejecución). Actualmente, lo estoy construyendo usando el tarball.

La documentaciónno menciona nada sobre los paquetes y versiones requeridos, por lo tanto, ejecuto makey busco los rpms necesarios y usoesta guía de Centos 6yesta guía de Centos 7paquetes.

Finalmente, usoesta guía de Centos 6(Sé que la versión de DRBD es 8.4, pero tengo que conformarme con ella ya que no hay otra guía para mi caso, yesta guía de Centos 7es bastante similar, sin drbdmanage, que fue reemplazado recientemente por linstor) para compilarlo.

Puedo ejecutar make kmp-rpm DRBD9 y ./configuredrbd-utils sin problemas, pero cuando ejecuto make rpmdbrd-utils, me da este error (lo ejecuto como root):

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

Según tengo entendido, no pudo encontrar drbdmon. ¿Hay alguna forma de resolver esto? ¿Me estoy perdiendo algo o no es posible compilar DRBD 9 en EL6?

Respuesta1

Finalmente puedo compilar drbd-utils usando una versión más nueva de gcc. La versión gcc incorporada de mi Oracle Linux es 4.4, que no tiene C++ 11.

Estoy usandoesta guía para usar gcc más reciente temporalmente en el shell.

información relacionada