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:

NetBSD Home
NetBSD PR Database Search

(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.