【发布时间】:2022-01-06 02:16:15
【问题描述】:
我正在尝试在 Centos 7 上构建 RPM。我正在使用以下 SPEC 文件将 Wildfly 应用程序制作成 RPM。
Name: wildfly
Version: 16.0.0.Final
Release: 1%{?dist}
Summary: WildFly Application Server
Group: System Environment/Daemons
License: LGPL 2.1
Source0: %{name}-%{version}.tar.gz
Requires(pre): shadow-utils
Requires: java >= 1.7.0
#Requires: /etc/init.d/functions
Provides: wildfly
%undefine _missing_build_ids_terminate_build
%define __arch_install_post QA_SKIP_RPATHS=2 %{__arch_install_post}
%define __jar_repack 0
%description
WildFly Application Server packaged from the binary distribution.
%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
- First version being packaged
在构建时,我注意到它采用了我未在 SPEC 文件中定义的某些依赖项。
Requires: /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)
所以当我尝试在 Centos 7 机器上安装这个 RPM 时,它会抛出以下错误。
sudo rpm -ivh wildfly-16.0.0.Final-1.el7.x86_64.rpm
error: Failed dependencies:
libaio.so.1 is needed by wildfly-16.0.0.Final-1.el7.x86_64
libaio.so.1()(64bit) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libaio.so.1(LIBAIO_0.1) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libaio.so.1(LIBAIO_0.4) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libc.so.1()(64bit) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libc.so.1(SUNW_0.7)(64bit) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libc.so.1(SUNW_0.9)(64bit) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libc.so.6 is needed by wildfly-16.0.0.Final-1.el7.x86_64
libc.so.6(GLIBC_2.0) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libc.so.6(GLIBC_2.1.3) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libc.so.6(GLIBC_2.10) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libc.so.6(GLIBC_2.2) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libdl.so.1()(64bit) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libdl.so.1(SUNW_0.7)(64bit) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libdl.so.2 is needed by wildfly-16.0.0.Final-1.el7.x86_64
libdl.so.2(GLIBC_2.0) is needed by wildfly-16.0.0.Final-1.el7.x86_64
libdl.so.2(GLIBC_2.1) is needed by wildfly-16.0.0.Final-1.el7.x86_64
如何解决上述依赖问题。我已经安装了
sudo yum install libaio -y
仍然存在依赖问题。请帮忙。
【问题讨论】:
-
当应用程序使用库时,它会自动添加为依赖项。见rpm-software-management.github.io/rpm/manual/…章节自动依赖
-
如何手动安装这些依赖项?没有这些我无法安装 rpm。我搜索了,但我只得到了两个包。
yum install libaio glibc.i686。在此之后,我也只剩下很少的依赖项了。你能帮帮我吗?? -
libaio.so.1 is needed bywildfly-16.0.0.Final-1.el7.x86_64 libaio.so.1(LIBAIO_0.1) is needed bywildfly-16.0.0.Final-1.el7.x86_64 libaio.so.1(LIBAIO_0.4) is needed bywildfly-16.0.0.Final-1.el7.x86_64 libc.so.1()(64bit) is needed bywildfly-16.0.0.Final-1.el7.x86_64 libc.so.1(SUNW_0.7)(64bit) is needed bywildfly-16.0.0.Final-1.el7.x86_64 libc.so.1(SUNW_0.9)(64bit) is needed bywildfly-16.0.0.Final-1.el7.x86_64 libdl.so.1()(64bit) is needed bywildfly-16.0.0.Final-1.el7.x86_64 libdl.so.1(SUNW_0.7)(64bit) is needed bywildfly-16.0.0.Final-1.el7.x86_64 -
libc.so.1()(64bit) libc.so.1(SUNW_0.7)(64bit) libc.so.1(SUNW_0.9)(64bit) libdl.so.1( )(64bit) libdl.so.1(SUNW_0.7)(64bit) 现在剩下这么多
标签: wildfly rpm rpmbuild rpm-spec