rpm将二进制文件打包。在安装rpm包时出现问题

将一个二进制文件打成rmp,在rmp -ivh的时候出现了问题,请问有什么办法解决呀

sepc的部分如下:

%define debug_package %{nil}
%prep
%setup -q

%build

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}/opt/ucc/
cp -r UcodeLogParser %{buildroot}/opt/ucc/

%files
%defattr(-,root,root,-)
/opt/ucc/

使用rpmbuild -bb ucc.spec构建

1 个赞

1、先排查一下是否安装libstdc++,如果没有安装的话yum安装。
2、ls -l /usr/lib64/libstdc++* ,将结果上传到这里来再看下

执行ls -l /usr/lib64/libstdc++*后:

rpm -q --provides libstdc++之后确实是没有缺少的libstdc++,也已经更新到最新
image

你图里安装的是i686(32bit)的libstdcxx,尝试安装一下x86_64架构的

ucc软件包是64位的。libstdc++却是32位的。你要安装64位的libstdc++才行

x86的之前也安装过啦
image

x86_64之前也安装啦
image

问题解决了,rpmbuild的时候Requires默认引入依赖,使用Autoreqprov: no禁用默认依赖。

1 个赞

此话题已在最后回复的 24 小时后被自动关闭。不再允许新回复。