-
-
Notifications
You must be signed in to change notification settings - Fork 13
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
Builds for Linux #37
Comments
Hey! I've also learned that VersaTile won't run on current Ubuntu systems because they still have an older version of Qt which doesn't have the But i'll look into it! |
Building on the current Ubuntu LTS requires a newer Qt(Creator). Some CI would be great though. See the wiki: https://github.com/MasterQ32/VersaTile/wiki/How-To-Build |
Yeah, i'll take a look! Does one of you use Travis CI already? Would be cool to have some help |
I already use it @probonopd, could you help @MasterQ32 to setup Travis CI for producing AppImage? P.S.: there are few ways upload built binary back to Github |
@aggsol, try use 'portable' Qt5.9 on Ubuntu 16.04 LTS (using offline installer) |
Another idea, how about using https://snapcraft.io/? There way more packages would emerge? |
I'll try it. I've struggeled with travis a lot yesterday... I now have a built with missing linker references because of bad maintaince of packages on ubuntu |
Hm, doesn't seem very different in terms of build features... I'll try to do some custom CI server as soon as i'm home again, wanted to something with virtualisation anyways |
It should be rather easy to use Travis CI and linuxdeployqt as described at https://github.com/probonopd/linuxdeployqt/blob/master/README.md. There are also many examples linked. As for Qt 5.9, you can use the ppa that I also use in my examples there. @MasterQ32 please let me know if you run into any issues, I'm happy to help. AppImage developers are also on #AppImage on irc.freenode.net. |
Well, i still struggle with even building versatile because of much outdated libraries provided with Travis CI... |
You may take a look here: https://travis-ci.org/MasterQ32/VersaTile/builds/280935405 |
Yes, it is good practice to build against the oldest libraries you can still build against, in order to maximize compatibility with older target systems. Hence it may be easier to use the oldest still-supported Ubuntu LTS version during development, in order not to unknowingly incur dependencies on "bleeding edge" stuff that later need to be carefully removed/backported. |
And that's where the problems start... I'm using arch linux which means i always have the bleeding edge versions of all libraries. So i could create a build for arch/"bleeding edge" or ubuntu/"quite old" and the versions would be incompatible. I don't really know what to do, as i don't like to use older version of libraries (because of security bugs, stability, ...) but i also want to support non-archlinux systems |
Since linuydeployqt can bundle the libraries that cannot be expected to be part of each target system inside the AppImage, "i don't even have the old versions of those libraries in the packaging system" will not be a problem if you are running AppImages on Arch. The libraries that are missing from the packaging system will be inside the AppImages. So most of the time AppImages should run on Arch just fine. As for making what goes into AppImages, Arch and other rolling release distributions are not suitable. Quite the contrary, we recommend to use the oldest still-supported enterprise or LTS versions like CentOS 6 or Ubuntu 14.04, in order to maximize compatibility with different target systems. This is because applications compiled on older systems will continue to run on newer systems (at least if correctly bundled as AppImages), while the reverse is not true. So for application development work, rolling release distributions like Arch are not the first choice if you want to develop applications that also run on older target systems (without having to bundle everything). |
So where's the exact difference between an app image and static linking? |
Static linking links libraries into the executable. AppImage merely puts the executable, libraries, images, icons, fonts, sounds etc. into a self-mounting filesystem image (think of an ISO that mounts itself and executes whatever is inside). You can put statically or dynamically linked applications into an AppImage. |
What is the status on this? |
Haven't continued working on it as it has low priority for me and i'm short at time anyways |
Could you make binary builds for Linux?
Maybe you could setup Travis Ci for autobuild
.AppImage
package?The text was updated successfully, but these errors were encountered: