-
Notifications
You must be signed in to change notification settings - Fork 2
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
Can't get this compiled on Ubuntu 14.04 #2
Comments
Hi @probonopd Thanks for the report. Documentation should have been clearer. Sorry |
Thanks for this advice. Now running into Reference: |
Running into more errors when symlinking this in: Does it work with the version of rtmidi in Ubuntu 14.04? Or could the requirement be lowered to work with the version in Ubuntu 14.04? |
I never tried compiling and running it on ubuntu 14.04 before. I will try to find some time this week-end to make it compile and work on ubuntu 14.04 if you want. In the mean time, I did create a small mini-app yesterday that compiles and work on ubuntu 14.04 and for which the issue alamminsalo/orion#48 is reproduced. That mini-app is available at https://github.com/s-d-m/github_as_free_public_storage/blob/master/minimum_failing_app_for_linuxqtdeploy.tar.bz2 Let me know if there is anything else I can do. |
This is exactly what AppImage is for. To make sure your AppImage will run on most still-supported Linux distributions out there (and not just on the latest ones), it is best practice to target the application for the oldest still-supported long time support releases of distributions (e.g., currently Ubuntu 14.04 LTS). So yes, it would be great if you could make it compile there. Thanks!
Thanks, but it's not in its own repo so it's not easy for me to work with.
Let's do the real thing, lilyplayer. |
Hi @probonopd I updated my branch and now it compiles and works on ubuntu 14.04 ... with some help of your tavis.yml file. I added rtmidi directly in the repository as a submodule to avoid working with distribution-specific versions. That means the instructions to install are a bit different now. Also the list of dependencies to install are now bigger. Your travis.yml will need to be updated. To install:
Note that you install timidity in your travis.yml. It isn't required to build or run lilyplayer. It is required if the user wants to hear something "only". Right now I needed to copy the rtmidi libraries from 3rd-party/rtmidi/.libs to /usr/lib first. (didn't get time to fix that).
The idea was to give you something small enough to become a regression test in linuxqtdeploy test suite. It has no librtmidi dependency for example. And compiles with gcc-4.8. If it is only about putting it in its own repo, that's a no brainer, simply untar it and push the directory to github (or somewhere else). I can keep the repo in my github if you want.
|
Hi @probonopd, I saw you kept going on this. Thanks. I created a second branch where I mostly copy/pasted your travis.yml file as it felt easier than integrating your branch just for testing. If github contributions are important to you, I will obviously be happy to merge your branch. Anyway, i managed to get the appimage created by travis, and at the end, it shows:
as you can see at https://travis-ci.org/s-d-m/lilyplayer/builds/406672160?utm_source=github_status&utm_medium=notification Should we copy paste these libraries into appdir/usr/lib before creating the appimage? |
This means that only those libraries are used from the base system. Looks good to me. Do you have a download link for your AppImage? (Looks like if you had a GITHUB_TOKEN set up as per the uploadtool documentation, it might have worked...) https://travis-ci.org/s-d-m/lilyplayer/builds/406672160#L1270 |
Isn't that a bug? I thought the goal of appimages was to not rely on system's library at all. Or these libraries system-dependant somehow? |
We recommend to not bundle these libraries, but to use them from the system. |
Looking good. Tested my build from https://travis-ci.com/probonopd/lilyplayer/builds/79659508#L1271 and it is "almost" working, saying
How to "link runtime to application"? |
I believe it means statically linking the address sanitiser library. The workaround would be to not compile with asan. I'm looking into it now. |
works now! There is only one little thing I just can't get right so far: the icon. Is there something I'm missing with the appimage desktop file? Should the icon be an svg file? |
Hi @probonopd I went ahead to also make appimages for lilydumper (the program that creates the music sheets for lilyplayer to play). And I think there is something wrong. linuxqtdeploy doesn't bundle the libpugixml. That is an xml library which is not listed in the exclude list (and I don't see why it should). The travis logs are available at https://travis-ci.org/s-d-m/lilydumper/builds/406875777 and the code is available at https://github.com/s-d-m/lilydumper/commits/create-appimage-with-travis Is this a bug in linuxqtdeploy? or am I supposed to copy the library into the appdir by hand? |
Please use |
Please run |
looks like the last command showing which libraries are still used on the system doesn't work. libpugixml is actually packaged. The appimage still runs if I remove libpugixml completely from the system, and the logs below confirms it
I do have over issues however. Also, lilydumper executes lilypond changing the environment. In particular it sets LD_PRELOAD. And when running the appimage, it looks like setting the environment before execution a program doesn't work. Is this something supported? Looking at AppImage/AppImageKit#396 it looks like this is disabled. Is there a way to get it back? |
Please run |
Not that I'd know.
Not sure what you mean by "this is disabled", can you elaborate? |
When googling a bit about my issue, I found out there was some discussions about resetting the environment before executing an application that is outside the appimage. To be honest, I just skimmed quickly on these. The result of running with strace: However these issues were related to the workaround for older system. Removing that made the appimage works ... on my dev machine. On Ubuntu 14.04 it complains about a missing libpugixml and missing symbols in libstdc++.so.6 (which is taken from the system). I'm compiling using g++6 because my code hits an internal compiler error with gcc5. |
This workaround is needed. Please describe the problem it generates in a new ticket on https://github.com/darealshinji/AppImageKit-checkrt/issues and please provide a way to reproduce it. Thanks. |
will try to find some time during the week to create a small app with the same issue, In the mean time, simply copying the libraries into the squash-fs and setting the rpath with patchelf is enough to provide a working appimage. Too bad patchelf is not packaged in ubuntu 14.04... |
You can use the one contained inside the |
seems like that one doesn't work. I ended up taking the one from nixos, untar it and compile and install in the travis.yml to produce a working appimage. |
closing this issue as I'm not working on this since a long time. |
Can't get this compiled on Ubuntu 14.04:
References:
The text was updated successfully, but these errors were encountered: