Closed ann0see closed 3 years ago
I'm running Jamulus Server on Debian at Vultr.com. I followed Andrew Ferguson's install instructions, then update to new Jamulus versions with the steps shown in my Remote Band Rehearsals doc. Anything that makes it easier is a good thing, in my mind. :)
https://github.com/marketplace/actions/automatic-releases this could be modified.
My work:
Edit: https://github.com/ann0see/jamulus/tree/autobuild_linux
Is now the branch with my changes. This automatically builds .deb files on every commit.
ann0see: Thank you for your effort. I greatly appreciate it. I managed to install it on Debian 10 and it runs but apt complained about libgcc10-s1 not being available and having to use fix-broken when trying to install anything else which result in Jamulus being removed:
Unpacking jamulus (3.6.2git-0) over (3.6.2-0~~xenial1) ...
dpkg: dependency problems prevent configuration of jamulus:
jamulus depends on libgcc-s1 (>= 3.0); however:
Package libgcc-s1 is not installed.
I tried your deb because when I was using the Xenial build from PPA I could not see any pan pots but after installing your build they appeared. Yes, I did have stereo and everything configured correctly with xenial build but still no pan pots.
Questions:
@38github I must admit, that I didn't do much (all the debian packaging tools etc. were already there. I just did the GH-Actions stuff) and I haven't had the time to install and check the packages yet on a real machine. I just looked at the content and it looked fine.
Initially I ran and compiled Jamulus (latest code from master) with my script on Debian 10 which produced .deb files.
GitHub Actions compiles it on Ubuntu (so it might produce slightly different files, although I don't really know why that should be the case).
Concerning your dependency issue: I wasn't aware of it, but maybe I can figure out why this is added.
Edit: yes, the resulting control file is different on Debian 10 and probably also on Ubuntu 16.04 which I now changed the OS of the GH action to. Let's wait and see what these .deb files look like...
Thank you very much ann0see. I will try a new build as soon as one is generated.
Yes. It's done now (and the Gui Version works on debian 10). Unfortunately the desktop file doesn't seem to work on debian 10.
Changed the OS to Ubuntu 20.04. Let's have a look at what that does.
I'm not sure about the systemd Debian headless script (it automatically configures a public server and has multiple differences to the one included in the wiki: https://jamulus.io/wiki/Server-Linux#create-a-start-script). @corrados should we change this file?
The deb works without errors BUT now the pan pots are gone just like in the xenial PPA build. Weird! They were not gone with the build you had before that gave the libgcc10-s1 package error.
I can reproduce this error. So it depends on the OS we build Jamulus on, I think?
I wish I could answer that but it seems so. Sometimes I wish appimages were more popular than they are but they probably have their shortcomings too that I don't know about,
appimages are quite big, I think? .deb files are kind of the standard, I think
What I like about them is that they work on (almost) all distros but I don't know how it works exactly. This is not popular to say but on other operating systems you can at least run a program downloaded on the developers website and not look for distros and packages that work. This will hopefully someday be a thing of the past and just work.
The new files are up (but that isn't the solution...)
reverted it back to 16.04 build and will try to add the dependencies manually to the control file (although that's not a sustainable solution)
The new one built on Ubuntu 20.04 gave me the following in Debian 10:
Preparing to unpack jamulus_3.6.2git-0_amd64.deb ...
Unpacking jamulus (3.6.2git-0) over (3.6.2git-0) ...
dpkg: dependency problems prevent configuration of jamulus:
jamulus depends on libc6 (>= 2.29); however:
Version of libc6:amd64 on system is 2.28-10.
jamulus depends on libgcc-s1 (>= 3.0); however:
Package libgcc-s1 is not installed.
jamulus depends on libqt5core5a (>= 5.12.2); however:
Version of libqt5core5a:amd64 on system is 5.11.3+dfsg1-1+deb10u4.
jamulus depends on libqt5widgets5 (>= 5.12.2); however:
Version of libqt5widgets5:amd64 on system is 5.11.3+dfsg1-1+deb10u4.
Edit: Saw now that you reverted back to 16.04. Is it possible to build for 18.04?
Is it possible to build for 18.04?
Yes. That's what the first deb was built on
Ah, ok.
I think the issue lies deeper. Probably it has something to do with an outdated version of QT
But the first build (18.04) worked and the pan pots were visible except the libgcc-s1 dependency issue that messed up installing any further things with apt.
Yes. I now added the dependencies from 16.04 to the control file and set the build to 20.04. Let's wait and see if this works.
Installed fine but won't start because of:
$ jamulus
jamulus: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by jamulus)
jamulus: /lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.12' not found (required by jamulus)
:(
Ok. Thanks for this information. I will try to build it on 18.04 with my dependencies copied from 16.04
The new version should work now @38github but I just copied the dependencies from the 16.04 to the control file so there might be problems with them.
$ jamulus
qt.qpa.screen: QXcbConnection: Could not connect to display
Could not connect to any X display.
Computers... :)
Edit: I had to log-out which seemed to restart X11 or the windows manager and then it worked,
Hold on...................
For me it worked...
user@debian:/tmp$ sudo dpkg -i jamulus_3.6.2git-0_amd64.deb
(Lese Datenbank ... 251073 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von jamulus_3.6.2git-0_amd64.deb ...
Entpacken von jamulus (3.6.2git-0) über (3.6.2git-0) ...
jamulus (3.6.2git-0) wird eingerichtet ...
Trigger für desktop-file-utils (0.23-4) werden verarbeitet ...
Trigger für mime-support (3.62) werden verarbeitet ...
Trigger für hicolor-icon-theme (0.17-2) werden verarbeitet ...
Are you running with gui? We should find out why this happens:
Unpacking jamulus (3.6.2git-0) over (3.6.2-0~~xenial1) ... dpkg: dependency problems prevent configuration of jamulus: jamulus depends on libgcc-s1 (>= 3.0); however: Package libgcc-s1 is not installed.
It worked! The pan pots are there! :D Thank you for all your patience, ann0see! Hopefully there is no other issue.
Hopefully there is no other issue.
No guarantee for that...
But what I did was really just a hack.
But that hack made me very happy ;) Hopefully someone can answer the question why libgcc-s1 is an issue and why the pan pots work for some builds and not others.
Yes. @tormodvolden might have an idea since he wrote the Debian scripts (I think). Also tagging @trebmuh here.
This is not an issue but just want to add it if @tormodvolden reads it - the pan pots work now BUT the mute icon above users are now just an orange rectangle's border.
the mute icon above users are now just an orange rectangle's border
The UTF8 font is missing which has the symbols.
BTW: What is the status if this issue?
What is the status if this issue?
The issue with the missing font you mentioned is still open and the question how you will handle a slightly different release process (you might no longer have to set the latest tag) to the latest version of Jamulus and the latest release might look a bit different.
a slightly different release process (you might no longer have to set the latest tag) to the latest version of Jamulus and the latest release might look a bit differen
The release process already takes more than 30 minutes and I have to remember a lot of things to do. Making it even more complicated is not a good idea.
What do you mean by "look a bit different"?
And also: "you might no longer have to set the latest tag" -> This will not be possible since a lot of people are using this tag. So this must exist.
The latest tag would be set automatically so it will make your process faster.
Also the content of a github release would be automatically filled with the latest commits. Since the last commit with the latest tag.
See: https://github.com/marketplace/actions/automatic-releases
To allow this I still have to modify it a little bit
Since the PR was merged, I will close this
As far as I know, Jamulus is not included in the official Debian repository.
Compiling Jamulus needs a bunch of dependencies (which in my case resulted in a GNOME desktop install on my server) which I rather want to avoid on my server.
It would be great if there were official Debian packages which are released via GitHub releases. These packages could be built automatically by GitHub Actions on every release.
We already have the necessary scripts in this repository, so it should be easy to implement.