NetBSD Problem Report #58739
From john@shamshu.zia.io Thu Oct 10 23:24:31 2024
Return-Path: <john@shamshu.zia.io>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits)
client-signature RSA-PSS (2048 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id CD5931A923B
for <gnats-bugs@gnats.NetBSD.org>; Thu, 10 Oct 2024 23:24:31 +0000 (UTC)
Message-Id: <20241010220742.3F82B1E08AA4@shamshu.zia.io>
Date: Thu, 10 Oct 2024 22:07:42 +0000 (UTC)
From: john@ziaspace.com
Reply-To: john@ziaspace.com
To: gnats-bugs@NetBSD.org
Subject: pkgsrc/www/firefox does not compile on NetBSD/aarch64
X-Send-Pr-Version: 3.95
>Number: 58739
>Category: pkg
>Synopsis: pkgsrc/www/firefox does not compile on NetBSD/aarch64
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: ryoon
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Oct 10 23:25:00 +0000 2024
>Last-Modified: Mon Aug 18 05:16:00 +0000 2025
>Originator: John Klos
>Release: NetBSD 10.0_STABLE
>Organization:
>Environment:
System: NetBSD shamshu.zia.io 10.0_STABLE NetBSD 10.0_STABLE (GENERIC64) #0: Thu Aug 1 20:53:39 UTC 2024 john@shamshu.zia.io:/usr/obj-evbarm/sys/arch/evbarm/compile/GENERIC64 evbarm
Architecture: aarch64
Machine: evbarm
>Description:
When attempting to compile recent (130 and greater) firefox on aarch64,
the compile fails with:
ld: ../../../media/libyuv/libyuv/libyuv_libyuv/convert.o: in function `ARGBToI420':
convert.cc:(.text.ARGBToI420+0xf0): undefined reference to `ARGBToUVRow_SVE2'
ld: convert.cc:(.text.ARGBToI420+0xf8): undefined reference to `ARGBToUVRow_SVE2'
ld: ../../../media/libyuv/libyuv/libyuv_libyuv/convert.o: in function `BGRAToI420':
convert.cc:(.text.BGRAToI420+0xf0): undefined reference to `BGRAToUVRow_SVE2'
ld: convert.cc:(.text.BGRAToI420+0xf8): undefined reference to `BGRAToUVRow_SVE2'
ld: ../../../media/libyuv/libyuv/libyuv_libyuv/convert.o: in function `ABGRToI420':
and so on.
>How-To-Repeat:
Attempt to compile www/firefox on NetBSD/aarch64
>Fix:
SVE2 is not available on my machines, and I don't know why the SVE2
versions of functions is being referred to here.
Swapping the SVE2 functions with NEON ones works, though, and would work for
all aarch64 since NEON is a requirement for aarch64:
sed -i 's/_SVE2/_NEON/g' work/firefox-130.0.1/media/libyuv/libyuv/source/convert.cc
sed -i 's/_SVE2/_NEON/g' work/firefox-130.0.1/media/libyuv/libyuv/source/scale_argb.cc
sed -i 's/_SVE2/_NEON/g' work/firefox-130.0.1/media/libyuv/libyuv/source/convert_argb.cc
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: pkg-manager->ryoon
Responsible-Changed-By: wiz@NetBSD.org
Responsible-Changed-When: Fri, 11 Oct 2024 05:36:01 +0000
Responsible-Changed-Why:
Over to maintainer
From: "John Klos" <jklos@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58739 CVS commit: pkgsrc/www/firefox
Date: Mon, 23 Dec 2024 00:52:25 +0000
Module Name: pkgsrc
Committed By: jklos
Date: Mon Dec 23 00:52:25 UTC 2024
Modified Files:
pkgsrc/www/firefox: mozilla-common.mk
Log Message:
PR pkg/58739
Replace _SVE2 aarch64 functions with _NEON.
To generate a diff of this commit:
cvs rdiff -u -r1.289 -r1.290 pkgsrc/www/firefox/mozilla-common.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: PHO <pho@cielonegro.org>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: pkg/58739
Date: Mon, 18 Aug 2025 13:36:44 +0900
There is something wrong in the upstream code. When the build system
detects that the assembler on the build machine cannot do SVE2, it
correctly suppresses compiling functions like I444ToARGBRow_SVE2().
However, it fails to tell potential users of those functions to not use
the SVE2 implementation, which results in references to missing symbols.
We don't know the cause of this but jklos@'s hack works fine.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2025
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.