es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Rpmbuild solicita dependencias adicionales.

Estoy tratando de construir un RPM en Centos 7. Estoy convirtiendo una aplicación wildfly en RPM utilizando el siguiente archivo SPEC.

Nombre: wildfly
Versión: 16.0.0.Final
Lanzamiento: 1%{?dist}
Resumen: Servidor de aplicaciones WildFly
Grupo: Entorno del sistema/Demonios
Licencia: LGPL 2.1
Source0: %{name}-%{version}.tar.gz

Requires(pre): shadow-utils
Requires: java >= 1.7.0
#Requires: /etc/init.d/functions
Proporciona: wildfly

%undefine _missing_build_ids_terminate_build
%define __arch_install_post QA_SKIP_RPATHS=2 %{__arch_install_post}
%define __jar_repack 0

%descripcion
Servidor de aplicaciones WildFly empaquetado a partir de la distribución binaria.

%prep
%setup -q -n wildfly-%{version}

%install
mkdir -p %{buildroot}/opt/wildfly
cp -R . %{buildroot}/opt/wildfly

mkdir -p %{buildroot}/var/log/wildfly
mkdir -p %{buildroot}/var/run/wildfly

#%post
#alternatives –install /etc/alternatives/wildfly wildfly /opt/wildfly 100

#%postun
#alternatives –remove wildfly /opt/wildfly

%files
%defattr(-,root,root,0755)

%files
%defattr(-,root,root,0755)
%dir /opt/wildfly
/opt/wildfly/appclient
/opt/wildfly/bin
/opt/wildfly/domain
/opt/wildfly/jboss-modules.jar
/opt/wildfly/modules
%attr(-,wildfly,wildfly) /opt/wildfly/standalone
/opt/wildfly/welcome-content
%dir /var/log/wildfly
%dir /var/run/wildfly

%doc /opt/wildfly/copyright.txt
%doc /opt/wildfly/LICENSE.txt
%doc /opt/wildfly/README.txt
%doc /opt/wildfly/docs

%changelog
* Wed Nov 24 2021
– Primera versión empaquetada

Al construir, noté que está tomando ciertas dependencias que no definí en el archivo SPEC.

Requiere: /bin/bash /bin/sh libaio.so.1 libaio.so.1()(64bit) libaio.so.1(LIBAIO_0.1) libaio.so.1(LIBAIO_0.1)(64bit) libaio.so.1(LIBAIO_0.4) libaio.so.1(LIBAIO_0.4)(64bit) libc.so.1()(64bit) libc.so.1(SUNW_0.7)(64bit) libc.so.1(SUNW_0.9)(64bit) libc.so.6 libc.so.6()(64bit) libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.10) libc.so.6(GLIBC_2.10)(64bit) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.2.5)(64bit) libdl.so.1()(64bit) libdl.so.1(SUNW_0.7)(64bit) libdl.so.2 libdl.so.2()(64bit) libdl.so.2(GLIBC_2.0) libdl.so.2(GLIBC_2.1) libdl.so.2(GLIBC_2.2.5)(64bit) libgcc_s.so.1()(64bit) rtld(GNU_HASH)

Entonces, cuando intento instalar este RPM en una máquina Centos 7, arroja el siguiente error.

sudo rpm -ivh wildfly-16.0.0.Final-1.el7.x86_64.rpm
Error: dependencias fallidas:
libaio.so.1 es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libaio.so.1()(64bit) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libaio.so.1(LIBAIO_0.1) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libaio.so.1(LIBAIO_0.4) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libc.so.1()(64bit) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libc.so.1(SUNW_0.7)(64bit) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libc.so.1(SUNW_0.9)(64bit) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libc.so.6 es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libc.so.6(GLIBC_2.0) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libc.so.6(GLIBC_2.1.3) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libc.so.6(GLIBC_2.10) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libc.so.6(GLIBC_2.2) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libdl.so.1()(64bit) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libdl.so.1(SUNW_0.7)(64bit) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libdl.so.2 es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libdl.so.2(GLIBC_2.0) es necesario por wildfly-16.0.0.Final-1.el7.x86_64
libdl.so.2(GLIBC_2.1) es necesario por wildfly-16.0.0.Final-1.el7.x86_64

¿Cómo puedo resolver el problema de dependencias mencionado? Ya instalé

sudo yum install libaio -y

Todavía aparecen problemas de dependencias. Por favor ayuda.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el archivo SPEC no especifica todas las dependencias requeridas por la aplicación wildfly. Aquí hay algunas cosas que puedes intentar para resolver los problemas de dependencia:

    1. Verificar la documentación o sitio web de wildfly para ver si existen dependencias adicionales requeridas que no se especifican en el archivo SPEC.
    2. Tratar de instalar las dependencias faltantes manualmente, por ejemplo:
      sudo yum install glibc
      
    3. También puedes agregar las dependencias faltantes al archivo SPEC agregando las siguientes líneas:
      Requiere: libaio
      Requiere: glibc
      

      Puedes agregar otras bibliotecas faltantes de manera similar. Luego, reconstruir el paquete RPM e intentarlo de nuevo.

    4. También es posible que las dependencias no estén disponibles en los repositorios de CentOS 7. En ese caso, es posible que debas agregar otros repositorios que contengan las dependencias requeridas.

    5. Finalmente, puedes usar la opción –nodeps con el comando rpm para forzar la instalación del paquete ignorando los problemas de dependencia. Sin embargo, esto no se recomienda ya que puede causar problemas con la aplicación más adelante.

    Espero que esto te ayude a resolver los problemas de dependencia con el paquete RPM de wildfly.

Comments are closed.