NetBSD Problem Report #55456
From tsutsui@ceres.dti.ne.jp Sat Jul 4 14:09:18 2020
Return-Path: <tsutsui@ceres.dti.ne.jp>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 9835A1A9218
for <gnats-bugs@gnats.NetBSD.org>; Sat, 4 Jul 2020 14:09:18 +0000 (UTC)
Message-Id: <202007041409.064E98vZ012918@ceres.dti.ne.jp>
Date: Sat, 4 Jul 2020 23:09:08 +0900 (JST)
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
Reply-To: tsutsui@ceres.dti.ne.jp
To: gnats-bugs@NetBSD.org
Cc: tsutsui@ceres.dti.ne.jp
Subject: pkgsrc/www/firefox 78.0 build failure on NetBSD/i386 9.0
X-Send-Pr-Version: 3.95
>Number: 55456
>Category: pkg
>Synopsis: pkgsrc/www/firefox 78.0 build failure on NetBSD/i386 9.0
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: ryoon
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Jul 04 14:10:01 +0000 2020
>Closed-Date: Mon Jul 13 15:46:39 +0000 2020
>Last-Modified: Mon Jul 13 15:46:39 +0000 2020
>Originator: Izumi Tsutsui
>Release: NetBSD 9.0
>Organization:
>Environment:
System: NetBSD mirage 9.0 NetBSD 9.0 (GENERIC) #23: Wed May 13 04:08:16 JST 2020 tsutsui@mirage:/s/netbsd-9/src/sys/arch/i386/compile/GENERIC i386
Architecture: i386
Machine: i386
>Description:
pkgsrc/www/firefox 78.0 build fails on NetBSD/i386 9.0:
---
gmake[3]: Entering directory '/s/obj.i386/pkgsrc/www/firefox/work.i386/build/js/xpconnect/shell'
js/xpconnect/shell/xpcshell
/s/obj.i386/pkgsrc/www/firefox/work.i386/.cwrapper/bin/c++ -std=gnu++17 -o ../../../dist/bin/xpcshell -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/nspr -I/usr/pkg/include/nss/nss -I/usr/X11R7/include -I/usr/X11R7/include/libdrm -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/ffmpeg4 -I/usr/X11R7/include/freetype2 -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Wunused-function -Wunused-variable -Wstring-conversion -Wtautological-overlap-compare -Wtautologic!
al-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=tautological-type-limit-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wno-error=deprecated-copy -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -fno-sized-deallocation -fno-aligned-new -O2 -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS -D_FORTIFY_SOURCE=2 -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/nspr -I/usr/pkg/include/nss/nss -I/usr/X11R7/include -I/usr/X11R7/include/libdrm -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/ffmpeg4 -I/usr/X11R7/include/freetype2 -march=i586 -mstackrealign -fno-exceptions -fno-strict-aliasing -Dunix -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -O2 -fomit-frame-pointer -funwind-tables /s/ob!
j.i386/pkgsrc/www/firefox/work.i386/build/js/xpconnect/shell/x!
pcshell.list -lpthread -Wl,-R/usr/pkg/lib/firefox -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib/nspr -Wl,-R/usr/pkg/lib/nspr -L/usr/pkg/lib/nss -Wl,-R/usr/pkg/lib/nss -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib -L/usr/pkg/lib/ffmpeg4 -Wl,-R/usr/pkg/lib/ffmpeg4 -L/usr/pkg/lib/pulseaudio -Wl,-R/usr/pkg/lib/pulseaudio -Wl,-z,noexecstack -Wl,-z,text -Wl,-z,relro -Wl,-z,nocopyreloc -Wl,-Bsymbolic-functions -Wl,--build-id=sha1 -fstack-protector-strong -rdynamic -Wl,-rpath-link,/s/obj.i386/pkgsrc/www/firefox/work.i386/build/dist/bin -Wl,-rpath-link,/usr/pkg/lib -Wl,--export-dynamic -pie ../../../toolkit/library/build/libxul.so -L/usr/pkg/lib/nspr -Wl,-R/usr/pkg/lib/nspr -lplds4 -lplc4 -lnspr4 -L/usr/pkg/lib -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -Wl,-R/usr/pkg/lib -lglib-2.0 -lintl
/usr/bin/ld: ../../toolkit/library/build/libxul.so: undefined reference to `__atomic_load'
/usr/bin/ld: ../../../toolkit/library/build/libxul.so: undefined reference to `__atomic_load'
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[3]: *** [/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/config/rules.mk:460: ../../../dist/bin/xpcshell] Error 1
gmake[3]: Leaving directory '/s/obj.i386/pkgsrc/www/firefox/work.i386/build/js/xpconnect/shell'
gmake[3]: *** [/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/config/rules.mk:460: ../../dist/bin/plugin-container] Error 1
gmake[3]: Leaving directory '/s/obj.i386/pkgsrc/www/firefox/work.i386/build/ipc/app'
gmake[2]: *** [/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/config/recurse.mk:74: js/xpconnect/shell/target] Error 2
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: *** [/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/config/recurse.mk:74: ipc/app/target] Error 2
gmake[2]: Leaving directory '/s/obj.i386/pkgsrc/www/firefox/work.i386/build'
gmake[1]: *** [/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/config/recurse.mk:34: compile] Error 2
gmake[1]: Leaving directory '/s/obj.i386/pkgsrc/www/firefox/work.i386/build'
gmake: *** [/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/config/rules.mk:390: all] Error 2
*** Error code 2
Stop.
make[2]: stopped in /usr/pkgsrc/www/firefox
*** Error code 1
Stop.
make[1]: stopped in /usr/pkgsrc/www/firefox
*** Error code 1
---
__atomic_load() comes from ./build/dom/media/Unified_cpp_dom_media8.cpp
and it includes various files with atomic ops.
---
#define MOZ_UNIFIED_BUILD
#include "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaStreamTrack.cpp"
#ifdef PL_ARENA_CONST_ALIGN_MASK
#error "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaStreamTrack.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
#undef PL_ARENA_CONST_ALIGN_MASK
#endif
#ifdef INITGUID
#error "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaStreamTrack.cpp defines INITGUID, so it cannot be built in unified mode."
#undef INITGUID
#endif
#include "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaStreamWindowCapturer.cpp"
#ifdef PL_ARENA_CONST_ALIGN_MASK
#error "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaStreamWindowCapturer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
#undef PL_ARENA_CONST_ALIGN_MASK
#endif
#ifdef INITGUID
#error "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaStreamWindowCapturer.cpp defines INITGUID, so it cannot be built in unified mode."
#undef INITGUID
#endif
#include "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaTimer.cpp"
#ifdef PL_ARENA_CONST_ALIGN_MASK
#error "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaTimer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
#undef PL_ARENA_CONST_ALIGN_MASK
#endif
#ifdef INITGUID
#error "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaTimer.cpp defines INITGUID, so it cannot be built in unified mode."
#undef INITGUID
#endif
#include "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaTrack.cpp"
#ifdef PL_ARENA_CONST_ALIGN_MASK
#error "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaTrack.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
#undef PL_ARENA_CONST_ALIGN_MASK
#endif
#ifdef INITGUID
#error "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaTrack.cpp defines INITGUID, so it cannot be built in unified mode."
#undef INITGUID
#endif
#include "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaTrackGraph.cpp"
#ifdef PL_ARENA_CONST_ALIGN_MASK
#error "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaTrackGraph.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
#undef PL_ARENA_CONST_ALIGN_MASK
#endif
#ifdef INITGUID
#error "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaTrackGraph.cpp defines INITGUID, so it cannot be built in unified mode."
#undef INITGUID
#endif
#include "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaTrackList.cpp"
#ifdef PL_ARENA_CONST_ALIGN_MASK
#error "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaTrackList.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
#undef PL_ARENA_CONST_ALIGN_MASK
#endif
#ifdef INITGUID
#error "/s/obj.i386/pkgsrc/www/firefox/work.i386/firefox-78.0/dom/media/MediaTrackList.cpp defines INITGUID, so it cannot be built in unified mode."
#undef INITGUID
#endif
---
>How-To-Repeat:
Build pkgsrc/www/firefox on NetBSD/i386 9.0.
>Fix:
No idea. Avoid assuming gcc builtin __atomic_load()?
>Release-Note:
>Audit-Trail:
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
To: gnats-bugs@netbsd.org
Cc: tsutsui@ceres.dti.ne.jp
Subject: Re: pkg/55456: pkgsrc/www/firefox 78.0 build failure on NetBSD/i386
9.0
Date: Wed, 8 Jul 2020 23:14:22 +0900
The following kludge works around for firefox 78.0.1.
---
Index: mozilla-common.mk
===================================================================
RCS file: /cvsroot/pkgsrc/www/firefox/mozilla-common.mk,v
retrieving revision 1.174
diff -u -p -r1.174 mozilla-common.mk
--- mozilla-common.mk 1 Jul 2020 13:01:01 -0000 1.174
+++ mozilla-common.mk 7 Jul 2020 16:26:01 -0000
@@ -210,6 +210,10 @@ PLIST_SUBST+= DLL_SUFFIX=".dylib"
PLIST_SUBST+= DLL_SUFFIX=".so"
.endif
+.if ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "i386"
+.include "../../devel/libatomic/buildlink3.mk"
+CONFIGURE_ENV.NetBSD+= ac_cv_needs_atomic=yes
+.endif
BUILDLINK_API_DEPENDS.libevent+= libevent>=1.1
.include "../../devel/libevent/buildlink3.mk"
.include "../../devel/libffi/buildlink3.mk"
---
Izumi Tsutsui
Responsible-Changed-From-To: pkg-manager->ryoon
Responsible-Changed-By: bsiegert@NetBSD.org
Responsible-Changed-When: Wed, 08 Jul 2020 17:47:52 +0000
Responsible-Changed-Why:
Over to maintainer.
From: "Ryo ONODERA" <ryoon@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/55456 CVS commit: pkgsrc/www/firefox
Date: Sun, 12 Jul 2020 01:37:50 +0000
Module Name: pkgsrc
Committed By: ryoon
Date: Sun Jul 12 01:37:50 UTC 2020
Modified Files:
pkgsrc/www/firefox: Makefile distinfo mozilla-common.mk
Log Message:
firefox: Update to 78.0.2
* Fix build under NetBSD/i386 with PR pkg/55456.
Changelog:
Fixed
Security fix
Fixed an accessibility regression in reader mode (bug 1650922)
Made the address bar more resilient to data corruption in the user profile (bug 1649981)
Fixed a regression opening certain external applications (bug 1650162)
Security fix:
#MFSA-2020-0003: X-Frame-Options bypass using object or embed tags
To generate a diff of this commit:
cvs rdiff -u -r1.437 -r1.438 pkgsrc/www/firefox/Makefile
cvs rdiff -u -r1.402 -r1.403 pkgsrc/www/firefox/distinfo
cvs rdiff -u -r1.174 -r1.175 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.
State-Changed-From-To: open->feedback
State-Changed-By: ryoon@NetBSD.org
State-Changed-When: Sun, 12 Jul 2020 01:47:06 +0000
State-Changed-Why:
Could you try www/firefox-78.0.2 with your patch?
State-Changed-From-To: feedback->closed
State-Changed-By: tsutsui@NetBSD.org
State-Changed-When: Mon, 13 Jul 2020 15:46:39 +0000
State-Changed-Why:
78.0.2 builds and works fine.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.