Browser 28.16.0 Linux ARM64 build

For contributed third party builds not necessarily configured like the main product.
e.g. AVX builds, SSE builds, Pandora builds.
User avatar
avalos
Moongazer
Moongazer
Posts: 12
Joined: 2020-11-11, 22:59
Location: Mexico
Contact:

Browser 28.16.0 Linux ARM64 build

Unread post by avalos » 2020-11-25, 02:37

Hello! I built Browser (unofficial branding) 28.16.0 for Linux ARM64. It's mostly official-like, except for gconf disabled (there's no gconf in Manjaro ARM), GTK+3 and unofficial branding. I hope you find it useful!

Download

This is the .mozconfig file I used:

Code: Select all

# Clear this if not a 64bit build
_BUILD_64=1

# Set GTK Version to 2 or 3
_GTK_VERSION=3

# Standard build options for Pale Moon
ac_add_options --enable-application=palemoon
ac_add_options --enable-optimize="-O2 -w"
ac_add_options --enable-default-toolkit=cairo-gtk$_GTK_VERSION
ac_add_options --enable-jemalloc
ac_add_options --enable-strip
ac_add_options --enable-devtools
ac_add_options --disable-eme
ac_add_options --disable-webrtc
ac_add_options --disable-gamepad
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-necko-wifi
ac_add_options --disable-updater
ac_add_options --disable-gconf
ac_add_options --with-pthreads

# Please see https://www.palemoon.org/redist.shtml for restrictions when using the official branding.
# ac_add_options --enable-official-branding
export MOZILLA_OFFICIAL=1

# For versions after 28.12.0
ac_add_options --enable-phoenix-extensions

# Processor architecure specific build options
if [ -n "$_BUILD_64" ]; then
  ac_add_options --x-libraries=/usr/lib64
else
  ac_add_options --x-libraries=/usr/lib
fi

export MOZ_PKG_SPECIAL=gtk$_GTK_VERSION

User avatar
d83hlka3
Moongazer
Moongazer
Posts: 14
Joined: 2021-08-08, 17:33

Re: Browser 28.16.0 Linux ARM64 build

Unread post by d83hlka3 » 2021-08-08, 17:53

Thanks for your .mozconfig. It gets me partially through ./mach build whereas the mozconfig given by palemoon linux development page errors before even compiling.

What gtk version did you use? I get error: ‘GtkObject’ has no member named ‘flags’

i had to disable in mozconfig:

#ac_add_options --enable-phoenix-extensions

I have devuan ceres with
  • gcc version 10.2.1 20210110
    Python 2.7.18
    libgtk2.0-dev 2.24.33-2
error:

Code: Select all

