Makefile doesn't find libgdbm.a and libgdbm_compat.a on Debian Jessie
Brought to you by:
hpcoder
In Debian Jessie the files libgdbm.a and libgdbm_compat.a live in directories with names like /usr/lib/i386-linux-gnu/ /usr/lib/x86_64-linux-gnu/ - i.e. in a subdirectory that indicates the architecture. This is so that in multiacrch systems like mine you can have more than one version of them. As a consequence the Makefile, as distributed, can't find them. It's easy to edit it, one off, as I have done for my system but I'm not sure what the best solution in general is (especially as there are other architectures that Debian runs on)
Anonymous
If you an determine at runtime what the relevant architecture
directory is, then add the appropriate directory as a -L parameter to
LIB.
Alternatively, you could try adding both directories to the LIB
parameter - ld is generally smart enough to link to the correct
architecture.
Finally, it is better installing Berkley DB (libdb-dev), as this is a
superior database backend to gdbm. We could, perhaps disable the gdbm
code altogether, unless specifically enabled by the user for
backwards compatibility.
--
Prof Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Professor of Mathematics hpcoder@hpcoders.com.au
University of New South Wales http://www.hpcoders.com.au
None of the recent Debian releases contain db4. In fact you can't even find it on their web page. ecolib links against db5.3 so I suppose that will be OK.
Fixed by expanding the list of directories Make searches.