Closed petr-fischer closed 1 year ago
....... undefined reference to `webkit_javascript_result_get_js_value' .....
Seems you have missing dependencies. Can you please check your system if you have libgtk-3-dev
installed?
sudo apt-get install libgtk-3-dev libwebkit2gtk-4.0-dev
Yes, I had both already installed.
libgtk-3-dev/jammy-updates,now 3.24.33-1ubuntu2 amd64 [installed]
libwebkit2gtk-4.0-dev/jammy-updates,jammy-security,now 2.36.8-0ubuntu0.22.04.1 amd64 [installed]
Can you run below command to ensure pkg-config
is able to find these dependencies?
pkg-config --cflags --libs gtk+-3.0 webkit2gtk-4.0
➤ pkg-config --cflags --libs gtk+-3.0 webkit2gtk-4.0 -pthread -I/usr/include/webkitgtk-4.0 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -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/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/webkitgtk-4.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lwebkit2gtk-4.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lsoup-2.4 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lgio-2.0 -ljavascriptcoregtk-4.0 -lgobject-2.0 -lglib-2.0
I don't have access to Ubuntu 22 box, so unable to reproduce. You can try to install original library https://github.com/webview/webview or any of its bindings to validate if its dependencies issue or anything specific to this binding.
@petr-fischer I've had the same issue with Debian 11, the suggested fix in #4 has worked for me. After you download the library with shards install
, edit the local copy of lib.cr
and find the lines:
https://github.com/naqvis/webview/blob/d302ffaf84b51e31a3eced48e188cbc5faafe6e3/src/lib.cr#L6-L7
And re-order these annotations to be:
@[Link(ldflags: "`command -v pkg-config > /dev/null && pkg-config --cflags --libs gtk+-3.0 webkit2gtk-4.0`")]
@[Link(ldflags: "#{__DIR__}/../ext/libwebview.a -lstdc++")]
After this tweak, you should be able to compile your program.
For @naqvis:
It looks like #4 and #11 are connected, and the fix seems to have helped others. Do you think this change should be made upstream?
After this tweak, you should be able to compile your program.
Yes! That works - thanks.
@sourceweaver appreciate if you can push a PR with above fix.
I have no idea what's going on - an incompatible version of webkit? Do you need another debug output? Send me the commands.
If I try to compile this:
following error occurs: