-
Notifications
You must be signed in to change notification settings - Fork 227
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
Provide Debian/Ubuntu ARM builds #1452
Comments
Do we know if the compiler can in any way optimize to any of the many ARM variants out there? |
I'm not too much into compilers or ARM specifically, but unless one uses explicit compile flags ( The number of cores to use should be runtime-specific. |
Hi here, |
Jamulus is now in the Debian stable repository. So strictly speaking, there is an easy to install arm version out there. |
The following works for cross-compiling Jamulus on Ubuntu 18.04 for armhf (32bit). The resulting binary works on my Raspberry Pi 3 Model B Plus Rev 1.3 (armv7l) running on Arch Linux ARM. It should work on Raspbian, too, as well es on older Raspberries. I'll try to get this working via autobuild in the coming days.
|
When Raspbian 11 came out, it was only/initially released as 32-bit. On my Pi4, I have run 32-bit on both Raspbian 10 and 11. In fact https://www.raspberrypi.com/software/operating-systems/ only shows 32-bit downloads. There are 64-bit versions available at https://downloads.raspberrypi.org/raspios_arm64/images/ but they are not compatible with Pi 1 and Pi 2, which seems to be why they are not promoted on the main page. Maybe they also haven't been tested as throughly? So for now, we probably only need to look at releasing 32-bit packages for Jamulus. |
Status update: Package builds work fine, but adding it to the existing build logic would have lead to bad code. Therefore, I've done some larger refactorings of the build logic and have added armhf autobuild support on top. Tree: https://github.com/hoffie/jamulus/tree/autobuild-armhf So...:
I'm targeting this for 3.9.0 atm. |
Great. Maybe we could compile the arm files "by hand" and provide them as beta/experimental for the next release. I think quite some people would benefit from it already. |
We could push the tree to a feature branch in jamulussoftware/jamulus and attach the resulting .debs to the release, yeah. |
They'd need to be clearly marked. So I'd say not link them directly on the "Official Release Note" posted here and Facebook, etc - just reference the Github release and make it clear they're experimental still. We've still got IPv6 "experimental" and we're getting "unexpected" behaviour from it. So we need to take care letting anything too experimental in before it's ready. |
This uses the existing build logic, but makes it cross-compiler aware. Fixes jamulussoftware#1452
This uses the existing build logic, but makes it cross-compiler aware. Fixes jamulussoftware#1452
This uses the existing build logic, but makes it cross-compiler aware. Fixes jamulussoftware#1452
This uses the existing build logic, but makes it cross-compiler aware. Fixes jamulussoftware#1452
This uses the existing build logic, but makes it cross-compiler aware. Fixes jamulussoftware#1452
This uses the existing build logic, but makes it cross-compiler aware. Fixes jamulussoftware#1452
This uses the existing build logic, but makes it cross-compiler aware. Fixes jamulussoftware#1452
This uses the existing build logic, but makes it cross-compiler aware. Fixes jamulussoftware#1452
This uses the existing build logic, but makes it cross-compiler aware. Fixes jamulussoftware#1452
This uses the existing build logic, but makes it cross-compiler aware. Fixes jamulussoftware#1452
Has this feature been discussed and generally agreed?
Multiple discussions, e.g.
#1446 (comment)
No explicit agreement, as far as I know.
Describe the solution you'd like
The autobuild process should build arm binaries for Debian/Ubuntu as well.
Describe alternatives that have been considered
Make arm users (e.g. Raspberry owners) build themselves.
Last I checked, Github's native runners were x86-only. We may either have to cross-compile (not sure if it is possible without obstacles or how simple this would be) or we would need a self-hosted runner.
Possible cross-compiling approach:
https://github.com/multiarch/crossbuild
The text was updated successfully, but these errors were encountered: