Any Interest in aarch64 Linux Builds?

Board for discussions around the Epyrus mail and news client.

Moderator: athenian200

User avatar
Basilisk-Dev
Lunatic
Lunatic
Posts: 341
Joined: 2022-03-23, 16:41
Location: Chamber of Secrets
Contact:

Any Interest in aarch64 Linux Builds?

Unread post by Basilisk-Dev » 2024-01-25, 13:56

Is there any interest in aarch64 Linux builds? My laptop is aarch64 based and I'm building each release locally for myself since there aren't official aarch64 binaries. I'd be happy to share the builds if someone wants them.

User avatar
Pentium4User
Board Warrior
Board Warrior
Posts: 1165
Joined: 2019-04-24, 09:38

Re: Any Interest in aarch64 Linux Builds?

Unread post by Pentium4User » 2024-01-25, 14:11

Will they run on the raspberry Pi?

User avatar
Basilisk-Dev
Lunatic
Lunatic
Posts: 341
Joined: 2022-03-23, 16:41
Location: Chamber of Secrets
Contact:

Re: Any Interest in aarch64 Linux Builds?

Unread post by Basilisk-Dev » 2024-01-25, 14:15

Pentium4User wrote:
2024-01-25, 14:11
Will they run on the raspberry Pi?
I'm not sure, I don't have one to test. I'd think so since I'm not compiling with any compiler specific optimizations. The builds would require a very recent glibc version though since my hardware (ThinkPad X13s) is only supported on more bleeding edge Linux distros at the moment.

User avatar
Pentium4User
Board Warrior
Board Warrior
Posts: 1165
Joined: 2019-04-24, 09:38

Re: Any Interest in aarch64 Linux Builds?

Unread post by Pentium4User » 2024-01-25, 14:21

I can test them on RPi 3+ and 4.

User avatar
UCyborg
Fanatic
Fanatic
Posts: 196
Joined: 2019-01-10, 09:37
Location: Slovenia

Re: Any Interest in aarch64 Linux Builds?

Unread post by UCyborg » 2024-03-28, 10:46

I have a Raspberry Pi 5. Right now, I'm only the regular user of Pale Moon though (and the older version of Interlink).

So I'd be interested to try out Pale Moon on the Pi sometime in the future. Unless there are published builds that I'm not aware of, should Linux instructions for building on Linux just work, at least in theory? I have the latest arm64 flavor of Raspberry Pi OS, which is based on Debian.

User avatar
Basilisk-Dev
Lunatic
Lunatic
Posts: 341
Joined: 2022-03-23, 16:41
Location: Chamber of Secrets
Contact:

Re: Any Interest in aarch64 Linux Builds?

Unread post by Basilisk-Dev » 2024-03-28, 15:02

UCyborg wrote:
2024-03-28, 10:46
So I'd be interested to try out Pale Moon on the Pi sometime in the future. Unless there are published builds that I'm not aware of, should Linux instructions for building on Linux just work, at least in theory? I have the latest arm64 flavor of Raspberry Pi OS, which is based on Debian.
Sorry, I forgot I posted this topic in the first place.

Yeah, the build instructions and mozconfig on the Epyrus site will work for aarch64 Linux. I've built it with GCC 11 on Oracle Linux 8, as well as OpenSuSE Tumbleweed with GCC 13.

I change the optimization to --enable-optimize="-O2 -march=native -w" when building on my aarch64 machine locally for increased performance, but that's not required.

User avatar
Basilisk-Dev
Lunatic
Lunatic
Posts: 341
Joined: 2022-03-23, 16:41
Location: Chamber of Secrets
Contact:

Re: Any Interest in aarch64 Linux Builds?

Unread post by Basilisk-Dev » 2024-03-30, 00:12

Here is an aarch64 build of Epyrus 2.1.2.

https://archive.basilisk-browser.org/ot ... tk3.tar.xz

User avatar
UCyborg
Fanatic
Fanatic
Posts: 196
Joined: 2019-01-10, 09:37
Location: Slovenia

Re: Any Interest in aarch64 Linux Builds?

Unread post by UCyborg » 2024-05-23, 21:19

Welp, I've stumbled upon the first obstacle when attempting to compile from source, there's no Python 2.7 in Debian Bookworm.

So maybe putting older Debian Bullseye on a PC and hope I can get cross compiling for aarch64 working. I guess starting with https://jensd.be/1126/linux/cross-compiling-for-arm-or-aarch64-on-debian-or-ubuntu, then following steps for compiling Pale Moon, but modifying .mozconfig to export variables CC and CXX to point to ARM compilers and hoping it works.

User avatar
Basilisk-Dev
Lunatic
Lunatic
Posts: 341
Joined: 2022-03-23, 16:41
Location: Chamber of Secrets
Contact:

Re: Any Interest in aarch64 Linux Builds?

Unread post by Basilisk-Dev » 2024-05-24, 17:54

UCyborg wrote:
2024-05-23, 21:19
Welp, I've stumbled upon the first obstacle when attempting to compile from source, there's no Python 2.7 in Debian Bookworm.
If it's helpful, my Basilisk build script works for Epyrus (and Pale Moon) regardless of if the host distro has Python 2.7 or any other of the required packages. That's what I used to build the Epyrus binary I provided earlier in the thread. The only requirement to run the script is that you have Docker installed and configured correctly.

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1552
Joined: 2018-10-28, 19:56
Location: Georgia

