Flatpakrun org.flatpak.myapp ... myapp command not found

Dear all,
I successfully, or so it seems, build and installed a flatpak for my app, but whenever I try to test it using

flatpak run org.flatpak.myapp

It always fail with the following error message:

bwrap: execvp myapp: No such file or directory

I even try to edit the metadata file and change:

command=myapp

to

command=$HOME/.local/share/flatpak/app/org.flatpak.myapp/x86_64/master/active/files/bin/myapp

With myapp actually located in $HOME/.local/share/flatpak/app/org.flatpak.myapp/x86_64/master/active/files/bin

But the flatpak run command always fails with the same error message saying that it cannot find it …
any idea to help me ?

Thanks in advance.

S.

Changing the command like you suggest show a misunderstanding on how flatpak works.

The problem here is what is myapp? a binary? A script with an interpreter?

Also now seeing the manifest of “myapp” doesn’t help.

Thanks for taking the time to answer,
well I am trying to figure out how it works so I guess that’s why :wink:
you know my idea was: ok it’s trying to pick ‘myapp’ somwhere, so I search where from,
and try to change it … you will find the manifest here (‘myapp’ is actually ‘atomes’)

Thanks in advance for you lights !

PS: this started here: Fotran modules not found VS Command not found ?! but since I did not get any reply after a long time, I thought I simplified the problem to try
to get somewhere.

‘runtime’ is definitely wrong.

Ok, that’s a start, but then again I thought that I had to use this one
because ‘atomes’ uses OpenGL … what should I put there then ?
Sorry to bother you, but please consider that I am a total beginner with
Flatpak, I tried to follow the tutorials to build my app and ended up
where I am now, do not hesitate to point me towards material that
illustrates your reasoning, I just want to do the proper thing here but
I do not have the knowledge nether to do so directly or even to find out
the proper tutorials/documentation … and I tried !

[EdIt]

So I changed the runtime a few times, no success so far, but the error message does change,
so I figured maybe I am not using the proper runtime yet, then question is how to know which one
to use ?
I would really appreciate any help on the matter :wink:

[/Edit]

Thanks again.

S.

PS: in the mean time I will give a try to changing the ‘runtime’ :wink:

Please tell us what is unclear about the docs here;

https://docs.flatpak.org/en/latest/available-runtimes.html

BTW i you thin that runtime thing is just a detail, it’s not.

Re,
I am sorry but I would really appreciate if you could elaborate your answers,
I tried to pick a proper SDK/runtime reading the doc carefully (many times),
not sure that anything is unclear, but it clearly lack examples, also why listing all the
available extensions, and if these are extensions and not separate runtimes with extra options,
then how to use them in the manifest ?
I tried Freedesktop (both 20.08 and 22.08), doesn’t seem to do the trick, then when I try the flatpak I got the following error:

Failed to register: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown

Tried to find out more about this message of course but so far no luck.
If the runtime is not appropriate, how to pick one ?
More examples, in the doc, would be more than appropriate.

And I absolutely do not think that it is a detail, I think that it is important to know what
to do and how, so my program uses Gtk3 (pango, libxml2 …), OpenGL (requires Glu, Glut, libepoxy) basically it builds with any SDK that I tried so far … of course as long as I include the shared glu module.
But then how to pick the proper SDK/runtime without spending hours trying one after another
in the hope that one will work, what are the rules ?
I cannot find that by myself without your help, so please elaborate,
or please point me to some doc that will help me understand.

Please be sure that I am serious about doing this, and I need help because if the doc lists options available it does not help to understand their purpose or how to use them when you are a beginner.
If you are willing to help, which seems to be the case then point me in the proper direction, instead of pointing out the obvious, and that is: I need to learn how to things properly.

Because indeed I do.
Please be sure that I really appreciate your efforts educating me.

[Edit]
Something to add/correct in the doc: details about what happens behind the rope with the build systems, how does it works, for instance my program should build with the autotool build systems,
because it is using it, but it does not when I declare it in the manifest, I wish I could understand why, but for that I would need to have info, info that does not appear in the doc, that simply states
that several build systems are available and what are the keywords to use.
[/Edit]
S.

Solved the autotools build system issue that I had, see here for details:

And I managed to run my app using:

flatpak run --socket=session-bus --nosocket=fallback-x11 --socket=x11 org.flatpak.atomes

The ‘–socket=session-bus’ correct the DBus error, while ‘x11’ related options correct a GTK display error, so now the flatpak seems to run fine, not sure that this way of doing is appropriate,
any advise would be appreciated.

S.

--socket=session-bus should never be used in normal applications, that are not d-bus debuggers etc.
Such applications, which still do so without an exceptional reason are tracked on this list of bad boys.

Steps to resolve this issue:

  1. Remove --socket=session-bus
  2. Run the application with --log-session-bus. This will print a log of which dbus calls are actually used and blocked.
  3. Add specific --talk-name=org.example.Name to talk to a service. Occasionally you’ll need to add --own-name=org.example.Name to own a name but this is less common.
1 Like