Message ID | 86ilgyuyc1.fsf@burningswell.com |
---|---|
State | New |
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 87B0427BBED; Sun, 22 Jan 2023 20:09:29 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 865EB27BBE9 for <patchwork@mira.cbaines.net>; Sun, 22 Jan 2023 20:09:25 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces@gnu.org>) id 1pJgeH-0006E3-8k; Sun, 22 Jan 2023 15:09:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1pJgeE-0006Da-OQ for guix-patches@gnu.org; Sun, 22 Jan 2023 15:09:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1pJgeE-0004vW-As for guix-patches@gnu.org; Sun, 22 Jan 2023 15:09:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1pJgeD-0005WS-Uc for guix-patches@gnu.org; Sun, 22 Jan 2023 15:09:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#61009] [PATCH] Building Icecat and jemalloc on aarch64-linux Resent-From: Roman Scherer <roman.scherer@burningswell.com> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 22 Jan 2023 20:09:01 +0000 Resent-Message-ID: <handler.61009.B.167441812621202@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 61009 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 61009@debbugs.gnu.org X-Debbugs-Original-To: Guix Patches <guix-patches@gnu.org> Received: via spool by submit@debbugs.gnu.org id=B.167441812621202 (code B ref -1); Sun, 22 Jan 2023 20:09:01 +0000 Received: (at submit) by debbugs.gnu.org; 22 Jan 2023 20:08:46 +0000 Received: from localhost ([127.0.0.1]:52680 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1pJgdw-0005Vt-4E for submit@debbugs.gnu.org; Sun, 22 Jan 2023 15:08:46 -0500 Received: from lists.gnu.org ([209.51.188.17]:40714) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <roman.scherer@burningswell.com>) id 1pJgdq-0005Vh-LC for submit@debbugs.gnu.org; Sun, 22 Jan 2023 15:08:42 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <roman.scherer@burningswell.com>) id 1pJgdq-0006Cj-1n for guix-patches@gnu.org; Sun, 22 Jan 2023 15:08:38 -0500 Received: from mail-ej1-x630.google.com ([2a00:1450:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <roman.scherer@burningswell.com>) id 1pJgdn-0004sp-MK for guix-patches@gnu.org; Sun, 22 Jan 2023 15:08:37 -0500 Received: by mail-ej1-x630.google.com with SMTP id az20so25831521ejc.1 for <guix-patches@gnu.org>; Sun, 22 Jan 2023 12:08:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=burningswell-com.20210112.gappssmtp.com; s=20210112; h=mime-version:message-id:date:subject:to:from:user-agent:from:to:cc :subject:date:message-id:reply-to; bh=BuIpt1XBXskrelt2qFEyEjezSgHF4LaDylKDsi+PaNU=; b=0qyFB/3g0SMUcBUqJhGu3EKNu9HYc/Q7Iu1ze/PrgtebZMTQEQ5HGSA1ANx0qSQpJM CxsCjtEfDoyIxPf/vR7Qw3ocXt3ECobe0TDLBHoo4SrVcUW9/lU75YG0qudBAqoVjVxH 0TlLHTcibeZfbjSR3A4bBZCkEOoKzyVsM7QIzkrX2n/h4DEVzrEeuJeQPMMhstd5lTst 7CIMsfa/h8y0bXqffhciT3fR0mMeh/C5w7o2OLXloH70+1eSTdQXWpUgKTzwmcJ9gF0U 8GBQO5O59nEGdSd+ayPhHTiHGmng8a+AK7++2k369DuEjy/lR0nc/qxQDJa/nFSN+hCc zghA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:subject:to:from:user-agent :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=BuIpt1XBXskrelt2qFEyEjezSgHF4LaDylKDsi+PaNU=; b=4LwpZRaf2TEdZOxwieGvvnfsSbRZmw1cMVxiuoQcIUEOGTSYTcRlSDanKf6YGKmYYl slWfs6TIVtBTtr4QQvBl2Vxvni7mapINTrXCEz7QZFYyKU09oma+0/EkCpZR7xuz6+xo eXb+ryMehiLo7IQWDezRADjw2ITT2ulBWYbwvvzt15eomIlgDTwEX2nQA8LYaracB38Y PJP8MzWuaaE46YXHsGG/8sOWiHa3HgsWSnR74OsHU7FN0Nwcg+ZhU7Bsldkalh+T6Oqe R+0Ti91gi3X8Qa42eybl/bh5ZFr1Kq18nXHoycJYsqQmR0VjX2yzMN50vS8cldylkNLC zT4Q== X-Gm-Message-State: AFqh2kpSoB/jpNf2LSxInoqfmehhaJMcmZgFGDrbVHR9fJZwGiEGKF7f 79M+FjZXU3xsrr9Q7IZxZmVyKqHaQFGsKA5eDx4= X-Google-Smtp-Source: AMrXdXv+6WFCnU4pQwPqcEm348nVal30ubOjaeq9aKlYhuZ9Gs60XqAQ//tYnaMiSKlb3HAyC3DG8w== X-Received: by 2002:a17:906:6d99:b0:870:58ae:842e with SMTP id h25-20020a1709066d9900b0087058ae842emr21796704ejt.24.1674418113442; Sun, 22 Jan 2023 12:08:33 -0800 (PST) Received: from precision (tmo-119-74.customers.d1-online.com. [80.187.119.74]) by smtp.gmail.com with ESMTPSA id c2-20020a17090618a200b0077a8fa8ba55sm21072595ejf.210.2023.01.22.12.08.32 for <guix-patches@gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Jan 2023 12:08:32 -0800 (PST) User-agent: mu4e 1.8.13; emacs 29.0.50 From: Roman Scherer <roman.scherer@burningswell.com> Date: Sun, 22 Jan 2023 21:06:43 +0100 Message-ID: <86ilgyuyc1.fsf@burningswell.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Received-SPF: none client-ip=2a00:1450:4864:20::630; envelope-from=roman.scherer@burningswell.com; helo=mail-ej1-x630.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches |
Series |
[bug#61009] Building Icecat and jemalloc on aarch64-linux
|
|
Commit Message
Roman Scherer
Jan. 22, 2023, 8:06 p.m. UTC
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
Comments
On Sun, Jan 22, 2023 at 09:06:43PM +0100, Roman Scherer wrote: > 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? Guix adheres to the Free System Distribution Guidelines, which explicitly forbids browsers with EME support: https://guix.gnu.org/en/about/ https://www.gnu.org/distros/free-system-distribution-guidelines.en.html Unfortunately, I don't know the answers to your other questions.
Hi Leo, thanks for your reply. Ok, I understand. I try to see if I can disable it in some other way then. Are you familiar with this? Do you have any tips to share? I think the v2 patches about transparent huge pages for jemalloc could still be an improvement, if it's a compatible change. It would enable the use of rust substitutes that depend on jemalloc on aarch64 that run with kernel pages > 4K. Roman Leo Famulari <leo@famulari.name> writes: > On Sun, Jan 22, 2023 at 09:06:43PM +0100, Roman Scherer wrote: >> 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? > > Guix adheres to the Free System Distribution Guidelines, which > explicitly forbids browsers with EME support: > > https://guix.gnu.org/en/about/ > https://www.gnu.org/distros/free-system-distribution-guidelines.en.html > > Unfortunately, I don't know the answers to your other questions.
On Mon, Feb 06, 2023 at 08:52:43PM +0100, Roman Scherer wrote: > thanks for your reply. Ok, I understand. I try to see if I can disable > it in some other way then. Are you familiar with this? Do you have any > tips to share? No, I don't have any specific knowledge about IceCat or aarch64. Mark Weaver is the primary maintainer of our IceCat package. It seems like a mistake that IceCat would require EME on a particular architecture. Maybe the name of the configure option has changed.
Alright, thanks Leo! Leo Famulari <leo@famulari.name> writes: > On Mon, Feb 06, 2023 at 08:52:43PM +0100, Roman Scherer wrote: >> thanks for your reply. Ok, I understand. I try to see if I can disable >> it in some other way then. Are you familiar with this? Do you have any >> tips to share? > > No, I don't have any specific knowledge about IceCat or aarch64. > > Mark Weaver is the primary maintainer of our IceCat package. > > It seems like a mistake that IceCat would require EME on a particular > architecture. Maybe the name of the configure option has changed.
Roman Scherer <roman.scherer@burningswell.com> writes: > Alright, thanks Leo! > > Leo Famulari <leo@famulari.name> writes: > >> On Mon, Feb 06, 2023 at 08:52:43PM +0100, Roman Scherer wrote: >>> thanks for your reply. Ok, I understand. I try to see if I can disable >>> it in some other way then. Are you familiar with this? Do you have any >>> tips to share? >> >> No, I don't have any specific knowledge about IceCat or aarch64. >> >> Mark Weaver is the primary maintainer of our IceCat package. >> >> It seems like a mistake that IceCat would require EME on a particular >> architecture. Maybe the name of the configure option has changed. I've pushed one of these patches now as 72ec11d24f34104efce0d91050a3faba4e2c7242. I missed any other patches that were sent to this issue. I think removing the --disable-eme option is OK on aarch64 as it's probably not an option since I'm guessing EME isn't available on aarch64. Anyway, Icecat looks to add these disable options by default so I'm not sure we need it for any architecture in the guix package.
Hi Christopher, thanks for applying the patch and for the explanation. Not sure what you meant by "missed". But, I sent an improved version of the jemalloc patches as a separate issue a while ago. They are here: https://lists.gnu.org/archive/html/guix-patches/2023-02/msg00698.html Without the jemalloc patches, Icecat and all other packages using jemalloc crash with the error `<jemalloc>: Unsupported system page size` on aarch64 systems that run with kernel page sizes > 4K. If you are familiar with this, I could need some help here as well ;) Thanks, Roman. Christopher Baines <mail@cbaines.net> writes: > [[PGP Signed Part:Undecided]] > > Roman Scherer <roman.scherer@burningswell.com> writes: > >> Alright, thanks Leo! >> >> Leo Famulari <leo@famulari.name> writes: >> >>> On Mon, Feb 06, 2023 at 08:52:43PM +0100, Roman Scherer wrote: >>>> thanks for your reply. Ok, I understand. I try to see if I can disable >>>> it in some other way then. Are you familiar with this? Do you have any >>>> tips to share? >>> >>> No, I don't have any specific knowledge about IceCat or aarch64. >>> >>> Mark Weaver is the primary maintainer of our IceCat package. >>> >>> It seems like a mistake that IceCat would require EME on a particular >>> architecture. Maybe the name of the configure option has changed. > > I've pushed one of these patches now as > 72ec11d24f34104efce0d91050a3faba4e2c7242. I missed any other patches > that were sent to this issue. > > I think removing the --disable-eme option is OK on aarch64 as it's > probably not an option since I'm guessing EME isn't available on > aarch64. Anyway, Icecat looks to add these disable options by default so > I'm not sure we need it for any architecture in the guix package. > > [[End of PGP Signed Part]]
Roman Scherer <roman.scherer@burningswell.com> writes: > Hi Christopher, > > thanks for applying the patch and for the explanation. > > Not sure what you meant by "missed". But, I sent an improved version of > the jemalloc patches as a separate issue a while ago. They are here: > > https://lists.gnu.org/archive/html/guix-patches/2023-02/msg00698.html > > Without the jemalloc patches, Icecat and all other packages using > jemalloc crash with the error `<jemalloc>: Unsupported system page size` > on aarch64 systems that run with kernel page sizes > 4K. > > If you are familiar with this, I could need some help here as well ;) Sending the jemalloc patch seperately sounds good. I'm going to mark this issue as done since that's tracked separately. I've replied to that separate issue, but I think that these changes may already be in place on core-updates. I'm going to have a go at merging master in to core-updates which should allow for testing icecat in core-updates with the changes I've merged in master.
From 71bf3cf7187de92f7974bedc2d0291a78a0754bc Mon Sep 17 00:00:00 2001 From: r0man <roman@burningswell.com> Date: Sun, 22 Jan 2023 19:33:13 +0100 Subject: [PATCH 3/3] gnu: icecat: Fix --disable-eme option on aarch64. * gnu/packages/gnuzilla.scm (icecat): Fix --disable-eme option on aarch64. --- gnu/packages/gnuzilla.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 23249791bb..95c8be5f1b 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -756,7 +756,8 @@ (define-public icecat "--disable-tests" "--disable-updater" "--disable-crashreporter" - "--disable-eme" + ;; The --disable-eme option is not available on aarch64. + #$(if (target-aarch64?) "" "--disable-eme") ;; Building with debugging symbols takes ~5GiB, so disable it. "--disable-debug" -- 2.38.1