I am trying to install Fifth Browser (website) (github link) on Xubuntu 16.04.2 LTS. I was able to get all of the dependencies via the official distro repositories, using Synaptic for installation. One of them as listed on fifth's homepage is called liburlmatch (github link). It appears to be a simple library that lets you block URLs while using wildcards. I have installed urlmatch via:/git clone  https://github.com/clbr/urlmatch.git and then/sudo checkinstall in a separate folder. This seemed to work flawlessly.When I do ./configure in the fifth folder the last few lines look like this:checking for fltk-config13... nochecking for fltk-config... fltk-configchecking for url_init in -lurlmatch... noconfigure: error: liburlmatch not foundYou can find the part of the configure file pertaining to urlmatch in the following pastebin to your convenience: codeblock from configure for liburlmatch. What am I doing wrong? Why doesn't the configure script recognise the urlmatcher library?Please consider in your answer that this is one of my first attempts to compile a programme like this, thanks. 
Fifth Browser - how do I get the configure script to recognise a dependency?
ubuntu;compiling;browser
It looks like the issue is actually to do with how the configure script for fifth-5.0 constructs and runs the conftest for the urlmatch library.First, the errorchecking for url_init in -lurlmatch... noconfigure: error: liburlmatch not foundturns out to be somewhat misleading: if we look at the config.log we see that the conftest is actually failing to build because of an undefined reference to the uncompress function:configure:5511: checking for url_init in -lurlmatchconfigure:5546: g++ -o conftest -g -O2 -pthread  -isystem /usr/include/cairo -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/pixman-1 -isystem /usr/include/freetype2 -isystem /usr/include/libpng12 -isystem /usr/include/freetype2 -isystem /usr/include/cairo -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/pixman-1 -isystem /usr/include/freetype2 -isystem /usr/include/libpng12 -fvisibility-inlines-hidden  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT   -lz conftest.cpp -lurlmatch    -Wl,-Bsymbolic-functions -lfltk_images -lfltk -lX11 >&5//usr/local/lib/liburlmatch.a(opti_init.o): In function `initbin':opti_init.c:(.text+0xd6): undefined reference to `uncompress'collect2: error: ld returned 1 exit statusconfigure:5552: $? = 1That's because uncompress is in libz - which is being linked before liburlmatch:. . .   -lz conftest.cpp -lurlmatch -Wl,-Bsymbolic-functions -lfltk_images -lfltk -lX11 >&5failing to respect the necessary link order1 for the two libraries. We can trace that back further to the configure.ac file from which the configure script would have been generated: # Checks for libraries.OLD_LDFLAGS=[$LDFLAGS]LDFLAGS=[$LDFLAGS -lz]AC_CHECK_LIB([urlmatch], [url_init], [], AC_MSG_ERROR([liburlmatch not found]))LDFLAGS=[$OLD_LDFLAGS]i.e. rather than being added to the list of LIBS, -lz is added to the LDFLAGS (which is more typically used to specify additional library paths ahead of the LIBS).A quick'n'dirty workaround is to call ./configure with an explicit LIBS argument:./configure LIBS=-lzThis causes an extra -lz to be placed on the g++ command line after the urlmatch library (at the head of the other LIBS):. . . -lz conftest.cpp -lurlmatch -lz -Wl,-Bsymbolic-functions -lfltk_images -lfltk -lX11 >&5A more permanent solution might be to modify the configure.ac file to add -lz to LIBS instead of LDFLAGS, and then re-generate configure using autoconf (or autoreconf if necessary).Refs.:Why does the order of '-l' option in gcc matter?