PINE64
Cross compilation for Mobian - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: PinePhone (https://forum.pine64.org/forumdisplay.php?fid=120)
+--- Forum: PinePhone Software (https://forum.pine64.org/forumdisplay.php?fid=121)
+---- Forum: Mobian on PinePhone (https://forum.pine64.org/forumdisplay.php?fid=139)
+---- Thread: Cross compilation for Mobian (/showthread.php?tid=15692)



Cross compilation for Mobian - nicolapcweek94 - 01-05-2022

As a heavy emacs user and early adopter of both the pinephone and the keyboard cover that I've ordered as soon as it was made available, I'd really like to get a build of the latest emacs tree (with PGTK and nativecomp patches, which should really help with both performance and mobile compatibility) going, especially with the keyboard on its way.

I have extensive experience with building emacs itself, both with and without the patches, for amd64. I have no idea how to setup a cross compiler toolchain to build a arm64 package for the pinephone on my amd64 server, though, especially with the gcc toolchain which is supposedly harder to setup for cross compilation.

I'm also looking to setup the whole thing as a repo with a weekly or daily build job, if the repo setup doesn't require too much maintenance, which I'd gladly share if anyone's interested.

Does anyone have any pointers?


RE: Cross compilation for Mobian - Gumur - 01-05-2022

(01-05-2022, 08:33 AM)nicolapcweek94 Wrote: As a heavy emacs user and early adopter of both the pinephone and the keyboard cover that I've ordered as soon as it was made available, I'd really like to get a build of the latest emacs tree (with PGTK and nativecomp patches, which should really help with both performance and mobile compatibility) going, especially with the keyboard on its way.

I have extensive experience with building emacs itself, both with and without the patches, for amd64. I have no idea how to setup a cross compiler toolchain to build a arm64 package for the pinephone on my amd64 server, though, especially with the gcc toolchain which is supposedly harder to setup for cross compilation.

I'm also looking to setup the whole thing as a repo with a weekly or daily build job, if the repo setup doesn't require too much maintenance, which I'd gladly share if anyone's interested.

Does anyone have any pointers?

Among others:

https://jensd.be/1126/linux/cross-compiling-for-arm-or-aarch64-on-debian-or-ubuntu


RE: pure GTK Emacs with native compilation - pda64 - 02-20-2022

Hey, nicolapcweek94 Smile

I was able to build the latest GNU Emacs directly on the PinePhone's CPU, including the pure GTK and native elisp compilation features. I had to limit the build to two parallel jobs (more than 2 caused OOM crashes). It took ~2h:36m, CPU utilization was around 50% and the temperatures stabilized at constant 60°C on the CPU and 56°C on the GPU.

After this experience, I have become interested in cross-compilation as well, although I have very little experience with it.

Quote:I'm also looking to setup the whole thing as a repo with a weekly or daily build job, if the repo setup doesn't require too much maintenance, which I'd gladly share if anyone's interested.

Not me. I track the Emacs source code commit-by-commit; I'd never give up this control for any amount of convenience.

However, if you have it already figured out, please do share your method and observations.  Heart


RE: pure GTK Emacs with native compilation - nicolapcweek94 - 02-21-2022

(02-20-2022, 05:48 AM)pda64 Wrote: Hey, nicolapcweek94 Smile

I was able to build the latest GNU Emacs directly on the PinePhone's CPU, including the pure GTK and native elisp compilation features. I had to limit the build to two parallel jobs (more than 2 caused OOM crashes). It took ~2h:36m, CPU utilization was around 50% and the temperatures stabilized at constant 60°C on the CPU and 56°C on the GPU.

After this experience, I have become interested in cross-compilation as well, although I have very little experience with it.

Quote:I'm also looking to setup the whole thing as a repo with a weekly or daily build job, if the repo setup doesn't require too much maintenance, which I'd gladly share if anyone's interested.

Not me. I track the Emacs source code commit-by-commit; I'd never give up this control for any amount of convenience.

However, if you have it already figured out, please do share your method and observations.  Heart

My current solution has been to build Emacs on a Debian chroot (via debootstrap) on my Raspberry Pi 4, which has significantly shorter build times (with the same pgtk and nativecomp features). I'm currently working on a cross compilation pipeline from my much more powerful server, but I'm blocked by the fact that I might have broken my wifi with the keyboard cover, so I can't really test it. I'll update the thread when I have something working and testable!