46:35.91 /usr/include/gtk-2.0/gtk/gtkinputdialog.h:74:14: error: duplicate member ‘GSEAL’
46:35.92    74 |   GtkWidget *GSEAL (keys_listbox);
46:35.92       |              ^~~~~
46:35.93 /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c: In function ‘gtk_xtbin_new’:
46:35.93 /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c:265:27: error: ‘GdkVisual’ has no member named ‘depth’
46:35.93   265 |       gdk_rgb_get_visual()->depth);
46:35.93       |                           ^~
46:35.94 /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c:295:47: error: ‘GtkWidget’ has no member named ‘window’
46:35.94   295 |   gdk_window_set_back_pixmap(GTK_WIDGET(xtbin)->window, NULL, FALSE);
46:35.94       |                                               ^~
46:35.94 In file included from /usr/include/gtk-2.0/gtk/gtkwidget.h:36,
46:35.95                  from /media/sources/Browser/Pale-Moon/platform/widget/gtk/compat/gtk/gtkwidget.h:12,
46:35.95                  from /usr/include/gtk-2.0/gtk/gtkcontainer.h:35,
46:35.95                  from /usr/include/gtk-2.0/gtk/gtkbin.h:35,
46:35.95                  from /usr/include/gtk-2.0/gtk/gtkwindow.h:36,
46:35.95                  from /media/sources/Browser/Pale-Moon/platform/widget/gtk/compat/gtk/gtkwindow.h:10,
46:35.96                  from /usr/include/gtk-2.0/gtk/gtkdialog.h:35,
46:35.96                  from /usr/include/gtk-2.0/gtk/gtkaboutdialog.h:32,
46:35.96                  from /usr/include/gtk-2.0/gtk/gtk.h:33,
46:35.96                  from /media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/dist/system_wrappers/gtk/gtk.h:3,
46:35.97                  from /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.h:10,
46:35.97                  from /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c:13:
46:35.97 /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c: In function ‘gtk_xtbin_unrealize’:
46:35.97 /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c:315:3: error: ‘GtkObject’ has no member named ‘flags’
46:35.98   315 |   GTK_WIDGET_UNSET_FLAGS (widget, GTK_VISIBLE);
46:35.98       |   ^~~~~~~~~~~~~~~~~~~~~~
46:35.98 /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c:316:7: error: ‘GtkObject’ has no member named ‘flags’
46:35.98   316 |   if (GTK_WIDGET_REALIZED (widget)) {
46:35.99       |       ^~~~~~~~~~~~~~~~~~~
46:36.01 
46:36.03 In the directory  /media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/widget/gtkxtbin
46:36.04 The following command failed to execute properly:
46:36.05 /usr/bin/gcc -std=gnu99 -o gtk2xtbin.o -c -I/media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/dist/system_wrappers -include /media/sources/Browser/Pale-Moon/platform/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -D_IMPL_GTKXTBIN_API -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin -I/media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/widget/gtkxtbin -I/media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/dist/include -I/media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/dist/include/nspr -I/media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/dist/include/nss -fPIC -include /media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/mozilla-config.h -DMOZILLA_CLIENT -MD -MP -MF .deps/gtk2xtbin.o.pp -O2 -ffast-math -ftree-vectorize -fno-strict-overflow -funsafe-math-optimizations -march=armv8-a+crypto+crc+aes+sha2 -Wall -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=multistatement-macros -flifetime-dse=1 -O2 -ffast-math -ftree-vectorize -fno-strict-overflow -funsafe-math-optimizations -march=armv8-a+crypto+crc+aes+sha2 -fno-strict-aliasing -fno-math-errno -pthread -pipe -g -O2 -w -fomit-frame-pointer -I/media/sources/Browser/Pale-Moon/platform/widget/gtk/compat -pthread -I/usr/local/include/libpng17 -I/usr/include/gtk-2.0 -I/usr/include/gtk-unix-print-2.0 -I/usr/include/gtk-2.0 -I/usr/include/atk-1.0 -I/usr/include/gtk-2.0 -I/usr/lib/aarch64-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c
46:36.05 gmake[5]: *** [/media/sources/Browser/Pale-Moon/platform/config/rules.mk:849: gtk2xtbin.o] Error 1
46:36.06 gmake[4]: *** [/media/sources/Browser/Pale-Moon/platform/config/recurse.mk:71: widget/gtkxtbin/target] Error 2

User avatar
d83hlka3
Moongazer
Moongazer
Posts: 14
Joined: 2021-08-08, 17:33

Re: Browser 28.16.0 Linux ARM64 build

Unread post by d83hlka3 » 2021-08-08, 19:10

This error was apparently caused by new debian 'make'. Setting

mk_add_options MOZ_MAKE_FLAGS="-j1"

In .mozconfig resolved the problem.

User avatar
d83hlka3
Moongazer
Moongazer
Posts: 14
Joined: 2021-08-08, 17:33

Re: Browser 28.16.0 Linux ARM64 build

Unread post by d83hlka3 » 2021-08-09, 00:09

My libgtk3 is
Package: libgtk-3-0
Version: 3.24.24-4

Build errors out at the same part, just ended up building other stuff for a couple of hours before hitting it.
Why is it pulling in gtk2 stuff?

Code: Select all

136:31.03 /usr/include/gtk-2.0/gtk/gtkinputdialog.h:74:14: error: duplicate member ‘GSEAL’
136:31.03    74 |   GtkWidget *GSEAL (keys_listbox);
136:31.03       |              ^~~~~
136:31.03 /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c: In function ‘gtk_xtbin_new’:
136:31.03 /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c:265:27: error: ‘GdkVisual’ has no member named ‘depth’
136:31.03   265 |       gdk_rgb_get_visual()->depth);
136:31.03       |                           ^~
136:31.03 /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c:295:47: error: ‘GtkWidget’ has no member named ‘window’
136:31.04   295 |   gdk_window_set_back_pixmap(GTK_WIDGET(xtbin)->window, NULL, FALSE);
136:31.04       |                                               ^~
136:31.04 In file included from /usr/include/gtk-2.0/gtk/gtkwidget.h:36,
136:31.06                  from /media/sources/Browser/Pale-Moon/platform/widget/gtk/compat/gtk/gtkwidget.h:12,
136:31.06                  from /usr/include/gtk-2.0/gtk/gtkcontainer.h:35,
136:31.06                  from /usr/include/gtk-2.0/gtk/gtkbin.h:35,
136:31.06                  from /usr/include/gtk-2.0/gtk/gtkwindow.h:36,
136:31.06                  from /media/sources/Browser/Pale-Moon/platform/widget/gtk/compat/gtk/gtkwindow.h:10,
136:31.06                  from /usr/include/gtk-2.0/gtk/gtkdialog.h:35,
136:31.06                  from /usr/include/gtk-2.0/gtk/gtkaboutdialog.h:32,
136:31.06                  from /usr/include/gtk-2.0/gtk/gtk.h:33,
136:31.06                  from /media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/dist/system_wrappers/gtk/gtk.h:3,
136:31.06                  from /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.h:10,
136:31.06                  from /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c:13:
136:31.06 /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c: In function ‘gtk_xtbin_unrealize’:
136:31.07 /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c:315:3: error: ‘GtkObject’ has no member named ‘flags’
136:31.07   315 |   GTK_WIDGET_UNSET_FLAGS (widget, GTK_VISIBLE);
136:31.07       |   ^~~~~~~~~~~~~~~~~~~~~~
136:31.07 /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c:316:7: error: ‘GtkObject’ has no member named ‘flags’
136:31.07   316 |   if (GTK_WIDGET_REALIZED (widget)) {
136:31.07       |       ^~~~~~~~~~~~~~~~~~~
136:31.07 
136:31.07 In the directory  /media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/widget/gtkxtbin
136:31.07 The following command failed to execute properly:
136:31.07 /usr/bin/gcc -std=gnu99 -o gtk2xtbin.o -c -I/media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/dist/system_wrappers -include /media/sources/Browser/Pale-Moon/platform/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -D_IMPL_GTKXTBIN_API -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin -I/media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/widget/gtkxtbin -I/media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/dist/include -I/media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/dist/include/nspr -I/media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/dist/include/nss -fPIC -include /media/sources/Browser/Pale-Moon/obj-aarch64-unknown-linux-gnu/mozilla-config.h -DMOZILLA_CLIENT -MD -MP -MF .deps/gtk2xtbin.o.pp -O2 -ffast-math -ftree-vectorize -fno-strict-overflow -funsafe-math-optimizations -march=armv8-a+crypto+crc+aes+sha2 -Wall -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=multistatement-macros -flifetime-dse=1 -O2 -ffast-math -ftree-vectorize -fno-strict-overflow -funsafe-math-optimizations -march=armv8-a+crypto+crc+aes+sha2 -fno-strict-aliasing -fno-math-errno -pthread -pipe -g -O2 -w -fomit-frame-pointer -I/media/sources/Browser/Pale-Moon/platform/widget/gtk/compat -pthread -I/usr/local/include/libpng17 -I/usr/include/gtk-2.0 -I/usr/include/gtk-unix-print-2.0 -I/usr/include/gtk-2.0 -I/usr/include/atk-1.0 -I/usr/include/gtk-2.0 -I/usr/lib/aarch64-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include /media/sources/Browser/Pale-Moon/platform/widget/gtkxtbin/gtk2xtbin.c
136:31.07 gmake[5]: *** [/media/sources/Browser/Pale-Moon/platform/config/rules.mk:849: gtk2xtbin.o] Error 1
136:31.07 gmake[4]: *** [/media/sources/Browser/Pale-Moon/platform/config/recurse.mk:71: widget/gtkxtbin/target] Error 2
136:31.07 gmake[3]: *** [/media/sources/Browser/Pale-Moon/platform/config/recurse.mk:33: compile] Error 2
136:31.08 gmake[2]: *** [/media/sources/Browser/Pale-Moon/platform/config/rules.mk:493: default] Error 2
136:31.08 gmake[1]: *** [/media/sources/Browser/Pale-Moon/client.mk:406: realbuild] Error 2
136:31.08 gmake: *** [client.mk:164: build] Error 2
136:31.10 0 compiler warnings present.
136:31.63 Notification center failed: The name org.freedesktop.Notifications was not provided by any .service files
(i intend this just as a build for my own use)

vannilla
Board Warrior
Board Warrior
Posts: 1783
Joined: 2018-05-05, 13:29

Re: Browser 28.16.0 Linux ARM64 build

Unread post by vannilla » 2021-08-09, 01:25

d83hlka3 wrote:
2021-08-09, 00:09
Why is it pulling in gtk2 stuff?
Mostly it's support for GTK2 plugins, which are the majority of the plugins available for Linux, if not all of them.

User avatar
New Tobin Paradigm
Knows the dark side
Knows the dark side
Posts: 10538
Joined: 2012-10-09, 19:37
Location: The Seriphia Galaxy

Re: Browser 28.16.0 Linux ARM64 build

Unread post by New Tobin Paradigm » 2021-08-09, 01:39

It is exclusively to support NPAPI plugins built against GTK2. Else they wouldn't run on GTK3 builds. This dependency will be conditionally broken going forward as GTK2 is dropped from distro repositories or bitrots into oblivion. Not that we have any current plans drop our GTK2 support and as long as the GTK2 support exists even when the dependency is broken for GTK3 builds it will be a build flag.
Of course, all these failures mount up and could easily end up costing more collectively than paying a proper rage would.
Image

User avatar
d83hlka3
Moongazer
Moongazer
Posts: 14
Joined: 2021-08-08, 17:33

Re: Browser 28.16.0 Linux ARM64 build

Unread post by d83hlka3 » 2021-08-09, 07:28

Thanks for replies. I had builds working last year but will use Steve's for now.

User avatar
New Tobin Paradigm
Knows the dark side
Knows the dark side
Posts: 10538
Joined: 2012-10-09, 19:37
Location: The Seriphia Galaxy

Re: Browser 28.16.0 Linux ARM64 build

Unread post by New Tobin Paradigm » 2021-08-09, 07:54

That was last year. This is this year.
Of course, all these failures mount up and could easily end up costing more collectively than paying a proper rage would.
Image

Post Reply