-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Appimage built on Ubuntu 18.04.6 works fine on 20.04 but not on 18.04 #9
Comments
Ah, I see: bionic has Think need to put latest |
No, does not work: seems requires all |
https://github.com/AppImage/pkg2appimage/blob/master/excludelist#L102 fontconfig is on the excludelist and is not supposed to be bundled, it always causes issues. You need to build on a newer release of Ubuntu or an alternative distro if you need a newer version. The PPA apparently does not just provide ffmpeg packages built against the stuff 18.04 provides, it also ships newer dependencies... |
Vicious circle: to make Appimage work need to upgrade gstreamer, which brings new dependencies, which requires newest distro or downgrade gstreamer. Any other solutions?! |
Well, your initial claim is wrong. You said you were building on some Ubuntu 18.04. But in fact you have modified that distro significantly with packages from some PPA that update an excludelisted dependency. You are not building on Ubuntu 18.04, really. There are PPAs like Stephan Binner's Qt PPAs that are built against the distro-provided packages only and thus can be deployed properly. These don't provide any backported dependencies. However, that also means that when Qt does not support building on a distro any more, it won't be supported by the PPA either. Targeting 20.04 or newer is an acceptable trade-off. Debian stable, which was released in 2019, might also be a suitable target, depending on your requirements. By the way, this is not really a plugin issue. The excludelist is standard to AppImage creation. Please stop making comparisons with this appimage-builder project. It violates some of the original principles of AppImage which linuxdeploy still respect. Whataboutism à la "it works with appimage-builder" is not helpful and therefore not welcome. |
No, above is wrong! It is not the full story and not my initial claim. Initial problem was this error: #8 (comment) with
I do not need Qt here, we build it on our own - version 5.15.2 as only this version works with QGroundControl now. Does this PPA contains gstreamer as well? What is its URL?
Our requirement was to support 18.04 for now, may be we'll switch to 20.04.
Yes, for this particular problem - it is not a plugin issue, but the whole chains of problems I'm trying to solve in #8 and #9 - yes it is! And this chains of problems actually is the one - make video and gstreamer work from within Appimge, for now we forced it to work only for 20.04.
I'm not comparing, just trying to say that saying that principle to put whole package fully preserving its directory structure is a very convenient way, and limitation to put all the libraries inside single |
The initial comment states:
Only the second comment mentions PPA: #8 mentions some PPA only in the last few comments. This is really exhausting. You keep providing breadcrumbs only, add more and more issues that are unrelated to the initial problem, don't provide a (minimal) example project that can be used to reproduce the issue but instead expect/demand from people who have already noted they don't have lots of time to set up their own environment using instructions from various different pages setting up some project they have never seen before, .... I do not think I will be able to help without investing at least an entire day into just setting up the environment. And that is for sure way too much time I am able to or even want to spend on this alpha-grade plugin. If you want to have your project be debugged by me, please provide a repository (as requested in #8 (comment)) that contains the build scripts that result in an AppImage that shows the problems you mention. Please also make sure these issues show up in a vanilla Ubuntu 18.04.6 VM. That will allow me to figure out what you do, where the issues are, and whether there are things that can be fixed in either the plugin or linuxdeploy itself. What you are doing there looks relatively experimental (all the |
I provided tons of info about the problems and my actions I did trying to solve. I do not know what can I say more here. We can screenshare so I may help You setting up build env to reproduce.
I provided it in the last comment: #8 (comment) as You requested: https://github.com/airmap/qgroundcontrol/pull/13/files - did You looked into it? |
You linked to a PR, not a repository. Do you want me to go to the repository and branch that PR is based on and try that? Why not point to that branch directly? Are there build artifacts publicly available? As it is a PR, I suppose the job has not uploaded files to GitHub yet? |
Why not? Copy paste branch name from the repo. I thought PR with explanation and diff is much more convenient for understanding. Branch: https://github.com/airmap/qgroundcontrol/tree/linuxdeploy_appimage
What do you mean? It is is available. |
Then please provide a link. I spent another five minutes on searching for it myself, because this kind of back and forth asking you for such information is quite annoying, honestly. Building myself is not trivial, because that GitHub actions workflow uses lots of third-party actions to pull in dependencies. GitHub does not provide a CLI tool (unlike e.g., Drone) that can be used to run such workflows offline. I'd have to fork your repository and run everything myself. This is the kind of annoyance I mean: you don't make it really easy for the person on the other end, they either have to ask you many questions until they are at a state they can work with, or invest time to do lots of setup work oneself. Off topic: this is the reason I always avoid such dependencies, and also build CI stuff in a way that is entirely reproducible locally. See for instance https://github.com/linuxdeploy/linuxdeploy/blob/master/.github/workflows/main.yml (all commands are reproducible in a Docker container if needed). Another example is AppImageLauncher, where all builds are run in Docker containers using code contained in the repository (https://github.com/TheAssassin/AppImageLauncher/tree/master/ci) so that all builds can be run on virtually any CI system as well as on any workstation that has Docker installed (the corresponding workflow is therefore relatively trivial as well, https://github.com/TheAssassin/AppImageLauncher/blob/master/.github/workflows/main.yml). |
What link?! I provided all the links: to the repo, PR, branch, changed files - what else?
Sure, problem is QGC CI and our CI are very different. I do not know how they build. |
resulted in
Let me recap. I asked for build artifacts. You said there were some "available" (whatever that means). Where are the build artifacts? Is this a language barrier problem? Do you know the term "build artifact"? In the context of software engineering and CI, build artifacts are files produced during a CI run that can be downloaded. So where are they? |
Initially You asked me for a repo and branch with appimage build script with my modifications:here they are: No, I do not have build artifacts for QGroundControl as we do not use their CI, so I can only provide the build script above. |
Just checked: QGroundControl does not work with Gstreamer 1.14 on Ubuntu 18.04 at all. Version 1.16 (Ubuntu 20.04) or latest 1.18.5 (like QGroundControl mentiones) from ffmpeg4 PPA work fine. So I think we'll follow Your suggestion and Upgrade to 20.04 as well as QGroundControl based on it now. Sorry to trouble You. We may close #8 and #9 tickets now. |
Errors related to GStreamer as well. We have successfully built Appimage in docker based on Ubuntu 18.04.6 LTS: #8 and it works fine on 20.04 but not on 18.04 for some strange reason.
Errors are the following:
FcWeightToOpenTypeDouble
is something about fontconfig. What could cause this error? How to fix? Any ideas?The text was updated successfully, but these errors were encountered: