Any guides to building from source code, making a .deb out of it, and/or plans to make an AppImage?

I like open source and I like the fact that quelea actually exists but sadly I haven’t had much success running your software on linux :frowning:

I’ve tried the java crossplatform on practically a whole lot of distros already may it be Arch-based, Debian-based, Fedora-based, etc. and it crashes whenever an attempt is made to select a file using the system’s file-picker i.e. picking a presentation, picking an image as background for projection, and etc… And no I don’t use ubuntu because it is too mainstream and mainstream is bad for general security of computers

I also tried to install quelea as a snap but sadly snapd is plagued by a bunch of issues/errors on non-ubuntu distros

If you guys are looking to reproduce this crash then the easiest way would be installing java and trying to run the quelea crossplatform jar on linux mint or pop! os by system76 since those linux distros are very straight-forward to install, use, and get around all in all and it should crash upon trying to select files like images/presentations. If this problem wasn’t reproduced then IDK, my laptop is running on a 7th gen intel processor and using intel HD graphics

So with that, I’d like to suggest either one or all of the following:

  1. Guide to building Quelea from source code
  2. Guide to making a .deb out of the source code
  3. Replace crossplatform .jar with an AppImage instead for a better experience and arguably AppImages actually run across multiple linux distros

That’s strange, we have had these issues before (e.g. #17) and I thought we had resolved them by now. By adding the VM option “-DVLCJ_INITX=no” when Quelea is launched (in the launch.sh file), we got it working the first time. We also experienced similar issues with Snap builds, but then we set the GTK version to 2 and it at least resolved it for me on an Arch based distro. If you don’t use the Snap version, you could always try to add “-Djdk.gtk.version=2” in the launch file and see if that helps.

As for a guide on building Quelea from source, you might want to check out this guide on how to setup an IDE for Quelea development.

If you want to build your own installation files from there, in IntelliJ, you select the Gradle tab in the upper right edge and then Run Configurations -> Quelea [dist] and then you should find the builds in /path/to/source/Quelea/dist/standalone.

(Note: you might need to remove a few options in the line 174 in the build.gradle file for it to build unless you have all the build resources installed. This should be enough if all you want is the crossplatform installer: tasks = ['labelcheck', 'copyToDist', 'izpack', 'releaseSummary'])

As for .deb builds and AppImages, that’s nothing I’ve ever attempted so I can’t give you any pointer there, but hopefully this would be enough to get you going if you want to have a go at it. If not, let us know and hopefully we could help you get a bit further.

1 Like

Thank you for your response! I’ll duly try to accomplish this next week
So some other contributor actually made the .deb builds of 2018? If this is the case I am willing to help in the production of these releases to somehow help more people out there to make quelea work on linux distributions highly considering the fact that Linux + quelea is very budget friendly specially for churches that are struggling with finances :slight_smile:

Yes, I’m pretty sure @berry120 set the deb build up originally, so he might be able to give you a few pointers if you get stuck. I think we decided to drop that build in favor of Snap when we moved the project over to Gradle. However, I agree that it would be nice to make Quelea available for as many distros as possible, so I don’t think we would mind adding it alongside Snap in if you find the time to make a .deb build or an AppImage. (Feel free to oppose, @berry120 , if you’d see any problems with it!) You might want to take a look at this StackOverflow question linking to a blog post that seems to give some instructions on how to setup Gradle to build a .deb file as well.

Hello! Yes, I originally set up the deb builds way back when, but they relied on Java as a dependency rather than bundling it all in there, and they were also only tested / used on Ubuntu based systems, so there wouldn’t really be any improvement in providing those files in the same way now (they’d just be a non-up-gradable version of the snap package, hence we stopped building them.)

The crash you’re describing is due to a bug between Java & GTK3; it has to run on GTK2 unfortunately. (Nout to do with the packaging process.) Not a lot we can do about that.

AppImage builds on the other hand could well be a good asset as that shouldn’t be tied to Ubuntu or Debian based releases. In principle at least, certainly wouldn’t be against including those in a future release.