首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Snapcraft构建失败cmake部件步骤

Snapcraft构建失败cmake部件步骤
EN

Stack Overflow用户
提问于 2021-02-05 12:29:12
回答 1查看 314关注 0票数 0

我的电脑:

snap 2.48.2管理单元2.48.2系列16 ubuntu 20.04内核5.8.0-41-泛型

这是我的yml:

代码语言:javascript
复制
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 /src/ -G Unix -DBDB_STATIC=1 -DUPNP_STATIC=1 -DBoost_USE_STATIC_LIBS=1 -DBoost_USE_STATIC_RUNTIME=1 -DARCH=default cmake错误:当前的CMakeCache.txt目录/root/parts/cmake/src/ CMakeCache.txt与创建CMakeCache.txt的目录/home/chris/etnsnap不同。这可能导致在错误的位置创建二进制文件。如果不确定,请重新编辑CMakeCache.txt,无法生成“cmake”。

推荐解决方案:检查构建日志并确保部件的配置和源是正确的。

我理解如何在本地环境中解决这个问题;其他的帖子都是关于如何解决这个问题的,我很乐意在本地进行构建。然而,这似乎是Snapcraft本身的一个问题。似乎cmakecache.txt首先是在本地环境中生成的,然后在vm中完成所有其他操作,从而导致冲突。我以前从来没有得到过这个问题。有人有什么想法吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-05-20 14:17:40

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66063318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档