【问题标题】:Snapcraft build fails cmake part stepSnapcraft 构建失败 cmake 部分步骤
【发布时间】:2021-05-09 19:08:50
【问题描述】:

我的电脑:

捕捉 2.48.2 快照 2.48.2 系列 16 Ubuntu 20.04 内核 5.8.0-41-generic

这是我的 yml:

name: someproject
version: '3.3.1.0'
base: core20
summary: "someproject: asdfasdf"
description: |
    someproject asdfasdf.
grade: devel
confinement: strict

apps:
    someprojectd:
        daemon: forking
        command: |
            someprojectd-wrapper --detach --data-dir ${SNAP_COMMON} --config-file ${SNAP_USER_DATA}/etc/someprojectd.conf
        plugs:
            - network
            - network-bind
    someproject-wallet-rpc:
        command: |
            someproject-wallet-rpc --log-file ${SNAP_USER_DATA}
        plugs:
            - home
            - network
            - network-bind
    someproject-wallet-cli:
        command: |
            someproject-wallet-cli --log-file ${SNAP_USER_DATA}
        plugs:
            - home
            - network

parts:
    cmake-build:
        plugin: cmake
        cmake-parameters:
            - -DBDB_STATIC=1
            - -DUPNP_STATIC=1
            - -DBoost_USE_STATIC_LIBS=1
            - -DBoost_USE_STATIC_RUNTIME=1
            - -DARCH=default
        source: .
        build-packages:
            - gcc
            - pkg-config
            - libunbound-dev
            - libevent-dev
            - libboost-all-dev
            - libdb-dev
            - libunwind-dev
            - libminiupnpc-dev
            - libldns-dev
            - libexpat1-dev
            - bison
            - doxygen
            - graphviz
        stage-packages:
            - libminiupnpc17
            - libunbound8
            - libunwind8
        prime:
            - bin
            - usr/lib/
            - -usr/lib/gcc
            - -usr/share

    dist-files:
        plugin: dump
        source: .
        organize:
            contrib/snap/someprojectd.conf: etc/someprojectd.conf
            contrib/snap/someprojectd-wrapper: bin/someprojectd-wrapper
        prime:
            - etc
            - bin

我收到的错误是:

cmake /root/parts/cmake-build/src/ -G Unix Makefiles -DBDB_STATIC=1 -DUPNP_STATIC=1 -DBoost_USE_STATIC_LIBS=1 -DBoost_USE_STATIC_RUNTIME=1 -DARCH=default CMake 错误:当前 CMakeCache.txt 目录 /root/parts/cmake-build/src/CMakeCache.txt 与 创建 CMakeCache.txt 的目录 /home/chris/etnsnap 。这 可能会导致在错误的位置创建二进制文件。如果你是 不确定,重新编辑 CMakeCache.txt Failed to build 'cmake-build'。

建议的解决方法:检查构建日志并确保部件的 配置和来源都正确。

我了解如何在本地环境中解决此问题;已经发表了其他关于如何做到这一点的帖子,我很好地在本地构建。然而,这似乎是 Snapcraft 本身的问题。似乎 cmakecache.txt 首先是在本地环境中生成的,然后其他所有操作都在 vm 内完成,从而导致冲突。我从来没有遇到过这个问题。有没有人有任何想法?谢谢

【问题讨论】:

    标签: ubuntu cmake build package snapcraft


    【解决方案1】:

    与错误状态一样,您的源目录中有一个陈旧的CMakeCache.txt。在运行 snapcraft 之前需要删除它。理想情况下,您的源代码树中根本不会有任何构建时临时文件。这意味着删除您在主机上使用的任何 build 目录。您还应该删除任何 CMakeCache.txt 文件和任何 CMakeOut.txt 文件。 不要删除任何 CMakeLists.txt 文件或任何 *.cmake 文件,这对于从源代码构建很重要。

    【讨论】:

      猜你喜欢
      • 2021-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2017-05-10
      • 1970-01-01
      相关资源
      最近更新 更多