当 rpm 文件中存在用于 rpm 安装的“缺少”lib 时

2023-11-22

我正在为 centos 生成一个 rpm 文件,但是当我尝试在干净的机器上安装它时,它失败了:

 --> Running transaction check
 ---> Package grass.x86_64 0:6.4.4-1.el6 will be installed
 --> Processing Dependency: libgrass_rli.so()(64bit) for package: grass-6.4.4-1.el6.x86_64
 --> Finished Dependency Resolution Error: Package: grass-6.4.4-1.el6.x86_64 (/grass-6.4.4-1.el6.x86_64)
            Requires: libgrass_rli.so()(64bit)

除了 rpm 包含 libgrass_rli.so 之外,这没什么问题。

 [vagrant@localhost ~]$ rpm -qilp /vagrant_rpms/grass-6.4.4-1.el6.x86_64.rpm | grep _rli
 /usr/local/lib/libgrass_rli.6.4.4.so 
 /usr/local/lib/libgrass_rli.so

我已经尝试了各种提供:规格文件中的行但无济于事,任何人都可以看到出了什么问题吗?

EDIT

[vagrant@localhost ~]$ rpm -qp --provides /vagrant_rpms/grass-6.4.4-1.el6.x86_64.rpm                                                                            
libgrass_I.6.4.4.so()(64bit)                                                    
libgrass_Iortho.6.4.4.so()(64bit)                                               
libgrass_arraystats.6.4.4.so()(64bit)                                           
libgrass_bitmap.6.4.4.so()(64bit)                                               
libgrass_btree.6.4.4.so()(64bit)                                                
libgrass_cdhc.6.4.4.so()(64bit)                                                 
libgrass_cluster.6.4.4.so()(64bit)                                              
libgrass_datetime.6.4.4.so()(64bit)                                             
libgrass_dbmibase.6.4.4.so()(64bit)                                             
libgrass_dbmiclient.6.4.4.so()(64bit)                                           
libgrass_dbmidriver.6.4.4.so()(64bit)                                           
libgrass_dbstubs.6.4.4.so()(64bit)                                              
libgrass_dgl.6.4.4.so()(64bit)                                                  
libgrass_dig2.6.4.4.so()(64bit)                                                 
libgrass_display.6.4.4.so()(64bit)                                              
libgrass_driver.6.4.4.so()(64bit)                                               
libgrass_dspf.6.4.4.so()(64bit)
libgrass_edit.6.4.4.so()(64bit)
libgrass_form.6.4.4.so()(64bit)
libgrass_g3d.6.4.4.so()(64bit)
libgrass_gis.6.4.4.so()(64bit)
libgrass_gmath.6.4.4.so()(64bit)
libgrass_gpde.6.4.4.so()(64bit)
libgrass_gproj.6.4.4.so()(64bit)
libgrass_interpdata.6.4.4.so()(64bit)
libgrass_interpfl.6.4.4.so()(64bit)
libgrass_lidar.6.4.4.so()(64bit)
libgrass_linkm.6.4.4.so()(64bit)
libgrass_lrs.6.4.4.so()(64bit)
libgrass_neta.6.4.4.so()(64bit)
libgrass_nviz.6.4.4.so()(64bit)
libgrass_ogsf.6.4.4.so()(64bit)
libgrass_pngdriver.6.4.4.so()(64bit)
libgrass_psdriver.6.4.4.so()(64bit)
libgrass_qtree.6.4.4.so()(64bit)
libgrass_raster.6.4.4.so()(64bit)
libgrass_rli.6.4.4.so()(64bit)
libgrass_rli.so
libgrass_rowio.6.4.4.so()(64bit)
libgrass_rtree.6.4.4.so()(64bit)
libgrass_segment.6.4.4.so()(64bit)
libgrass_shape.6.4.4.so()(64bit)
libgrass_sim.6.4.4.so()(64bit)
libgrass_sites.6.4.4.so()(64bit)
libgrass_sqlp.6.4.4.so()(64bit)
libgrass_stats.6.4.4.so()(64bit)
libgrass_symb.6.4.4.so()(64bit)
libgrass_trans.6.4.4.so()(64bit)
libgrass_vask.6.4.4.so()(64bit)
libgrass_vect.6.4.4.so()(64bit)
libgrass_vedit.6.4.4.so()(64bit)
grass = 6.4.4-1.el6
grass(x86-64) = 6.4.4-1.el6

提取的文件看起来也不错:

[vagrant@localhost ~]$ file /tmp/libgrass_rli.6.4.4.so
/tmp/libgrass_rli.6.4.4.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped

“自动提供”机制未检测到共享库的一个可能原因是它不可执行。

添加这样的东西到你的%install部分:

find %buildroot -type f \( -name '*.so' -o -name '*.so.*' \) -exec chmod 755 {} +

Source.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 rpm 文件中存在用于 rpm 安装的“缺少”lib 时 的相关文章

