Switching Sdk to 47 give missing `appstream-compose` message

Hi folks,

I’ve been building against gnome 46 and just switched to 47. The flatpak build now fails with the following output:

jr@JR-Desktop:~/Code/leaftracker-gtk$ flatpak-builder --force-clean --user --repo=repo builddir org.bswa.jhanarato.Leaftracker.json 
Emptying app dir 'builddir'
Downloading sources
Fetching git repo file:///home/jr/Code/leaftracker-gtk, ref refs/heads/master
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
Starting build of org.bswa.jhanarato.Leaftracker
Cache hit for leaftracker-gtk, skipping build
Cache miss, checking out last cache hit
Cleaning up
Running appstream-compose
bwrap: execvp appstream-compose: No such file or directory
Error: ERROR: appstream-compose failed: Child process exited with code 1

I’m on Linux Mint and have installed the appstream-util package which provides the appstream-compose command. Funnily enough it still builds in gnome-builder, though I’m doing my darndest to get everything running in PyCharm.

Thanks again,

J.R.

1 Like

I can reproduce the problem with the following steps:

  • Run Gnome Builder
  • Create a new GTK project with python
  • Edit the manifest, changing “master” to “47”
  • Build from Gnome Builder - no problem
  • Build the flatpak from the terminal:
$ flatpak-builder --force-clean --user --repo=repo builddir org.bswa.Gnome47Test.json 
Emptying app dir 'builddir'
Downloading sources
Fetching full git repo file:///home/jr/Code/gnome_47_test
Starting build of org.bswa.Gnome47Test
Cache hit for gnome_47_test, skipping build
Cache miss, checking out last cache hit
Cleaning up
Running appstream-compose
bwrap: execvp appstream-compose: No such file or directory
Error: ERROR: appstream-compose failed: Child process exited with code 1

Downgrading our sample app to runtime-version" : "46" does allow me to build, install and run from the command line, although it doesn’t display properly and never did.

Ahh, flatpaks are such sweet sorrow…

On the advice I received here:

I’ve upgraded flatpak-builder and I’m now trying to figure out how to solve this problem:

$ flatpak-builder --force-clean --user --repo=repo builddir org.bswa.Gnome47Test.json 
Emptying app dir 'builddir'
Downloading sources
Fetching full git repo file:///home/jr/Code/gnome_47_test
Starting build of org.bswa.Gnome47Test
Cache hit for gnome_47_test, skipping build
Cache miss, checking out last cache hit
Cleaning up
Renaming org.bswa.Gnome47Test.appdata.xml to share/metainfo/org.bswa.Gnome47Test.metainfo.xml
Running appstreamcli compose
Only accepting components: org.bswa.Gnome47Test, org.bswa.Gnome47Test.desktop
Processing directory: /home/jr/Code/gnome_47_test/.flatpak-builder/rofiles/rofiles-CMwPv0/files
Composing metadata...
Run failed, some data was ignored.
Errors were raised during this compose run:
org.bswa.Gnome47Test.desktop
  E: metainfo-no-summary
Refer to the generated issue report data for details on the individual problems.
Error: ERROR: appstreamcli compose failed: Child process exited with code 1

There’s a few files in the data/ directory generated by Gnome Builder that appear relevant. I even edited the org.bswa.Gnome47Test.appdata.xml.in file to appease the linter. There’s another file org.bswa.Gnome47Test.desktop.in that seems related, but I don’t know in what way.

Again, just trying to build my flatpak from the command line, nothing more.

OK, we solved the issues over at the flathub discourse above!

I can now build and run from the command line.

Cheers,

J.R.