Compiling a newer version than the latest .deb package

Cameron Simpson cs at cskk.id.au
Mon Jun 3 10:18:11 UTC 2019


On 03Jun2019 21:04, Frank Watt <youngoldbloke at gmail.com> wrote:
>Despite the confusing name,
>aptitude install lib64ncurses5-dev:i386
>
>got past the curses error message.  But then I got this:
>
>checking tcbdb.h usability... no
>checking tcbdb.h presence... no
>checking for tcbdb.h... no
>checking villa.h usability... no
>checking villa.h presence... no
>checking for villa.h... no
>checking for vlopen in -lqdbm... no
>checking for gdbm_open... no
>checking for BerkeleyDB > 4.0... no
>checking for mdb_env_create... no
>checking kclangc.h usability... no
>checking kclangc.h presence... no
>checking for kclangc.h... no
>configure: error: You need Tokyo Cabinet, Kyoto Cabinet, QDBM, GDBM, 
>LMDB or Berkeley DB4 for hcache
>
>So I tried pasting that message into duckduckgo which came up first
>with https://thomer.com/howtos/mutt_on_mac.html
>
>The end of that page finishes:
>
> The key to making the configure errors go away is including CPPFLAGS
> and LDFLAGS on the command line when configuring mutt.
>
>$ CPPFLAGS=-I/opt/local/include/ LDFLAGS=-L/opt/local/lib/ ./configure ...
>
>I'd never thought of Mac users using mutt,

Oh, you cut me!

>but is there any way I
>could use that suggestion?  I've had limited experience compiling
>source code but there are others much simpler to do than this one.
>Maybe it's tricky even for Debian geeks and that's why the .deb files
>are so old.

That suggestion, out of the box, will not directly help you.

What it does is tell the configure script to reach into /opt/local for C 
headers and  libraries. On a Mac there are a few third party package 
systems available (Fink, Homebrew and Macports), and Macports installs 
packages in /opt/local, thus the path in the suggestion.

However, your Debian system should have access to almost all the 
software you should need for a nice mutt build, you just have to fetch 
it. Let's look...

My closest Debian like system is our home server, which is running 
Ubuntu 16.04. So:

  [~]borg*> apt-cache search gdbm|grep dev
  libgdbm-dev - GNU dbm database routines (development files)
  libtdb-dev - Trivial Database - development files
  libtokyocabinet-dev - Tokyo Cabinet Database Libraries [development]
  libntdb-dev - New Trivial Database - development files

Try this on your system. [...] Here's the output from a Debian 8.8 
system:

  libdbm-ocaml-dev - binding to the NDBM/GDBM Unix databases (development files)
  libgdbm-dev - GNU dbm database routines (development files)
  libntdb-dev - New Trivial Database - development files
  libtdb-dev - Trivial Database - development files
  libtokyocabinet-dev - Tokyo Cabinet Database Libraries [development]

So to get GDBM:

  apt-get install libgdbm-dev

You could also get libtokyocabinet-dev it seems.

Have another review of the things configure says are not available and 
do some "apt-cache search" commands for their names, further grepping 
for dev to get the development files packages.

And you won't need to the CLFAGS= stuff because these packages will 
install stuff in the standard places.

Cheers,
Cameron Simpson <cs at cskk.id.au>


More information about the Mutt-users mailing list