随机推荐

  • d3.js 中折叠/展开树的子节点?

    我正在构建一个树结构 或者更确切地说 使用我自己的 json 中的一组数据修改其中一个示例 并且我正在尝试创建一些功能 我的树的布局是树示例中的布局 http mbostock github com d3 ex cluster html 我
  • Mathematica 快速 2D 分箱算法

    我在 Mathematica 中开发适当快速的分箱算法时遇到一些麻烦 我有一个很大的 100k 元素 数据集 其形式为 T x1 y1 z1 x2 y2 z2 我想将其分入大约 100x100 个 bin 的 2D 数组中 bin 值由每个
  • super 函数在 Maya python 模块中不起作用

    不知何故 这在 Maya Python 脚本编辑器中工作正常 但在我的模块代码内部时失败 有人有主意吗 class ControlShape object def init self args kwargs print Inside Con
  • mysql 别名的未知列问题

    我不明白为什么当该列是创建的别名时我会得到一个未知列 任何帮助都会很棒 code SELECT DISTINCT c id SUM c width feet 12 SUM c width inches AS width SUM c heig
  • 通过多个活动传递数据

    1 是我的第一个活动 主要 2 是我的第二项活动 3 是我的第三项活动 我想从 1 运行 2 然后形成 2 运行 3 然后从 3 获取数据并将其返回到 1 希望大家能理解 这是我的代码 像这样运行 2 form 1 Intent inten
  • Java RSA 中字符串中的密钥

    我在我的应用程序中使用 RSA 加密技术 为了存储生成的公钥 我将其转换为字符串 然后将其保存在数据库中 Key publicKey null Key privateKey null KeyPair keyPair RsaCrypto ge
  • 删除子图中的死角,同时保留标题和标签

    您好 我在 matlab 中遇到问题 我想创建一个包含 10 个子图的图形 2X5 方向 但问题是我想减少它们之间的死角区域 我还需要保留第一行图像的标题 xlabel 和第二行图像的 xlabel 仅 不需要 ylabel 到目前为止 我
  • Visual Studio 2015 无法与 Apache Cordova 工具一起使用

    我完整安装了 VS 2015 Enterprise Tools for Apache Cordova 当我打开或创建任何项目时 它不会构建 甚至不会在 运行 按钮上显示 Ripple 模拟器或设备信息 我已经完全重新安装了 但还是一样 当我
  • 使用网络音频 api 播放简单的声音

    我一直在尝试按照一些教程中的步骤使用按钮通过网络音频 API 播放简单的编码本地 wav 或 mp3 文件 我的代码如下 testAudioAPI js window AudioContext window AudioContext win
  • 关于何时应该将直接缓冲区与 Java NIO 一起用于网络 I/O 的简单规则?

    具有以简单直接的方式解释复杂事物的天赋的人可以解决这个问题吗 使用 Java NIO 进行网络 I O 时 为了获得最佳性能 何时应使用直接 ByteBuffer 与常规 ByteBuffer 例如 我应该读入堆缓冲区并从那里解析它 执行多
  • Postgres:找不到适用于 jdbc 的驱动程序

    我知道这可能与此处发布的问题重复 抱歉 这是我为数据库连接编写的代码 try Class forName org postgresql Driver catch ClassNotFoundException e e printStackTr
  • 如何在 numpy 和 R 之间传递大型数组?

    我正在使用 python 和 numpy scipy 为文本处理应用程序执行正则表达式和词干提取 但我也想使用 R 的一些统计包 将数据从 python 传递到 R 的最佳方法是什么 然后回来 另外 我需要在某个时候将数组备份到磁盘 所以如
  • 有没有办法让SCNNode总是在其他节点前面?

    我一直在尝试使用场景套件制作一个场景 其中指定的对象始终位于其他对象的前面 尽管事实上它实际上位于其他对象的后面 与此类似的效果用于blender 显然 搅拌机使用 GUI 和大量数学来转换 2D 对象 但我需要在具有 SCNGeometr
  • 如何在 Rails 应用程序中运行 rake 任务

    我想做的事 在 model rb 中 在 after commit 中 我想运行 rake 任务 ts reindex ts reindex 通常与 rake 一起运行 ts index 如果您希望此 rake 代码在请求周期内运行 那么您
  • 如何从 Chrome 扩展程序打开 mailto: 链接?

    我有一个名为 URL 缩短 的 Chrome 扩展程序Shrtr 目前 它允许用户将缩短的 URL 复制到剪贴板 但在下一个版本中 我添加了使用电子邮件发送缩短的 URL 的功能mailto 链接 即mailto subject
  • Django 添加占位符到 django 内置登录表单

    我正在使用 django 内置登录forms我想在用户名和密码中添加占位符 我的模板 div class form group div class col md 12 form username add class form control
  • Android Market - 上传 APK 文件时出错

    刚才我已经开发了一个应用程序 现在我准备将其上传到Android市场 但是当我尝试上传时 它显示以下错误消息 市场不接受使用调试证书签名的 apk 创建有效期至少 50 年的新证书 Market 要求用于签署 apk 的证书至少在 2033
  • 序列化 .net 对象并省略文档类型?

    我编写了一些 net 代码来使用 XMLSerializer 类序列化对象 public static string serialize object o Type type o GetType System Xml Serializati
  • Jquery - 不可滚动 div 上的滚动事件

    example http jsbin com ofiy 2 edit preview 我尝试用不可滚动的div 绿色的 滚动一个div 红色的 我的问题是 当我在绿色 div 上滚动时 jqueryscroll 不着火 HTML div s
  • 当 rpm 文件中存在用于 rpm 安装的“缺少”lib 时

    我正在为 centos 生成一个 rpm 文件 但是当我尝试在干净的机器上安装它时 它失败了 gt Running transaction check gt Package grass x86 64 0 6 4 4 1 el6 will b