构建子模块时Flatpak(flatpak-build)致命错误

时间:2018-02-23 10:48:52

标签: opensuse fuse flatpak gnome-builder

here开始,当使用OpenSUSE Tumbleweed时,我无法获得flatpak-builder来编译子模块依赖项。在使用Vala依赖关系Gee和GXml在Gnome Builder中开发控制台应用程序时,我首先注意到了这个问题。

作为测试,我已安装org.gnome.Books.json并发出以下命令(如文档here所示):

$ flatpak-builder --repo=repo books-app org.gnome.Books.json 

结果与我在开发自己的应用程序时观察到的相同,致命错误:

Initializing build dir
Committing stage init to cache
Starting build of org.gnome.Books
fuse: failed to exec fusermount: Permission denied

<more stuff>

Cloning into '/home/robin/Projects-CSim/org.gnome.books/.flatpak-builder/build/gnome-online-accounts-1/telepathy-account-widgets'...
Submodule path 'telepathy-account-widgets': checked out '7d944b79961dfb6291110ceb27597a224d329b36'
error: Build directory /home/<user>/Projects/org.gnome.books/.flatpak-builder/rofiles/rofiles-D4R4cZ not initialized, use flatpak build-init
Error: module gnome-online-accounts: module gnome-online-accounts: Child process exited with code 1

实际上它无法构建第一个子模块。这与我在项目中从Gnome-Builder调用时观察到的行为相同;它已下载但未能构建第一个子模块 - 在这种情况下它是libgee-0.8。

我已经仔细检查了Flatpak(V0.10.4)安装here,但无法找到解决方案。我从文档中了解到,调用flatpak-builder应该会自动调用flatpak build-init

这令人担忧,因为Gnome-Builder似乎使用Flatpak作为默认打包器。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

问题不在于Flatpak。这是Flatpak与保险丝之间的冲突。出于某种原因,这不是命令行中的valac或meson,只有Flatpak。

here我们找到了解决方案:

# chmod +x /usr/bin/fusermount

这是OpenSUSE Tumbleweed的特点吗?无论如何,在进行此更改后,Flatpak会按预期构建子模块。宏伟!

不确定这方面的安全方面 - 欢迎提出任何意见。