2024-04-20 08:40 BST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002752NetSurfDevelopmentpublic2020-06-18 22:43
ReporterKrsna 
Assigned ToDaniel Silverstone 
SeverityblockReproducibilityalways 
StatusclosedResolutionfixed 
Platformx86_64OSVoid LinuxOS VersionKernel 5.6.3_1
Product Version3.10 
Target Version3.10Fixed in Version3.10 
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.
Fixed in CI build #
Reported in CI build #
URL of problem page
Attached Files

-Relationships
+Relationships

-Notes
Krsna

~0002184

Krsna (reporter)

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.
Daniel Silverstone

~0002192

Daniel Silverstone (administrator)

Fixed only actual bug here which was `fetch_curl_report_certs_upstream` was in the wrong place
Vincent Sanders

~0002216

Vincent Sanders (administrator)

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.
+Notes

-Issue History
Date Modified Username Field Change
2020-04-19 22:34 Krsna New Issue
2020-04-25 08:08 Krsna Note Added: 0002184
2020-05-21 21:32 Daniel Silverstone Assigned To => Daniel Silverstone
2020-05-21 21:32 Daniel Silverstone Status new => acknowledged
2020-05-22 10:47 Daniel Silverstone Status acknowledged => resolved
2020-05-22 10:47 Daniel Silverstone Resolution open => fixed
2020-05-22 10:47 Daniel Silverstone Fixed in Version => 3.10
2020-05-22 10:47 Daniel Silverstone Note Added: 0002192
2020-05-23 09:46 Vincent Sanders Product Version => 3.10
2020-05-23 09:46 Vincent Sanders Target Version => 3.10
2020-05-27 09:01 Vincent Sanders Status resolved => closed
2020-05-27 09:01 Vincent Sanders Note Added: 0002216
+Issue History