Re: Any Interest in aarch64 Linux Builds?

Unread post by athenian200 » 2024-05-24, 21:05

UCyborg wrote:
2024-05-23, 21:19
Welp, I've stumbled upon the first obstacle when attempting to compile from source, there's no Python 2.7 in Debian Bookworm.

So maybe putting older Debian Bullseye on a PC and hope I can get cross compiling for aarch64 working. I guess starting with https://jensd.be/1126/linux/cross-compiling-for-arm-or-aarch64-on-debian-or-ubuntu, then following steps for compiling Pale Moon, but modifying .mozconfig to export variables CC and CXX to point to ARM compilers and hoping it works.
That's a UXP issue, not an Epyrus issue. UXP uses it, so Epyrus has to be built that way too...

viewtopic.php?p=245452

This has come up many times before, and we probably need to sticky the directions for building Python 2.7 from source at this point. :/

We are trying to fix a bunch of other issues, such as vendoring the parts of Autoconf 2.13 that we use, and also trying to make it possible to compile UXP without GTK2, but the Python 2.7 dependency is likely going to be a thorn in our side for years to come.

User avatar
UCyborg
Fanatic
Fanatic
Posts: 196
Joined: 2019-01-10, 09:37
Location: Slovenia

Re: Any Interest in aarch64 Linux Builds?

Unread post by UCyborg » 2024-05-25, 16:45

athenian200 wrote:
2024-05-24, 21:05

viewtopic.php?p=245452
I found that thread after I already figured out how to install Python 2.7 system-wide, which turned out to be not too difficult. Dropped the cross-compiling idea as I didn't find the way how to get arm64 libraries on amd64 flavor of Debian.

So on a Raspberry, I started with downloading Python 2.7 packages that are available for Debian 11:

Code: Select all

# Download packages
wget http://ftp.debian.org/debian/pool/main/libf/libffi/libffi7_3.3-6_arm64.deb
wget http://ftp.debian.org/debian/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_arm64.deb
wget http://ftp.debian.org/debian/pool/main/p/python2.7/libpython2.7-minimal_2.7.18-8+deb11u1_arm64.deb
wget http://ftp.debian.org/debian/pool/main/p/python2.7/python2.7-minimal_2.7.18-8+deb11u1_arm64.deb
wget http://ftp.debian.org/debian/pool/main/p/python2.7/libpython2.7-stdlib_2.7.18-8+deb11u1_arm64.deb
wget http://ftp.debian.org/debian/pool/main/p/python2.7/python2.7_2.7.18-8+deb11u1_arm64.deb

# install them
sudo dpkg -i libffi7_3.3-6_arm64.deb libssl1.1_1.1.1w-0+deb11u1_arm64.deb libpython2.7-minimal_2.7.18-8+deb11u1_arm64.deb python2.7-minimal_2.7.18-8+deb11u1_arm64.deb libpython2.7-stdlib_2.7.18-8+deb11u1_arm64.deb python2.7_2.7.18-8+deb11u1_arm64.deb
The idea is from https://www.fadedbee.com/2024/01/18/installing-python2-on-debian-12-bookworm/. I won't worry about "Frankendebian" for now. Those packages' content looks pretty distinct from the rest of the system. If something happens with dependencies in the future, I'll worry about it then.

Other packages I installed were pretty much the same as outlined in the thread quoted at the top of the post.

My .mozconfig for Pale Moon (opted for GTK2 version):

Code: Select all

# Set GTK Version to 2 or 3
_GTK_VERSION=2

# Standard build options for Pale Moon
ac_add_options --enable-application=palemoon
ac_add_options --enable-optimize="-O2 -w"
ac_add_options --enable-default-toolkit=cairo-gtk$_GTK_VERSION
ac_add_options --enable-jemalloc
ac_add_options --enable-strip
ac_add_options --enable-devtools
ac_add_options --enable-av1
ac_add_options --enable-jxl
ac_add_options --disable-webrtc
ac_add_options --disable-gamepad
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-necko-wifi
ac_add_options --disable-updater
ac_add_options --with-pthreads

# Please see https://www.palemoon.org/redist.shtml for restrictions when using the official branding.
ac_add_options --enable-official-branding
export MOZILLA_OFFICIAL=1

export MOZ_PKG_SPECIAL=gtk$_GTK_VERSION
Notable changes; I omitted stuff related related to X libraries, there's only /usr/lib on 64-bit Raspberry Pi OS, should be the same on 32-bit version. The libraries were successfully located automatically.

The compilation took little over 58 minutes. I put the source on the external WD 5 TB hard disk, it's one of the slower ones, uses SMR technology. That was the first time I ever compiled any web browser from source code and it works, so wow!
athenian200 wrote:
2024-05-24, 21:05
That's a UXP issue, not an Epyrus issue. UXP uses it, so Epyrus has to be built that way too...
I realize that, I didn't mean to go too off-topic.
Pentium4User wrote:
2024-01-25, 14:11
Will they run on the raspberry Pi?
I see Basilisk-Dev's aarch64 build of Epyrus definitely does not launch on the latest Debian 12 based Raspberry Pi OS as-is due to GLIBC. That's all I can tell, I never messed with GLIBC.

Post Reply