2026-10-13 20:36 BST

View Issue Details [ Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002778NetSurf[All Projects] Generalpublic2026-10-05 22:52
ReporterMatheus 
Assigned To 
SeverityblockReproducibilityalways 
StatusresolvedResolutionfixed 
Platform5.4.46-1-ltsOSArch linuxOS Version--
Product Version3.10 
Target VersionFixed in Version3.11 
Summary0002778: "multiple definition of `fb_regular_sections'" When trying to build.
DescriptionJust trying to compile netsurf on arch (specially because I wanted framebuffer but the same happens if i use gtk as a target). I get both those make errors:

´´´
(...)

 COMPILE: content/handlers/html/box_textarea.c
 COMPILE: content/handlers/html/css.c
 COMPILE: content/handlers/html/css_fetcher.c
 COMPILE: content/handlers/html/dom_event.c
 COMPILE: content/handlers/html/font.c
 COMPILE: content/handlers/html/form.c
 COMPILE: content/handlers/html/forms.c
 COMPILE: content/handlers/html/html.c
content/handlers/html/html.c: In function ‘fire_dom_keyboard_event’:
content/handlers/html/html.c:187:8: warning: implicit declaration of function ‘dom_keyboard_event_create’; did you mean ‘dom_keyboard_event_init’? [-Wimplicit-function-declaration]
  187 | exc = dom_keyboard_event_create(&evt);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
      | dom_keyboard_event_init
content/handlers/html/html.c:187:8: warning: nested extern declaration of ‘dom_keyboard_event_create’ [-Wnested-externs]
content/handlers/html/html.c:195:37: error: macro "dom_keyboard_event_init" passed 14 arguments, but takes just 8
  195 | false, false, false, false, false);
      | ^
In file included from /usr/include/dom/events/events.h:15,
                 from /usr/include/dom/dom.h:100,
                 from ./utils/libdom.h:30,
                 from content/handlers/html/html.c:36:
/usr/include/dom/events/keyboard_event.h:70: note: macro "dom_keyboard_event_init" defined here
   70 | #define dom_keyboard_event_init(e, t, b, c, v, ki, kl, m) \
      |
content/handlers/html/html.c:193:8: error: ‘dom_keyboard_event_init’ undeclared (first use in this function); did you mean ‘_dom_keyboard_event_init’?
  193 | exc = dom_keyboard_event_init(evt, type, bubbles, cancelable, NULL,
      | ^~~~~~~~~~~~~~~~~~~~~~~
      | _dom_keyboard_event_init
content/handlers/html/html.c:193:8: note: each undeclared identifier is reported only once for each function it appears in
make: *** [Makefile:864: build/Linux-framebuffer/content_handlers_html_html.o] Error 1

´´´
Steps To Reproducegit clone https://github.com/netsurf-browser/netsurf.git
make
TagsNo tags attached.
Fixed in CI build #
Reported in CI build #
URL of problem page
Attached Files

-Relationships
+Relationships

-Notes
Sam James

~0002363

Sam James (reporter)

This was also reported downstream in Gentoo: https://bugs.gentoo.org/835379

It was fixed in https://git.netsurf-browser.org/netsurf.git/commit/?id=434f6c3fe7d1d2c6a3e6ae6338608a4a4421ab1b. Trivial backport to last release here: https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/netsurf/files/netsurf-3.10-gcc10-fno-common.patch?id=200f9dbf94b916f196fabdc523d56f5d7b8b32fa.
John-Mark Bell

~0002511

John-Mark Bell (administrator)

Issue in the summary was, indeed, resolved in NetSurf 3.11 (commit details in the comment above). The DOM binding errors in the description here are almost certainly the result of a mismatch between the NetSurf and libdom source trees being used. Unless building from a release tarball, it is essential that you're either building the HEAD of each repository, or have aligned the source trees in some other way.
+Notes

-Issue History
Date Modified Username Field Change
2020-06-18 22:50 Matheus New Issue
2022-03-16 19:30 Sam James Note Added: 0002363
2026-10-05 22:52 John-Mark Bell Status new => resolved
2026-10-05 22:52 John-Mark Bell Resolution open => fixed
2026-10-05 22:52 John-Mark Bell Fixed in Version => 3.11
2026-10-05 22:52 John-Mark Bell Description Updated View Revisions
2026-10-05 22:52 John-Mark Bell Note Added: 0002511
+Issue History