【问题标题】:CPack RPM puts library both in "provides" and "requires" listsCPack RPM 将库放在“提供”和“需要”列表中
【发布时间】:2019-08-01 23:20:06
【问题描述】:

我的产品 foo 由一个库:libfoo.so 和一个可执行文件:foo 组成,它依赖于libfoo.so 和第三方libbar.so

我使用 CPack 获取 foo 的 RPM,其中包含 lib/libfoo.sobin/foo

但最后我无法安装软件包:rpm -ivh 抱怨需要依赖:libfoo.so

我了解自动依赖解析发现 foo 需要 libfoo.so 但安装包的目的是提供该库。

如果我使用 CPACK_RPM_PACKAGE_AUTOREQ 禁用自动依赖解析,RPM 也会失去 libbar.so 依赖。

我应该如何配置 CPack 以保留外部依赖而不是内部依赖?

【问题讨论】:

    标签: dependencies rpm cpack


    【解决方案1】:

    我的坏。

    自动依赖检测被错误的文件权限所欺骗:bin/foolib/libfoo.so 都有 rw-rw-r-- 权限,缺少 x

    为了解决这个问题,我刚刚在 CMake install(DIRECTORY ...) 指令中添加了 USE_SOURCE_PERMISSIONS 标志:

    安装(目录“${PROJECT_BINARY_DIR}/bin” 目的地“${INSTALL_DIR}” USE_SOURCE_PERMISSIONS) 安装(目录“${PROJECT_BINARY_DIR}/lib” 目的地“${INSTALL_DIR}” USE_SOURCE_PERMISSIONS)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 2012-09-06
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多