MantisBT - NetSurf
View Issue Details
0002752NetSurfDevelopmentpublic2020-04-19 22:342020-05-27 09:01
ReporterKrsna 
Assigned ToDaniel Silverstone 
PrioritynormalSeverityblockReproducibilityalways
StatusclosedResolutionfixed 
Platformx86_64OSVoid LinuxOS VersionKernel 5.6.3_1
Product Version3.10 
Target Version3.10Fixed in Version3.10 
Fixed in CI build #
Reported in CI build #
URL of problem page
Summary0002752: Building latest fails "dom_keyboard_event_init" as well as linker
DescriptionUsing 084861a31b885c52d87ea0a3d99ebe42af27a713. Issuing a `make` gets:
```
content/handlers/html/html.c: In function 'fire_dom_keyboard_event':
content/handlers/html/html.c:180:8: warning: implicit declaration of function 'dom_keyboard_event_create'; did you mean 'dom_keyboard_event_init'? [-Wimplicit-function-declaration]
  180 | exc = dom_keyboard_event_create(&evt);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
      | dom_keyboard_event_init
content/handlers/html/html.c:180:8: warning: nested extern declaration of 'dom_keyboard_event_create' [-Wnested-externs]
content/handlers/html/html.c:188:37: error: macro "dom_keyboard_event_init" passed 14 arguments, but takes just 8
  188 | 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:186:8: error: 'dom_keyboard_event_init' undeclared (first use in this function); did you mean '_dom_keyboard_event_init'?
  186 | exc = dom_keyboard_event_init(evt, type, bubbles, cancelable, NULL,
      | ^~~~~~~~~~~~~~~~~~~~~~~
      | _dom_keyboard_event_init
content/handlers/html/html.c:186:8: note: each undeclared identifier is reported only once for each function it appears in
make: *** [Makefile:864: build/Linux-gtk3/content_handlers_html_html.o] Error 1
```
Note on libdom version `pkgver: libdom-devel-0.4.0_1`
After fixing up the number of parameters it builds but fails at the linker with:
```
utils/ssl_certs.c:143:12: warning: nested extern declaration of 'nsu_base64_decode_alloc_url' [-Wnested-externs]
 COMPILE: utils/talloc.c
 COMPILE: utils/time.c
 COMPILE: utils/url.c
 COMPILE: utils/useragent.c
 COMPILE: utils/utf8.c
 COMPILE: utils/utils.c
    LINK: nsgtk3
/usr/bin/ld: build/Linux-gtk3/desktop_browser_window.o: in function `browser_window_show_certificates':
/home/user/netsurf/desktop/browser_window.c:4802: undefined reference to `nsu_base64_encode_url'
/usr/bin/ld: build/Linux-gtk3/build_Linux-gtk3_duktape_element.o: in function `dukky_element_innerHTML_setter':
/home/user/netsurf/Element.bnd:425: undefined reference to `dom_hubbub_fragment_parser_create'
/usr/bin/ld: build/Linux-gtk3/build_Linux-gtk3_duktape_keyboard_event.o: in function `dukky_keyboard_event_location_getter':
/home/user/netsurf/KeyboardEvent.bnd:48: undefined reference to `dom_keyboard_event_get_location'
/usr/bin/ld: build/Linux-gtk3/build_Linux-gtk3_duktape_keyboard_event.o: in function `dukky_keyboard_event_code_getter':
/home/user/netsurf/KeyboardEvent.bnd:33: undefined reference to `dom_keyboard_event_get_code'
/usr/bin/ld: build/Linux-gtk3/build_Linux-gtk3_duktape_keyboard_event.o: in function `dukky_keyboard_event_key_getter':
/home/user/netsurf/KeyboardEvent.bnd:18: undefined reference to `dom_keyboard_event_get_key'
/usr/bin/ld: build/Linux-gtk3/content_fetchers_curl.o: in function `fetch_curl_header':
/home/user/netsurf/content/fetchers/curl.c:1568: undefined reference to `fetch_curl_report_certs_upstream'
/usr/bin/ld: build/Linux-gtk3/content_handlers_html_html.o: in function `fire_dom_keyboard_event':
/home/user/netsurf/content/handlers/html/html.c:180: undefined reference to `dom_keyboard_event_create'
/usr/bin/ld: build/Linux-gtk3/content_llcache.o: in function `llcache_serialise_metadata':
/home/user/netsurf/content/llcache.c:1384: undefined reference to `nsu_base64_encode'
/usr/bin/ld: build/Linux-gtk3/desktop_netsurf.o: in function `netsurf_exit':
/home/user/netsurf/desktop/netsurf.c:275: undefined reference to `dom_namespace_finalise'
/usr/bin/ld: build/Linux-gtk3/utils_ssl_certs.o: in function `process_query_section':
/home/user/netsurf/utils/ssl_certs.c:143: undefined reference to `nsu_base64_decode_alloc_url'
collect2: error: ld returned 1 exit status
make: *** [Makefile:715: nsgtk3] Error 1
```
I thought this might be an issue because Void Linux uses libreSSL, even though 3.9 builds fine, so I tried setting `NETSURF_USE_OPENSSL` to `NO`. Did a `make clean && make` and got the same thing.
Steps To Reproduce1. git clone https://git.netsurf-browser.org/netsurf.git
2. make
TagsNo tags attached.
Attached Files

Notes
(0002184)
Krsna   
2020-04-25 08:08   
Don't know how to edit original issue so adding this note:
The issue above is due to not having `libnsutils`. This is not installed/setup via the quick start nor did I find it mentioned anywhere obvious. I would create a patch to address this issue, but this issue has not received any attention and don't know how much this is being looked at.
(0002192)
Daniel Silverstone   
2020-05-22 10:47   
Fixed only actual bug here which was `fetch_curl_report_certs_upstream` was in the wrong place
(0002216)
Vincent Sanders   
2020-05-27 09:01   
Thankyou for reporting this issue.
We believe this is fixed in the 3.10 release.
If this is not the case please feel free to reopen the issue with additional details.

Issue History
2020-04-19 22:34KrsnaNew Issue
2020-04-25 08:08KrsnaNote Added: 0002184
2020-05-21 21:32Daniel SilverstoneAssigned To => Daniel Silverstone
2020-05-21 21:32Daniel SilverstoneStatusnew => acknowledged
2020-05-22 10:47Daniel SilverstoneStatusacknowledged => resolved
2020-05-22 10:47Daniel SilverstoneResolutionopen => fixed
2020-05-22 10:47Daniel SilverstoneFixed in Version => 3.10
2020-05-22 10:47Daniel SilverstoneNote Added: 0002192
2020-05-23 09:46Vincent SandersProduct Version => 3.10
2020-05-23 09:46Vincent SandersTarget Version => 3.10
2020-05-27 09:01Vincent SandersStatusresolved => closed
2020-05-27 09:01Vincent SandersNote Added: 0002216