Compiling notmuch in cygwin

Tomi Ollila domo141 at gmail.com
Thu Jun 1 00:14:55 PDT 2017


(note: User-Agent: a bit faked, copied from cygwin emacs after evaluating
 (setq notmuch-mua-user-agent-function #'notmuch-mua-user-agent-full)
 and then pressing 'm' in notmuch hello buffer in cygwin emacs)

On Tue, May 30 2017, Tony Malykh wrote:

> Hello everyone,
>
> Has anyone tried to compile notmuch in Cygwin? Are there any working
> solutions for Cygwin or in general maybe even windows environment?

Glad that you asked -- revisiting my notes from Feb27 this year...
>
> I've tried to build notmuch, but so far the problem seems to be that
> talloc (dependent library) doesn't want to compile in Cygwin.

talloc compiles far enough to get to work with notmuch in cygwin

Here are steps to get notmuch working in cygwin, just updated

--8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--

* notmuch-cygwin

-- latest notmuch HEAD (0.24.x may be too old (zlib configure checks))

-- packages:
        gcc-g++
        pkg-config
        zlib-devel

        libxapian-devel
        libgmime2.6-devel
        libiconv-devel

        python-sphinx

-- talloc to be compiled -- see below

--- install package curl (or wget...) some "fw" rules may prohibit either...

   : in notmuch source directory
   curl -k -O https://download.samba.org/pub/talloc/talloc-2.1.8.tar.gz
   tar xf talloc-2.1.8.tar.gz
   cd talloc-2.1.8/
   ./configure ;: takes some time -- quite a few emulated forks...
   : 'configure' finished successfully (5m23.539s)
   make ;: (warns about -fPIC, ignore). fails...
   ln -s cygtalloc-2.dll bin/default/talloc.dll
   ln -s cygtalloc-2.dll bin/default/cygtalloc.dll
   make ;: 'build' finished successfully (0.992s)

   cd ..
   : now back in notmuch dir -- disable talloc check
   sed -n '/exists talloc/ s/ / : /p' configure
   sed -i '/exists talloc/ s/ / : /' configure :; yau, GNU sed ,/
   echo '#define asprintf(pp, ...) talloc_asprintf(NULL, __VA_ARGS__)' >> lib/notmuch-private.h
   CPATH=$PWD/talloc-2.1.8 LIBRARY_PATH=$PWD/talloc-2.1.8/bin/default ./configure
   sed -i '/TALLOC_LDFLAGS/ s/$/ -ltalloc/' Makefile.config
   CPATH=$PWD/talloc-2.1.8 LIBRARY_PATH=$PWD/talloc-2.1.8/bin/default make
   : linking notmuch-shared fails... but "non"shared works, as usual
   : cygwin (windows?) uses PATH to find .dll's too
   PATH=./talloc-2.1.8/bin/default:$PATH ./notmuch.exe --version
   : notmuch 0.24.1+84~g6ac3d8c
   PATH=./talloc-2.1.8/bin/default:$PWD:$PATH emacs -L $PWD/emacs -f notmuch

--8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--

Tomi

>
> I've also noticed this project:
> https://github.com/avdv/notmuch-w32
> but it doesn't seem to be very alive (or does it?) It seems to depend
> on the very same talloc library though.
>
> Any suggestions would be appreciated!
> Thank you
> Tony


More information about the notmuch mailing list