MantisBT - NetSurf
View Issue Details
0002781NetSurfGTK-specificpublic2020-06-20 16:552020-07-12 18:04
Reporterkevin smith 
Assigned To 
PlatformOSOS Version
Product Version3.10 
Target VersionFixed in Version 
Fixed in CI build #
Reported in CI build #
URL of problem page
Summary0002781: make fails on attempt to find gtk+ library
DescriptionAttempting to install 3.10 on Ubuntu 20.04, from source

following the -

at 'Build and run Netsurf'
make fails with

...... output....
PKG.CNFG: GTK-3 (gtk+-3.0) failed

frontends/gtk/Makefile:46: *** Unable to find library for: GTK-3 (gtk+-3.0). Stop.

Attempted workaround (below) partially successful, but then produced an error I don't have the knowledge to investigate.

Steps To Reproduce
Follow steps in : , as far as
'Build and run Netsurf'

~/dev-netsurf/workspace/netsurf$ make

fails as above.
PKG.CNFG: GTK-3 (gtk+-3.0) failed
frontends/gtk/Makefile:46: *** Unable to find library for: GTK-3 (gtk+-3.0). Stop.
Additional Informationuname -a
Linux AORUS 5.4.0-37-generic #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Attempted workaround:
I replaced line 46 in the gtk/Makefile - with this:
$(eval $(call pkg config find and add,libgtk-3-0:amd64, GTK-$(NETSURF_GTK_MAJOR)))

Compilation then proceeded until:
 COMPILE: desktop/version.c
 COMPILE: frontends/gtk/about.c
In file included from frontends/gtk/about.c:35:
frontends/gtk/compat.h:29:10: fatal error: gtk/gtk.h: No such file or directory
   29 | #include <gtk/gtk.h>
      | ^~~~~~~~~~~
compilation terminated.
make: *** [Makefile:867: build/Linux-gtk3/frontends_gtk_about.o] Error 1

$ dpkg -l *gtk*[3]* | grep ^i

ii gir1.2-gtk-3.0:amd64 3.24.18-1ubuntu1 amd64 GTK graphical user interface library -- gir bindings
ii gstreamer1.0-gtk3:amd64 1.16.2-1ubuntu2 amd64 GStreamer plugin for GTK+3
ii ibus-gtk3:amd64 1.5.22-2ubuntu2 amd64 Intelligent Input Bus - GTK3 support
ii libavahi-ui-gtk3-0:amd64 0.7-4ubuntu7 amd64 Avahi GTK+ User interface library for GTK3
ii libdbusmenu-gtk3-4:amd64 16.04.1+18.10.20180917-0ubuntu6 amd64 library for passing menus over DBus - GTK+ version
ii libgtk-3-0:amd64 3.24.18-1ubuntu1 amd64 GTK graphical user interface library
ii libgtk-3-bin 3.24.18-1ubuntu1 amd64 programs for the GTK graphical user interface library
ii libgtk-3-common 3.24.18-1ubuntu1 all common files for the GTK graphical user interface library
ii libgtk3-perl 0.037-1 all Perl bindings for the GTK+ graphical user interface library
ii libgtkmm-3.0-1v5:amd64 3.24.2-1build1 amd64 C++ wrappers for GTK+ (shared libraries)
ii libwebkit2gtk-4.0-37:amd64 2.28.2-0ubuntu0.20.04.1 amd64 Web content engine library for GTK
ii libwxgtk3.0-gtk3-0v5:amd64 3.0.4+dfsg-15build1 amd64 wxWidgets Cross-platform C++ GUI toolkit (GTK 3 runtime)
ii python3-aptdaemon.gtk3widgets 1.1.1+bzr982-0ubuntu32.1 all Python 3 GTK+ 3 widgets to run an aptdaemon client
TagsNo tags attached.
Attached Files

kevin smith   
2020-06-20 17:06   
searching for gtk.h in the subdirectories below /dev-netsurf/workspace/ produced no result, if that is helpful
kevin smith   
2020-07-04 00:23   
I installed the dev gtk3 library

$sudo apt install libgtk-3-dev

and install proceeds until:

"make: *** No rule to make target 'content/fetchers/file.h', needed by 'build/Linux-gtk3/content_fetch.o'. Stop."
kevin smith   
2020-07-04 00:32   
Looking through the file system under workspace, I can see file.h is here


so another directory down from where make is looking for it?
Vincent Sanders   
2020-07-12 18:04   
looks like you were missing build dependancies which you have resolved. This has left your working tree in a dirty state

use make clean (instead of make install) and you may make more progress

Issue History
2020-06-20 16:55kevin smithNew Issue
2020-06-20 17:06kevin smithNote Added: 0002267
2020-07-04 00:23kevin smithNote Added: 0002272
2020-07-04 00:32kevin smithNote Added: 0002273
2020-07-12 18:04Vincent SandersNote Added: 0002275