guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#61009] [PATCH] Building Icecat and jemalloc on aarch64-linux


From: Roman Scherer
Subject: [bug#61009] [PATCH] Building Icecat and jemalloc on aarch64-linux
Date: Sun, 22 Jan 2023 21:06:43 +0100
User-agent: mu4e 1.8.13; emacs 29.0.50

Hi Guix,

I'm trying to build Icecat on an aarch64-linux based Guix system. I got it
working with the patches attached to this mail. I would like to include this
into Guix but I am not sure about the following issues:

1. jemalloc

I'm using the kernel configuration from the Asahi Linux project which uses 16K
as the kernel page size. Because of this I get an "Unsupported system page
size" error from the jemalloc package when building Icecat.

I fixed this issue by setting the page size in the jemalloc package to 16K,
when building for an aarch64-linux system. I got this from the PKGBUILD [1] of
ARM Arch Linux.

I'm new to ARM and now I'm wondering:

- What is the default kernel page size on an aarch64-linux system?

- If there is none, is there one that is most commonly used?

- Why does ARM Arch Linux default to 16K and should we too?

- Which kernel page size is used on CI to build jemalloc and Icecat on the
  aarch64-linux builders?

- Did Icecat ever built on aarch64-linux on CI?

I also updated the version of jemalloc to 5.3.0, because I thought they also
addressed this issue for my particular aarch64-linux system [2]. This new
version sets the page size also to 16K, but only when building for an
aarch64-apple-darwin system, and not for aarch64-linux systems. So I'm not
sure only updating the version would fix the kernel page size issue here.

More than 5000 packages depend on jemalloc, so this should probably go into
the core-updates branch? The changes to jemalloc caused my world to rebuild
locally, but I ended up with a working Icecat.

2. Disable EME on aarch64-linux

I removed the --disable-eme option on aarch64-linux because the configure
script failed an error saying this option is not supported on this
architecture. Since EME stands for Encrypted Media Extensions and is a
JavaScript API for playing DRMed video content in HTML, I'm not sure if this
is ok, or what to best do here?

Could someone please review the patches and give me some advice on how to
proceed with these issues?

Thanks, Roman.

[1] https://archlinuxarm.org/packages/aarch64/jemalloc/files/PKGBUILD
[2] https://github.com/jemalloc/jemalloc/blob/dev/configure.ac#L1733

Attachment: 0001-gnu-jemalloc-Update-to-5.3.0.patch
Description: Text Data

Attachment: 0002-gnu-jemalloc-Build-with-large-page-size-on-aarch64.patch
Description: Text Data

Attachment: 0003-gnu-icecat-Fix-disable-eme-option-on-aarch64.patch
Description: Text Data

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]