unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* bug: notmuch show --decrypt leads to SIGSEGV
@ 2017-08-15 17:37     ` Matt Armstrong
  2017-08-15 18:11       ` David Bremner
                         ` (2 more replies)
  0 siblings, 3 replies; 27+ messages in thread
From: Matt Armstrong @ 2017-08-15 17:37 UTC (permalink / raw)
  To: notmuch

I've been able to diagnose a SIGSEGV, and I have a workaround that
satisfies me.  I'm unsure how to fix it, so I'll describe the problem
and leave it at that.

Repro:

% notmuch --version
notmuch 0.25+22~g0967e46 (a recent git @HEAD)
% notmuch show --format=sexp --decrypt thread:000000000002ad2c
-> SIGSEGV

Workaround:

Don't pass --decrypt.  In Emacs, configure notmuch-crypto-process-mime
to shut off crypto processing, or C-u before in notmuch-show before
viewing a problematic thread.

Diagnosis:

mime-node.c's _mime_node_create() can return NULL in various scenarios
yet few to none of its callers appear to handle it properly.  In this
particular case, the NULL is returned here:

#if (GMIME_MAJOR_VERSION < 3)
    if ((GMIME_IS_MULTIPART_ENCRYPTED (part) && node->ctx->crypto->decrypt)
	|| (GMIME_IS_MULTIPART_SIGNED (part) && node->ctx->crypto->verify)) {
	GMimeContentType *content_type = g_mime_object_get_content_type (part);
	const char *protocol = g_mime_content_type_get_parameter (content_type, "protocol");
	cryptoctx = notmuch_crypto_get_context (node->ctx->crypto, protocol);
	if (!cryptoctx) {
	    return NULL;
	}
    }
#endif

Note above a missing call to talloc_free(node) before the return, which
suggests a kind of bit-rot has set in for the GMIME_MAJOR_VERSION<3
case?  Anyway...

mime_node_child() calls _mime_node_create() and will SIGSEGV:

    node = _mime_node_create (parent, sub);

    if (child == parent->next_child && parent->next_part_num != -1) {
	/* We're traversing in depth-first order.  Record the child's
	 * depth-first numbering. */
	node->part_num = parent->next_part_num;
	node->next_part_num = node->part_num + 1;


If I address that by returning NULL from mime_node_child() when
_mime_node_create() does, then the problem cascades to callers.  None of
the callers of mime_node_child() explicitly handle the NULL return case:

mime-node.c:		mime_node_t *child = mime_node_child (node, i);
notmuch-show.c:571:	format_part_text (ctx, sp, mime_node_child (node, i), indent, params);
notmuch-show.c:622:	    format_part_sprinter (ctx, sp, mime_node_child (node, 0), first, TRUE, include_html);
notmuch-show.c:724:	format_part_sprinter (ctx, sp, mime_node_child (node, i), i == 0, TRUE, include_html);

..._mime_node_seek_dfs_walk will proceed to SIGSEGV, and so will
format_part_...().

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: bug: notmuch show --decrypt leads to SIGSEGV
  2017-08-15 17:37     ` bug: notmuch show --decrypt leads to SIGSEGV Matt Armstrong
@ 2017-08-15 18:11       ` David Bremner
  2017-08-15 19:10         ` Matt Armstrong
  2017-08-31 15:17       ` [PATCH] crypto: gracefully handle gmime errors Jan Malakhovski
  2017-11-10  1:05       ` bug: notmuch show --decrypt leads to SIGSEGV David Bremner
  2 siblings, 1 reply; 27+ messages in thread
From: David Bremner @ 2017-08-15 18:11 UTC (permalink / raw)
  To: Matt Armstrong, notmuch

[-- Attachment #1: Type: text/plain, Size: 502 bytes --]

Matt Armstrong <marmstrong@google.com> writes:

> I've been able to diagnose a SIGSEGV, and I have a workaround that
> satisfies me.  I'm unsure how to fix it, so I'll describe the problem
> and leave it at that.
>
> Repro:
>
> % notmuch --version
> notmuch 0.25+22~g0967e46 (a recent git @HEAD)
> % notmuch show --format=sexp --decrypt thread:000000000002ad2c
> -> SIGSEGV

Do you have a way for people other than you to reproduce it? I assume
not all threads are a problem for you with --decrypt?

d

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 658 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: bug: notmuch show --decrypt leads to SIGSEGV
  2017-08-15 18:11       ` David Bremner
@ 2017-08-15 19:10         ` Matt Armstrong
  2017-08-15 23:12           ` David Bremner
  0 siblings, 1 reply; 27+ messages in thread
From: Matt Armstrong @ 2017-08-15 19:10 UTC (permalink / raw)
  To: David Bremner, notmuch

David Bremner <david@tethera.net> writes:

> Matt Armstrong <marmstrong@google.com> writes:
>
>> I've been able to diagnose a SIGSEGV, and I have a workaround that
>> satisfies me.  I'm unsure how to fix it, so I'll describe the problem
>> and leave it at that.
>>
>> Repro:
>>
>> % notmuch --version
>> notmuch 0.25+22~g0967e46 (a recent git @HEAD)
>> % notmuch show --format=sexp --decrypt thread:000000000002ad2c
>> -> SIGSEGV
>
> Do you have a way for people other than you to reproduce it? I assume
> not all threads are a problem for you with --decrypt?

The times I have encountered this involve email I can't reveal, so a
repro would take some work.  I'm happy to try to dig out specific
details, but I'm at a slight disadvantage here due to unfamiliarity.

I didn't this notice this before, but I am getting this on stderr:

    "Failed to construct pkcs7 context."

So g_mime_gpg_context_new() is returning NULL.

I am running an old Ubuntu variant.  My libgmime is libgmime-2.6-dev.
Looks like nothing in the API contract for g_mime_gpg_context_new()
states that it never returns NULL.  Still, it appears that libgmime is
built with ENABLE_CRYPTOGRAPHY (when I download gmime source and
debbuild it, config.h sets that macro), so I'm at a loss for why that
function would return an error.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: bug: notmuch show --decrypt leads to SIGSEGV
  2017-08-15 19:10         ` Matt Armstrong
@ 2017-08-15 23:12           ` David Bremner
  2017-08-16 16:41             ` Matt Armstrong
  0 siblings, 1 reply; 27+ messages in thread
From: David Bremner @ 2017-08-15 23:12 UTC (permalink / raw)
  To: Matt Armstrong, notmuch

Matt Armstrong <marmstrong@google.com> writes:

> David Bremner <david@tethera.net> writes:
>
>> Matt Armstrong <marmstrong@google.com> writes:
>>
>>> I've been able to diagnose a SIGSEGV, and I have a workaround that
>>> satisfies me.  I'm unsure how to fix it, so I'll describe the problem
>>> and leave it at that.
>>>
>>> Repro:
>>>
>>> % notmuch --version
>>> notmuch 0.25+22~g0967e46 (a recent git @HEAD)
>>> % notmuch show --format=sexp --decrypt thread:000000000002ad2c
>>> -> SIGSEGV
>>
>> Do you have a way for people other than you to reproduce it? I assume
>> not all threads are a problem for you with --decrypt?
>
> The times I have encountered this involve email I can't reveal, so a
> repro would take some work.  I'm happy to try to dig out specific
> details, but I'm at a slight disadvantage here due to unfamiliarity.
>

Understood. If you manage to bisect the commit that introduces the
problem (I suspect the rearrangement to support gmime-3.0, but you never
know), that might be helpful.

d

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: bug: notmuch show --decrypt leads to SIGSEGV
  2017-08-15 23:12           ` David Bremner
@ 2017-08-16 16:41             ` Matt Armstrong
  2017-08-20 13:43               ` David Bremner
  0 siblings, 1 reply; 27+ messages in thread
From: Matt Armstrong @ 2017-08-16 16:41 UTC (permalink / raw)
  To: David Bremner, notmuch

David Bremner <david@tethera.net> writes:

> Matt Armstrong <marmstrong@google.com> writes:
>
>> David Bremner <david@tethera.net> writes:
>>
>>> Matt Armstrong <marmstrong@google.com> writes:
>>>
>>>> I've been able to diagnose a SIGSEGV, and I have a workaround that
>>>> satisfies me.  I'm unsure how to fix it, so I'll describe the problem
>>>> and leave it at that.
>>>>
>>>> Repro:
>>>>
>>>> % notmuch --version
>>>> notmuch 0.25+22~g0967e46 (a recent git @HEAD)
>>>> % notmuch show --format=sexp --decrypt thread:000000000002ad2c
>>>> -> SIGSEGV
>>>
>>> Do you have a way for people other than you to reproduce it? I assume
>>> not all threads are a problem for you with --decrypt?
>>
>> The times I have encountered this involve email I can't reveal, so a
>> repro would take some work.  I'm happy to try to dig out specific
>> details, but I'm at a slight disadvantage here due to unfamiliarity.
>>
>
> Understood. If you manage to bisect the commit that introduces the
> problem (I suspect the rearrangement to support gmime-3.0, but you never
> know), that might be helpful.

David, your suspicions may have been correct.  The bisect came up with
the following commit.

1fdc08d0ffab9b211861de5d148d0a79eae840bc is the first bad commit
commit 1fdc08d0ffab9b211861de5d148d0a79eae840bc
Author: David Bremner <david@tethera.net>
Date:   Sun Jul 16 01:01:43 2017 +0200

    cli/crypto: treat failure to create a crypto context as fatal.
  
    Silently ignoring signed/encrypted parts seems like the wrong idea,
    and it also complicates future gmime-3.0 compatibility changes.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: bug: notmuch show --decrypt leads to SIGSEGV
  2017-08-16 16:41             ` Matt Armstrong
@ 2017-08-20 13:43               ` David Bremner
  0 siblings, 0 replies; 27+ messages in thread
From: David Bremner @ 2017-08-20 13:43 UTC (permalink / raw)
  To: Matt Armstrong, notmuch

Matt Armstrong <marmstrong@google.com> writes:

>> Understood. If you manage to bisect the commit that introduces the
>> problem (I suspect the rearrangement to support gmime-3.0, but you never
>> know), that might be helpful.
>
> David, your suspicions may have been correct.  The bisect came up with
> the following commit.
>
> 1fdc08d0ffab9b211861de5d148d0a79eae840bc is the first bad commit
> commit 1fdc08d0ffab9b211861de5d148d0a79eae840bc
> Author: David Bremner <david@tethera.net>
> Date:   Sun Jul 16 01:01:43 2017 +0200
>
>     cli/crypto: treat failure to create a crypto context as fatal.
>   
>     Silently ignoring signed/encrypted parts seems like the wrong idea,
>     and it also complicates future gmime-3.0 compatibility changes.

Do the messages in question actually verify or decrypt with the code
before this commit, or does notmuch just silently ignore a gmime
failure?  Not that I'm claiming SIGSEGV is an appropriate error
reporting mechanism ;).

d

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH] crypto: gracefully handle gmime errors
@ 2017-08-31 13:31 Jan Malakhovski
  2017-08-31 13:44 ` Jan Malakhovski
                   ` (2 more replies)
  0 siblings, 3 replies; 27+ messages in thread
From: Jan Malakhovski @ 2017-08-31 13:31 UTC (permalink / raw)
  To: notmuch

Before: dies by SIGSEGV when gmime produces an error.
After: doesn't print NULL mime nodes.
---
 mime-node.c    |  5 +++++
 notmuch-show.c | 18 +++++++++++++-----
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/mime-node.c b/mime-node.c
index 24d73afa..f27aeb9a 100644
--- a/mime-node.c
+++ b/mime-node.c
@@ -317,7 +317,10 @@ mime_node_child (mime_node_t *parent, int child)
 	INTERNAL_ERROR ("Unexpected GMimeObject type: %s",
 			g_type_name (G_OBJECT_TYPE (parent->part)));
     }
+
     node = _mime_node_create (parent, sub);
+    if (!node)
+	return NULL;
 
     if (child == parent->next_child && parent->next_part_num != -1) {
 	/* We're traversing in depth-first order.  Record the child's
@@ -354,6 +357,8 @@ _mime_node_seek_dfs_walk (mime_node_t *node, int *n)
     *n -= 1;
     for (i = 0; i < node->nchildren; i++) {
 	mime_node_t *child = mime_node_child (node, i);
+	if (!child)
+	    return NULL;
 	mime_node_t *ret = _mime_node_seek_dfs_walk (child, n);
 	if (ret)
 	    return ret;
diff --git a/notmuch-show.c b/notmuch-show.c
index cdcc2a98..2c591e37 100644
--- a/notmuch-show.c
+++ b/notmuch-show.c
@@ -567,8 +567,11 @@ format_part_text (const void *ctx, sprinter_t *sp, mime_node_t *node,
 	}
     }
 
-    for (i = 0; i < node->nchildren; i++)
-	format_part_text (ctx, sp, mime_node_child (node, i), indent, params);
+    for (i = 0; i < node->nchildren; i++) {
+	mime_node_t * child = mime_node_child (node, i);
+	if (child)
+	    format_part_text (ctx, sp, child, indent, params);
+    }
 
     if (GMIME_IS_MESSAGE (node->part))
 	g_mime_stream_printf (stream, "\fbody}\n");
@@ -619,7 +622,9 @@ format_part_sprinter (const void *ctx, sprinter_t *sp, mime_node_t *node,
 	if (output_body) {
 	    sp->map_key (sp, "body");
 	    sp->begin_list (sp);
-	    format_part_sprinter (ctx, sp, mime_node_child (node, 0), TRUE, include_html);
+	    mime_node_t * child = mime_node_child (node, 0);
+	    if (child)
+		format_part_sprinter (ctx, sp, child, TRUE, include_html);
 	    sp->end (sp);
 	}
 	sp->end (sp);
@@ -720,8 +725,11 @@ format_part_sprinter (const void *ctx, sprinter_t *sp, mime_node_t *node,
 	nclose = 3;
     }
 
-    for (i = 0; i < node->nchildren; i++)
-	format_part_sprinter (ctx, sp, mime_node_child (node, i), TRUE, include_html);
+    for (i = 0; i < node->nchildren; i++) {
+	mime_node_t * child = mime_node_child (node, i);
+	if (child)
+	    format_part_sprinter (ctx, sp, child, TRUE, include_html);
+    }
 
     /* Close content structures */
     for (i = 0; i < nclose; i++)
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH] crypto: gracefully handle gmime errors
  2017-08-31 13:31 [PATCH] crypto: gracefully handle gmime errors Jan Malakhovski
@ 2017-08-31 13:44 ` Jan Malakhovski
  2017-09-01  0:10   ` [PATCH] cli: propagate NULL from _mime_node_create, handle it in callers David Bremner
  2017-08-31 14:22 ` [PATCH] crypto: gracefully handle gmime errors David Bremner
  2017-08-31 14:34 ` [BUG] gmime-3.0.1 (was: [PATCH] crypto: gracefully handle gmime errors) Jan Malakhovski
  2 siblings, 1 reply; 27+ messages in thread
From: Jan Malakhovski @ 2017-08-31 13:44 UTC (permalink / raw)
  To: notmuch

Hi.

On second though

@@ -354,6 +357,8 @@ _mime_node_seek_dfs_walk (mime_node_t *node, int *n)
     *n -= 1;
     for (i = 0; i < node->nchildren; i++) {
        mime_node_t *child = mime_node_child (node, i);
+	if (!child)
+	    return NULL;
        mime_node_t *ret = _mime_node_seek_dfs_walk (child, n);
        if (ret)
            return ret;

is probably an incorrect way to do this since the next child node can
succeed. Maybe it should be `continue` instead of `return NULL`. Not
sure.

Feel free to ignore this patch if there's a better way to fix those
SIGSEGVs. I get them by building against `gmime-2.6.23` and running
`tests/T355-smime.sh` and by trying to open some mails in my inbox
(which breaks display in emacs as `notmuch` just crashed in the middle
of an s-expression).

Cheers,
  Jan

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] crypto: gracefully handle gmime errors
  2017-08-31 13:31 [PATCH] crypto: gracefully handle gmime errors Jan Malakhovski
  2017-08-31 13:44 ` Jan Malakhovski
@ 2017-08-31 14:22 ` David Bremner
  2017-08-31 14:30   ` David Bremner
  2017-08-31 14:34 ` [BUG] gmime-3.0.1 (was: [PATCH] crypto: gracefully handle gmime errors) Jan Malakhovski
  2 siblings, 1 reply; 27+ messages in thread
From: David Bremner @ 2017-08-31 14:22 UTC (permalink / raw)
  To: Jan Malakhovski, notmuch

Jan Malakhovski <oxij@oxij.org> writes:

> Before: dies by SIGSEGV when gmime produces an error.
> After: doesn't print NULL mime nodes.
> ---

It's probably an improvement on the status quo, but shouldn't we be
trying to report some errors somehow?

d

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] crypto: gracefully handle gmime errors
  2017-08-31 14:22 ` [PATCH] crypto: gracefully handle gmime errors David Bremner
@ 2017-08-31 14:30   ` David Bremner
  2017-08-15 17:37     ` bug: notmuch show --decrypt leads to SIGSEGV Matt Armstrong
  0 siblings, 1 reply; 27+ messages in thread
From: David Bremner @ 2017-08-31 14:30 UTC (permalink / raw)
  To: Jan Malakhovski, notmuch

David Bremner <david@tethera.net> writes:

> Jan Malakhovski <oxij@oxij.org> writes:
>
>> Before: dies by SIGSEGV when gmime produces an error.
>> After: doesn't print NULL mime nodes.
>> ---
>
> It's probably an improvement on the status quo, but shouldn't we be
> trying to report some errors somehow?
>
> d

Oh, by the way, I think this was reported already in
id:qf5d17wzq90.fsf@google.com, but we don't have a test case. So if you
have (or can make) a message that triggers these segfaults, and that you
can share, that would be helpful.

d

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [BUG] gmime-3.0.1 (was: [PATCH] crypto: gracefully handle gmime errors)
  2017-08-31 13:31 [PATCH] crypto: gracefully handle gmime errors Jan Malakhovski
  2017-08-31 13:44 ` Jan Malakhovski
  2017-08-31 14:22 ` [PATCH] crypto: gracefully handle gmime errors David Bremner
@ 2017-08-31 14:34 ` Jan Malakhovski
  2017-09-05 10:54   ` David Bremner
  2 siblings, 1 reply; 27+ messages in thread
From: Jan Malakhovski @ 2017-08-31 14:34 UTC (permalink / raw)
  To: notmuch

[-- Attachment #1: Type: text/plain, Size: 189 bytes --]

When building with gmime-3.0.1 `tests/T355-smime.sh` passes and messages
in my inbox get parsed ok, but a lot of other tests break.

Both on 0.25 tag and HEAD get. See attached build log.


[-- Attachment #2: notmuch.log --]
[-- Type: text/plain, Size: 159091 bytes --]

building path(s) ‘/nix/store/x7dql3l36nrs84wmzc3jnma71rgdfdfb-notmuch-0.25’
unpacking sources
unpacking source archive /nix/store/w1kbvfgbi5sz6fp8vwn888yckiwwd24d-notmuch-46bda29
source root is notmuch-46bda29
patching sources
configuring
configure flags: --disable-dependency-tracking --prefix=/nix/store/x7dql3l36nrs84wmzc3jnma71rgdfdfb-notmuch-0.25
Welcome to Notmuch, a system for indexing, searching and tagging your email.

We hope that the process of building and installing notmuch is quick
and smooth so that you can soon be reading and processing your email
more efficiently than ever.

If anything goes wrong in the configure process, you can override any
decisions it makes by manually editing the Makefile.config file that
it creates. Also please do as much as you can to figure out what could
be different on your machine compared to those of the notmuch
developers. Then, please email those details to the Notmuch list
(notmuch@notmuchmail.org) so that we can hopefully make future
versions of notmuch easier for you to use.

We'll now investigate your system to verify that all required
dependencies are available:

Sanity checking C compilation environment... OK.
Sanity checking C++ compilation environment... OK.
Reading libnotmuch version from source... OK.
Checking for Xapian development files... Yes (1.4.4).
Checking for Xapian compaction support... Yes.
Checking for Xapian FieldProcessor API... Yes.
Checking for Xapian lock retry support... Yes.
Testing default Xapian backend... glass
Checking for GMime development files... Yes (3.0).
Checking for Glib development files (>= 2.22)... Yes.
Checking for zlib (>= 1.2.5.2)... Yes.
Checking for talloc development files... Yes.
Checking for python... Yes (python).
Checking for valgrind development files... No (but that's fine).
Checking for bash-completion (>= 1.90)... Yes.
Checking if emacs is available... Yes.
Checking if doxygen is available... Yes.
Checking for ruby development files... Yes.
Checking if sphinx is available and supports nroff output... Yes.
Checking if desktop-file-install is available... No (so will not install .desktop file).
Checking for cppcheck... No.
Checking which platform we are on... Linux
Checking for /nix/store/x7dql3l36nrs84wmzc3jnma71rgdfdfb-notmuch-0.25/lib in ldconfig... No (will set RPATH)
Checking for canonicalize_file_name... Yes.
Checking for getline... Yes.
Checking for strcasestr... Yes.
Checking for strsep... Yes.
Checking for timegm... Yes.
Checking for dirent.d_type... Yes.
Checking for standard version of getpwuid_r... Yes.
Checking for standard version of asctime_r... Yes.
Checking for rpath support... Yes.
Checking for -Wl,--as-needed... Yes.
Checking for -Wl,--no-undefined... Yes.
Checking for available C++ compiler warning flags... 
	-Wall -Wextra -Wwrite-strings
Checking for available C compiler warning flags... 
	-Wall -Wextra -Wwrite-strings -Wmissing-declarations

All required packages were found. You may now run the following
commands to compile and install notmuch:

	make
	sudo make install

building
build flags: SHELL=/nix/store/axldd4qjamb2c1lgi7d6k3s51qyy4610-bash-4.4-p12/bin/bash V=1
echo 0.25 > version.stamp
emacs --quick --directory emacs -batch -l make-deps.el \
	-f batch-make-deps emacs/notmuch-lib.el emacs/notmuch-compat.el emacs/notmuch-parser.el emacs/notmuch.el emacs/notmuch-query.el emacs/notmuch-show.el emacs/notmuch-tree.el emacs/notmuch-wash.el emacs/notmuch-hello.el emacs/notmuch-mua.el emacs/notmuch-address.el emacs/notmuch-maildir-fcc.el emacs/notmuch-message.el emacs/notmuch-crypto.el emacs/notmuch-tag.el emacs/coolj.el emacs/notmuch-print.el emacs/notmuch-version.el emacs/notmuch-jump.el emacs/notmuch-company.el emacs/notmuch-draft.el > emacs/.eldeps.tmp && \
	mv emacs/.eldeps.tmp emacs/.eldeps
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 command-line-arguments.c -o command-line-arguments.o -MD -MP -MF .deps/command-line-arguments.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 debugger.c -o debugger.o -MD -MP -MF .deps/debugger.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 status.c -o status.o -MD -MP -MF .deps/status.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 gmime-filter-reply.c -o gmime-filter-reply.o -MD -MP -MF .deps/gmime-filter-reply.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 hooks.c -o hooks.o -MD -MP -MF .deps/hooks.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch.c -o notmuch.o -MD -MP -MF .deps/notmuch.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch-compact.c -o notmuch-compact.o -MD -MP -MF .deps/notmuch-compact.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch-config.c -o notmuch-config.o -MD -MP -MF .deps/notmuch-config.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch-count.c -o notmuch-count.o -MD -MP -MF .deps/notmuch-count.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch-dump.c -o notmuch-dump.o -MD -MP -MF .deps/notmuch-dump.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch-insert.c -o notmuch-insert.o -MD -MP -MF .deps/notmuch-insert.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch-new.c -o notmuch-new.o -MD -MP -MF .deps/notmuch-new.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch-reindex.c -o notmuch-reindex.o -MD -MP -MF .deps/notmuch-reindex.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch-reply.c -o notmuch-reply.o -MD -MP -MF .deps/notmuch-reply.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch-restore.c -o notmuch-restore.o -MD -MP -MF .deps/notmuch-restore.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch-search.c -o notmuch-search.o -MD -MP -MF .deps/notmuch-search.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch-setup.c -o notmuch-setup.o -MD -MP -MF .deps/notmuch-setup.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch-show.c -o notmuch-show.o -MD -MP -MF .deps/notmuch-show.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch-tag.c -o notmuch-tag.o -MD -MP -MF .deps/notmuch-tag.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 notmuch-time.c -o notmuch-time.o -MD -MP -MF .deps/notmuch-time.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 sprinter-json.c -o sprinter-json.o -MD -MP -MF .deps/sprinter-json.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 sprinter-sexp.c -o sprinter-sexp.o -MD -MP -MF .deps/sprinter-sexp.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 sprinter-text.c -o sprinter-text.o -MD -MP -MF .deps/sprinter-text.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 query-string.c -o query-string.o -MD -MP -MF .deps/query-string.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 mime-node.c -o mime-node.o -MD -MP -MF .deps/mime-node.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 crypto.c -o crypto.o -MD -MP -MF .deps/crypto.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 tag-util.c -o tag-util.o -MD -MP -MF .deps/tag-util.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 lib/filenames.c -o lib/filenames.o -MD -MP -MF .deps/lib/filenames.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 lib/string-list.c -o lib/string-list.o -MD -MP -MF .deps/lib/string-list.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 lib/message-file.c -o lib/message-file.o -MD -MP -MF .deps/lib/message-file.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 lib/message-id.c -o lib/message-id.o -MD -MP -MF .deps/lib/message-id.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 lib/messages.c -o lib/messages.o -MD -MP -MF .deps/lib/messages.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 lib/sha1.c -o lib/sha1.o -MD -MP -MF .deps/lib/sha1.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 lib/built-with.c -o lib/built-with.o -MD -MP -MF .deps/lib/built-with.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 lib/string-map.c -o lib/string-map.o -MD -MP -MF .deps/lib/string-map.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 lib/indexopts.c -o lib/indexopts.o -MD -MP -MF .deps/lib/indexopts.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 lib/tags.c -o lib/tags.o -MD -MP -MF .deps/lib/tags.d
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include lib/database.cc -o lib/database.o -MD -MP -MF .deps/lib/database.d
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include lib/parse-time-vrp.cc -o lib/parse-time-vrp.o -MD -MP -MF .deps/lib/parse-time-vrp.d
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include lib/directory.cc -o lib/directory.o -MD -MP -MF .deps/lib/directory.d
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include lib/index.cc -o lib/index.o -MD -MP -MF .deps/lib/index.d
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include lib/message.cc -o lib/message.o -MD -MP -MF .deps/lib/message.d
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include lib/add-message.cc -o lib/add-message.o -MD -MP -MF .deps/lib/add-message.d
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include lib/message-property.cc -o lib/message-property.o -MD -MP -MF .deps/lib/message-property.d
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include lib/query.cc -o lib/query.o -MD -MP -MF .deps/lib/query.d
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include lib/query-fp.cc -o lib/query-fp.o -MD -MP -MF .deps/lib/query-fp.d
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include lib/config.cc -o lib/config.o -MD -MP -MF .deps/lib/config.d
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include lib/regexp-fields.cc -o lib/regexp-fields.o -MD -MP -MF .deps/lib/regexp-fields.d
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include lib/thread.cc -o lib/thread.o -MD -MP -MF .deps/lib/thread.d
ar rcs lib/libnotmuch.a lib/filenames.o lib/string-list.o lib/message-file.o lib/message-id.o lib/messages.o lib/sha1.o lib/built-with.o lib/string-map.o lib/indexopts.o lib/tags.o lib/database.o lib/parse-time-vrp.o lib/directory.o lib/index.o lib/message.o lib/add-message.o lib/message-property.o lib/query.o lib/query-fp.o lib/config.o lib/regexp-fields.o lib/thread.o
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 util/xutil.c -o util/xutil.o -MD -MP -MF .deps/util/xutil.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 util/error_util.c -o util/error_util.o -MD -MP -MF .deps/util/error_util.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 util/hex-escape.c -o util/hex-escape.o -MD -MP -MF .deps/util/hex-escape.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 util/string-util.c -o util/string-util.o -MD -MP -MF .deps/util/string-util.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 util/talloc-extra.c -o util/talloc-extra.o -MD -MP -MF .deps/util/talloc-extra.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 util/zlib-extra.c -o util/zlib-extra.o -MD -MP -MF .deps/util/zlib-extra.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 util/util.c -o util/util.o -MD -MP -MF .deps/util/util.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 util/gmime-extra.c -o util/gmime-extra.o -MD -MP -MF .deps/util/gmime-extra.d
ar rcs util/libnotmuch_util.a util/xutil.o util/error_util.o util/hex-escape.o util/string-util.o util/talloc-extra.o util/zlib-extra.o util/util.o util/gmime-extra.o
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 parse-time-string/parse-time-string.c -o parse-time-string/parse-time-string.o -MD -MP -MF .deps/parse-time-string/parse-time-string.d
ar rcs parse-time-string/libparse-time-string.a parse-time-string/parse-time-string.o
g++ command-line-arguments.o debugger.o status.o gmime-filter-reply.o hooks.o notmuch.o notmuch-compact.o notmuch-config.o notmuch-count.o notmuch-dump.o notmuch-insert.o notmuch-new.o notmuch-reindex.o notmuch-reply.o notmuch-restore.o notmuch-search.o notmuch-setup.o notmuch-show.o notmuch-tag.o notmuch-time.o sprinter-json.o sprinter-sexp.o sprinter-text.o query-string.o mime-node.o crypto.o tag-util.o lib/libnotmuch.a util/libnotmuch_util.a parse-time-string/libparse-time-string.a  -Wl,--as-needed -L/nix/store/8ms9r6qw41rds9f59swiaaypmx07p376-gmime-3.0.1/lib -L/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib -lgmime-3.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -L/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/lib -Wl,-rpath,/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/lib -ltalloc -L/nix/store/bcg4yk2kinfd9703m3qlh7gkivkg1kqj-zlib-1.2.11/lib -lz -L/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/lib -lxapian -o notmuch
g++ lib/filenames.o lib/string-list.o lib/message-file.o lib/message-id.o lib/messages.o lib/sha1.o lib/built-with.o lib/string-map.o lib/indexopts.o lib/tags.o lib/database.o lib/parse-time-vrp.o lib/directory.o lib/index.o lib/message.o lib/add-message.o lib/message-property.o lib/query.o lib/query-fp.o lib/config.o lib/regexp-fields.o lib/thread.o  -Wl,--as-needed -L/nix/store/8ms9r6qw41rds9f59swiaaypmx07p376-gmime-3.0.1/lib -L/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib -lgmime-3.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -L/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/lib -Wl,-rpath,/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/lib -ltalloc -L/nix/store/bcg4yk2kinfd9703m3qlh7gkivkg1kqj-zlib-1.2.11/lib -lz -L/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/lib -lxapian -shared -Wl,--version-script=lib/notmuch.sym,-soname=libnotmuch.so.5 -Wl,--no-undefined -o lib/libnotmuch.so.5.0.0 util/libnotmuch_util.a parse-time-string/libparse-time-string.a
ln -sf libnotmuch.so.5.0.0 lib/libnotmuch.so.5
ln -sf libnotmuch.so.5.0.0 lib/libnotmuch.so
gcc command-line-arguments.o debugger.o status.o gmime-filter-reply.o hooks.o notmuch.o notmuch-compact.o notmuch-config.o notmuch-count.o notmuch-dump.o notmuch-insert.o notmuch-new.o notmuch-reindex.o notmuch-reply.o notmuch-restore.o notmuch-search.o notmuch-setup.o notmuch-show.o notmuch-tag.o notmuch-time.o sprinter-json.o sprinter-sexp.o sprinter-text.o query-string.o mime-node.o crypto.o tag-util.o  -Lutil -lnotmuch_util -Llib -lnotmuch -Wl,--enable-new-dtags -Wl,-rpath,/nix/store/x7dql3l36nrs84wmzc3jnma71rgdfdfb-notmuch-0.25/lib -Wl,--as-needed -L/nix/store/8ms9r6qw41rds9f59swiaaypmx07p376-gmime-3.0.1/lib -L/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib -lgmime-3.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -L/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/lib -Wl,-rpath,/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/lib -ltalloc -L/nix/store/bcg4yk2kinfd9703m3qlh7gkivkg1kqj-zlib-1.2.11/lib -lz -o notmuch-shared
sphinx-build -b man -d doc/_build/doctrees -q ./doc doc/_build/man
for section in 1 5 7; do \
    mkdir -p doc/_build/man/man${section}; \
    mv doc/_build/man/*.${section} doc/_build/man/man${section}; \
done
touch doc/_build/.roff.stamp
rm -f doc/_build/man/man1/notmuch-reply.1.gz && gzip --stdout doc/_build/man/man1/notmuch-reply.1 > doc/_build/man/man1/notmuch-reply.1.gz
rm -f doc/_build/man/man1/notmuch-reindex.1.gz && gzip --stdout doc/_build/man/man1/notmuch-reindex.1 > doc/_build/man/man1/notmuch-reindex.1.gz
rm -f doc/_build/man/man1/notmuch-restore.1.gz && gzip --stdout doc/_build/man/man1/notmuch-restore.1 > doc/_build/man/man1/notmuch-restore.1.gz
rm -f doc/_build/man/man1/notmuch-new.1.gz && gzip --stdout doc/_build/man/man1/notmuch-new.1 > doc/_build/man/man1/notmuch-new.1.gz
rm -f doc/_build/man/man1/notmuch-dump.1.gz && gzip --stdout doc/_build/man/man1/notmuch-dump.1 > doc/_build/man/man1/notmuch-dump.1.gz
rm -f doc/_build/man/man1/notmuch-address.1.gz && gzip --stdout doc/_build/man/man1/notmuch-address.1 > doc/_build/man/man1/notmuch-address.1.gz
rm -f doc/_build/man/man1/notmuch-tag.1.gz && gzip --stdout doc/_build/man/man1/notmuch-tag.1 > doc/_build/man/man1/notmuch-tag.1.gz
rm -f doc/_build/man/man1/notmuch-count.1.gz && gzip --stdout doc/_build/man/man1/notmuch-count.1 > doc/_build/man/man1/notmuch-count.1.gz
rm -f doc/_build/man/man1/notmuch-search.1.gz && gzip --stdout doc/_build/man/man1/notmuch-search.1 > doc/_build/man/man1/notmuch-search.1.gz
rm -f doc/_build/man/man1/notmuch-emacs-mua.1.gz && gzip --stdout doc/_build/man/man1/notmuch-emacs-mua.1 > doc/_build/man/man1/notmuch-emacs-mua.1.gz
rm -f doc/_build/man/man1/notmuch-config.1.gz && gzip --stdout doc/_build/man/man1/notmuch-config.1 > doc/_build/man/man1/notmuch-config.1.gz
rm -f doc/_build/man/man1/notmuch-insert.1.gz && gzip --stdout doc/_build/man/man1/notmuch-insert.1 > doc/_build/man/man1/notmuch-insert.1.gz
rm -f doc/_build/man/man1/notmuch.1.gz && gzip --stdout doc/_build/man/man1/notmuch.1 > doc/_build/man/man1/notmuch.1.gz
rm -f doc/_build/man/man1/notmuch-compact.1.gz && gzip --stdout doc/_build/man/man1/notmuch-compact.1 > doc/_build/man/man1/notmuch-compact.1.gz
rm -f doc/_build/man/man1/notmuch-show.1.gz && gzip --stdout doc/_build/man/man1/notmuch-show.1 > doc/_build/man/man1/notmuch-show.1.gz
rm -f doc/_build/man/man5/notmuch-hooks.5.gz && gzip --stdout doc/_build/man/man5/notmuch-hooks.5 > doc/_build/man/man5/notmuch-hooks.5.gz
rm -f doc/_build/man/man7/notmuch-search-terms.7.gz && gzip --stdout doc/_build/man/man7/notmuch-search-terms.7 > doc/_build/man/man7/notmuch-search-terms.7.gz
echo "PROJECT_NAME = \"Notmuch 0.25\"" > doc/config.dox
echo "INPUT=./lib/notmuch.h" >> doc/config.dox
mkdir -p doc/_build/man/man3
doxygen ./doc/doxygen.cfg
rm -f doc/_build/man/man3/_*.3
perl -pi -e 's/^[.]RI "\\fI/.RI "\\fP/' doc/_build/man/man3/notmuch.3
rm -f doc/_build/man/man3/notmuch.3.gz && gzip --stdout doc/_build/man/man3/notmuch.3 > doc/_build/man/man3/notmuch.3.gz
cd bindings/ruby && \
	EXTRA_LDFLAGS="-Wl,--no-undefined" \
	LIBNOTMUCH="../../lib/libnotmuch.so" \
	NOTMUCH_SRCDIR='/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29' \
	ruby extconf.rb --vendor
creating Makefile
make -C bindings/ruby
make[1]: Entering directory '/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/bindings/ruby'
gcc -I. -I/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/lib -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/x86_64-linux -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/ruby/backward -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0 -I.   -fPIC -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -fPIC  -o threads.o -c threads.c
gcc -I. -I/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/lib -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/x86_64-linux -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/ruby/backward -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0 -I.   -fPIC -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -fPIC  -o thread.o -c thread.c
gcc -I. -I/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/lib -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/x86_64-linux -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/ruby/backward -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0 -I.   -fPIC -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -fPIC  -o tags.o -c tags.c
gcc -I. -I/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/lib -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/x86_64-linux -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/ruby/backward -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0 -I.   -fPIC -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -fPIC  -o status.o -c status.c
gcc -I. -I/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/lib -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/x86_64-linux -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/ruby/backward -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0 -I.   -fPIC -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -fPIC  -o query.o -c query.c
gcc -I. -I/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/lib -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/x86_64-linux -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/ruby/backward -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0 -I.   -fPIC -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -fPIC  -o messages.o -c messages.c
gcc -I. -I/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/lib -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/x86_64-linux -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/ruby/backward -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0 -I.   -fPIC -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -fPIC  -o message.o -c message.c
gcc -I. -I/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/lib -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/x86_64-linux -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/ruby/backward -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0 -I.   -fPIC -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -fPIC  -o init.o -c init.c
gcc -I. -I/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/lib -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/x86_64-linux -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/ruby/backward -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0 -I.   -fPIC -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -fPIC  -o filenames.o -c filenames.c
gcc -I. -I/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/lib -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/x86_64-linux -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/ruby/backward -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0 -I.   -fPIC -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -fPIC  -o directory.o -c directory.c
gcc -I. -I/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/lib -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/x86_64-linux -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0/ruby/backward -I/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/include/ruby-2.3.0 -I.   -fPIC -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -fPIC  -o database.o -c database.c
rm -f notmuch.so
gcc -shared -o notmuch.so threads.o thread.o tags.o status.o query.o messages.o message.o init.o filenames.o directory.o database.o -L. -L/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/lib -Wl,-R/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/lib -L. -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,--no-undefined   ../../lib/libnotmuch.so -Wl,-R/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/lib -L/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/lib -lruby  -lpthread -ldl -lcrypt -lm   -lc
make[1]: Leaving directory '/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/bindings/ruby'
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-compat.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-version.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-lib.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-parser.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-tag.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-query.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/coolj.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-wash.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-company.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-address.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-maildir-fcc.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-draft.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-mua.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-crypto.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-print.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-show.el

In notmuch-show-setup-w3m:
emacs/notmuch-show.el:607:9:Warning: assignment to free variable
    `mm-inline-text-html-with-images'
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-tree.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-hello.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-message.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch.el
emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-jump.el
cd bindings/ruby && \
	EXTRA_LDFLAGS="-Wl,--no-undefined" \
	LIBNOTMUCH="../../lib/libnotmuch.so" \
	NOTMUCH_SRCDIR='/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29' \
	ruby extconf.rb --vendor
creating Makefile
make -C bindings/ruby
rm -f notmuch.so
gcc -shared -o notmuch.so threads.o thread.o tags.o status.o query.o messages.o message.o init.o filenames.o directory.o database.o -L. -L/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/lib -Wl,-R/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/lib -L. -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,--no-undefined   ../../lib/libnotmuch.so -Wl,-R/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/lib -L/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/lib -lruby  -lpthread -ldl -lcrypt -lm   -lc

Compilation of notmuch is now complete. You can install notmuch with:

	make install

Note that depending on the prefix to which you are installing
you may need root permission (such as "sudo make install").
See "./configure --help" for help on setting an alternate prefix.
running tests
check flags: SHELL=/nix/store/axldd4qjamb2c1lgi7d6k3s51qyy4610-bash-4.4-p12/bin/bash V=1 VERBOSE=y test V=1
cd bindings/ruby && \
	EXTRA_LDFLAGS="-Wl,--no-undefined" \
	LIBNOTMUCH="../../lib/libnotmuch.so" \
	NOTMUCH_SRCDIR='/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29' \
	ruby extconf.rb --vendor
creating Makefile
make -C bindings/ruby
make[1]: Entering directory '/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/bindings/ruby'
rm -f notmuch.so
gcc -shared -o notmuch.so threads.o thread.o tags.o status.o query.o messages.o message.o init.o filenames.o directory.o database.o -L. -L/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/lib -Wl,-R/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/lib -L. -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,--no-undefined   ../../lib/libnotmuch.so -Wl,-R/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/lib -L/nix/store/n0bpzh1c4qyxzgf8k9dxl9kl8vd8c5zz-ruby-2.3.4/lib -lruby  -lpthread -ldl -lcrypt -lm   -lc
make[1]: Leaving directory '/tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/bindings/ruby'
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 test/arg-test.c -o test/arg-test.o -MD -MP -MF .deps/test/arg-test.d
gcc test/arg-test.o command-line-arguments.o util/libnotmuch_util.a -o test/arg-test 
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 test/hex-xcode.c -o test/hex-xcode.o -MD -MP -MF .deps/test/hex-xcode.d
gcc test/hex-xcode.o command-line-arguments.o util/libnotmuch_util.a -o test/hex-xcode  -L/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/lib -Wl,-rpath,/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/lib -ltalloc
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 test/random-corpus.c -o test/random-corpus.o -MD -MP -MF .deps/test/random-corpus.d
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 test/database-test.c -o test/database-test.o -MD -MP -MF .deps/test/database-test.d
g++ test/random-corpus.o test/database-test.o notmuch-config.o status.o command-line-arguments.o lib/libnotmuch.a util/libnotmuch_util.a parse-time-string/libparse-time-string.a -o test/random-corpus  -L/nix/store/8ms9r6qw41rds9f59swiaaypmx07p376-gmime-3.0.1/lib -L/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib -lgmime-3.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -L/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/lib -Wl,-rpath,/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/lib -ltalloc -L/nix/store/bcg4yk2kinfd9703m3qlh7gkivkg1kqj-zlib-1.2.11/lib -lz -L/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/lib -lxapian
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 test/parse-time.c -o test/parse-time.o -MD -MP -MF .deps/test/parse-time.d
gcc test/parse-time.o parse-time-string/parse-time-string.o -o test/parse-time 
gcc -c -DNOTMUCH_VERSION=0.25  -std=gnu99 -g -O2 -Wall -Wextra -Wwrite-strings -Wmissing-declarations  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I. -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 test/smtp-dummy.c -o test/smtp-dummy.o -MD -MP -MF .deps/test/smtp-dummy.d
gcc test/smtp-dummy.o -o test/smtp-dummy 
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include test/symbol-test.cc -o test/symbol-test.o -MD -MP -MF .deps/test/symbol-test.d
g++ test/symbol-test.o lib/libnotmuch.so -o test/symbol-test  -Llib -lnotmuch -L/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/lib -lxapian
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include test/make-db-version.cc -o test/make-db-version.o -MD -MP -MF .deps/test/make-db-version.d
g++ test/make-db-version.o -o test/make-db-version  -L/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/lib -lxapian
g++ -c  -g -O2 -Wall -Wextra -Wwrite-strings  -I./util -I./compat -I./lib -fPIC -fvisibility=hidden -I./parse-time-string -I.  -fvisibility-inlines-hidden -D_LARGEFILE64_SOURCE -I/nix/store/a89f956hbha3y6jkvk9l1nmr47vqbwhd-gmime-3.0.1-dev/include/gmime-3.0 -I/nix/store/662mr8x1s9zy70cf6574166ppgd9r6g3-glib-2.52.1-dev/include/glib-2.0 -I/nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1/lib/glib-2.0/include -I/nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8/include -I/nix/store/hv38k79yvhxipbmgi5fi68csi7a4fg45-zlib-1.2.11-dev/include -DHAVE_VALGRIND=0  -DHAVE_GETLINE=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 -DHAVE_XAPIAN_COMPACT=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_FIELD_PROCESSOR=1 -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -I/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/include test/ghost-report.cc -o test/ghost-report.o -MD -MP -MF .deps/test/ghost-report.d
g++ test/ghost-report.o -o test/ghost-report  -L/nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4/lib -lxapian
INFO: using 2 minute timeout for tests

T000-basic: Testing the test framework itself.
 PASS   success is reported like this
 PASS   test runs if prerequisite is satisfied
 PASS   tests clean up after themselves
 PASS   tests clean up even after a failure
 PASS   failure to clean up causes the test to fail
 PASS   Ensure that test output is suppressed unless the test fails
 PASS   Ensure that -v does not suppress test output
 PASS   test that mail store was created
 PASS   mail store should be empty
 PASS   NOTMUCH_CONFIG is set and points to an existing file
 PASS   PATH is set to build directory
 PASS   notmuch is compiled with debugging symbols

T010-help-test: Testing online help
 PASS   notmuch --help
 PASS   notmuch help
 PASS   notmuch --version
 PASS   notmuch --help tag
 PASS   notmuch help tag

T020-compact: Testing "notmuch compact"
 PASS   Running compact
 PASS   Compact preserves database
 PASS   Restoring Backup
 PASS   Checking restored backup

T030-config: Testing "notmuch config"
 PASS   Get string value
 PASS   Get list value
 PASS   Set string value
 PASS   Set string value again
 PASS   Set list value
 PASS   Set list value again
 PASS   Remove key
 PASS   Remove non-existent key
 PASS   List all items
 PASS   Top level --config=FILE option
 PASS   Top level --config:FILE option
 PASS   Top level --config<space>FILE option
 PASS   Top level --config=FILE option changed the right file
 PASS   Read config file through a symlink
 PASS   Write config file through a symlink
 PASS   Writing config file through symlink follows symlink

T040-setup: Testing "notmuch setup"
 PASS   Notmuch new without a config suggests notmuch setup
 PASS   Create a new config interactively

T050-new: Testing "notmuch new" in several variations
 PASS   No new messages
 PASS   Single new message
 PASS   Multiple new messages
 PASS   No new messages (non-empty DB)
 PASS   New directories
 PASS   Alternate inode order
 PASS   Message moved in
 PASS   Renamed message
 PASS   Deleted message
 PASS   Renamed directory
 PASS   Deleted directory
 PASS   New directory (at end of list)
 PASS   Deleted directory (end of list)
 PASS   New symlink to directory
 PASS   New symlink to a file
 PASS   Broken symlink aborts
 PASS   New two-level directory
 PASS   Deleted two-level directory
 PASS   One character directory at top level
 PASS   Support single-message mbox
 PASS   Skip and report non-mail files
 PASS   Ignore files and directories specified in new.ignore
 PASS   Ignore files and directories specified in new.ignore (multiple occurrences)
 PASS   Don't stop for ignored broken symlinks
 PASS   Quiet: No new mail.
 PASS   Quiet: new, removed and renamed messages.
 PASS   Empty tags in new.tags are forbidden
 PASS   Tags starting with '-' in new.tags are forbidden
 PASS   Invalid tags set exit code
 PASS   Xapian exception: read only files
 PASS   Handle files vanishing between scandir and add_file

T060-count: Testing "notmuch count" for messages and threads
 PASS   message count is the default for notmuch count
 PASS   message count with --output=messages
 PASS   thread count with --output=threads
 PASS   thread count is the default for notmuch search
 PASS   files count
 PASS   files count for a duplicate message-id
 PASS   count with no matching messages
 PASS   count with no matching threads
 PASS   message count is the default for batch count
 PASS   batch message count
 PASS   batch thread count
 PASS   batch message count with input file
 PASS   error message for database open
 PASS   error message from query_search_messages
 PASS   count library function is non-destructive

T070-insert: Testing "notmuch insert"
 PASS   Insert zero-length file
 PASS   Insert non-message
 PASS   Database empty so far
 PASS   Insert message
 PASS   Insert message adds default tags
 PASS   Insert duplicate message
 PASS   Duplicate message does not change tags
 PASS   Insert message, add tag
 PASS   Insert message, add/remove tags
 PASS   Insert message with default tags stays in new/
 PASS   Insert message with non-maildir synced tags stays in new/
 PASS   Insert message with custom new.tags goes to cur/
 PASS   Insert message with custom new.tags actually gets the tags
 PASS   Insert message with maildir synced tags goes to cur/
 PASS   Insert message with maildir sync off goes to new/
 PASS   Insert message into folder
 PASS   Insert message into folder with trailing /
 PASS   Insert message into folder, add/remove tags
 PASS   Insert message into non-existent folder
 PASS   Insert message, create folder
 PASS   Insert message, create subfolder
 PASS   Insert message, create existing subfolder
 PASS   Insert message, create invalid subfolder
 PASS   Empty tags in new.tags are forbidden
 PASS   Tags starting with '-' in new.tags are forbidden
 PASS   Invalid tags set exit code
 PASS   EXIT_FAILURE when index_file returns FILE_NOT_EMAIL
 PASS   success exit with --keep when index_file returns FILE_NOT_EMAIL
 PASS   EXIT_FAILURE when index_file returns READ_ONLY_DATABASE
 PASS   success exit with --keep when index_file returns READ_ONLY_DATABASE
 PASS   EXIT_FAILURE when index_file returns UPGRADE_REQUIRED
 PASS   success exit with --keep when index_file returns UPGRADE_REQUIRED
 PASS   EXIT_FAILURE when index_file returns PATH_ERROR
 PASS   success exit with --keep when index_file returns PATH_ERROR
 PASS   EX_TEMPFAIL when index_file returns OUT_OF_MEMORY
 PASS   success exit with --keep when index_file returns OUT_OF_MEMORY
 PASS   EX_TEMPFAIL when index_file returns XAPIAN_EXCEPTION
 PASS   success exit with --keep when index_file returns XAPIAN_EXCEPTION

T080-search: Testing "notmuch search" in several variations
 PASS   Search body
 PASS   Search by from:
 PASS   Search by to:
 PASS   Search by subject:
 PASS   Search by subject (utf-8):
 PASS   Search by id:
 PASS   Search by mid:
 PASS   Search by tag:
 PASS   Search by thread:
 PASS   Search body (phrase)
 PASS   Search by from: (address)
 PASS   Search by from: (name)
 PASS   Search by from: (name and address)
 PASS   Search by from: without prefix (name and address)
 PASS   Search by to: (address)
 PASS   Search by to: (name)
 PASS   Search by to: (name and adress)
 PASS   Search by to: without prefix (name and adress)
 PASS   Search by subject: (phrase)
 PASS   Search for all messages ("*")
 PASS   Search body (utf-8):
 PASS   headers do not have adjacent term positions
 PASS   parts have non-overlapping term positions
 PASS   parts do not have adjacent term positions

T090-search-output: Testing various settings for "notmuch search --output="
 PASS   --output=threads
 PASS   --output=threads --format=json
 PASS   --output=messages
 PASS   --output=messages --duplicate=1
 PASS   --output=messages --duplicate=2
 PASS   --output=messages --duplicate=3
 PASS   --output=messages --format=json
 PASS   --output=messages --format=json --duplicate=1
 PASS   --output=messages --format=json --duplicate=2
 PASS   --output=messages --format=json --duplicate=3
 PASS   --output=files
 PASS   --output=files --duplicate=1
 PASS   --output=files --format=json
 PASS   --output=files --format=json --duplicate=2
 PASS   --output=tags
 PASS   --output=tags --format=json
 PASS   sanitize output for quoted-printable line-breaks in author and subject
 PASS   search for non-existent message prints nothing
 PASS   search --format=json for non-existent message prints proper empty json

T095-address: Testing "notmuch address" in several variants
 PASS   --output=sender
 PASS   without --output
 PASS   --output=sender --format=json
 PASS   --output=recipients
 PASS   --output=sender --output=recipients
 PASS   --output=sender --output=count
 PASS   --output=count --format=json
 PASS   --deduplicate=no --sort=oldest-first --output=sender
 PASS   --deduplicate=no --sort=newest-first --output=sender --output=recipients
 PASS   --deduplicate=address --output=sender --output=recipients
 PASS   --deduplicate=no --output=sender
 PASS   --deduplicate=mailbox --output=sender --output=count
 PASS   --deduplicate=address --output=sender --output=count

T100-search-by-folder: Testing "notmuch search" by folder: and path: (with variations)
 PASS   Single-world folder: specification (multiple results)
 PASS   Top level folder
 PASS   Two-word path to narrow results to one
 PASS   Folder search with --output=files
 PASS   After removing duplicate instance of matching path
 PASS   Folder search with --output=files part #2
 PASS   After removing duplicate instance of matching path part #2
 PASS   After rename, old path returns nothing
 PASS   After rename, new path returns result
 PASS   folder: search
 PASS   top level folder: search
 PASS   path: search
 PASS   top level path: search
 PASS   recursive path: search

T110-search-position-overlap-bug: Testing that notmuch does not overlap term positions
 PASS   Search for a@b.c matches
 PASS   Search for x@y.z matches
 PASS   Search for a@y.c must not match

T120-search-insufficient-from-quoting: Testing messages with unquoted . in name
 PASS   Search by first name
 PASS   Search by last name:
 PASS   Search by address:
 PASS   Search for all messages:

T130-search-limiting: Testing "notmuch search" --offset and --limit parameters
 PASS   messages: limit does the right thing
 PASS   messages: concatenation of limited searches
 PASS   messages: limit larger than result set
 PASS   messages: limit = 0
 PASS   messages: offset does the right thing
 PASS   messages: offset = 0
 PASS   messages: negative offset
 PASS   messages: negative offset
 PASS   messages: negative offset combined with limit
 PASS   messages: negative offset combined with equal limit
 PASS   messages: negative offset combined with large limit
 PASS   messages: negative offset larger then results
 PASS   threads: limit does the right thing
 PASS   threads: concatenation of limited searches
 PASS   threads: limit larger than result set
 PASS   threads: limit = 0
 PASS   threads: offset does the right thing
 PASS   threads: offset = 0
 PASS   threads: negative offset
 PASS   threads: negative offset
 PASS   threads: negative offset combined with limit
 PASS   threads: negative offset combined with equal limit
 PASS   threads: negative offset combined with large limit
 PASS   threads: negative offset larger then results

T140-excludes: Testing "notmuch search, count and show" with excludes in several variations
 PASS   Search, exclude "deleted" messages from search
 PASS   Search, exclude "deleted" messages from message search
 PASS   Search, exclude "deleted" messages from message search --exclude=false
 PASS   Search, exclude "deleted" messages from message search (non-existent exclude-tag)
 PASS   Search, exclude "deleted" messages from search, overridden
 PASS   Search, exclude "deleted" messages from threads
 PASS   Search, don't exclude "deleted" messages when --exclude=flag specified
 PASS   Search, don't exclude "deleted" messages from search if not configured
 PASS   Search, default exclusion (thread summary)
 PASS   Search, default exclusion (messages)
 PASS   Search, exclude=true (thread summary)
 PASS   Search, exclude=true (messages)
 PASS   Search, exclude=false (thread summary)
 PASS   Search, exclude=false (messages)
 PASS   Search, exclude=flag (thread summary)
 PASS   Search, exclude=flag (messages)
 PASS   Search, exclude=all (thread summary)
 PASS   Search, exclude=all (messages)
 PASS   Search, default exclusion: tag in query (thread summary)
 PASS   Search, default exclusion: tag in query (messages)
 PASS   Search, exclude=true: tag in query (thread summary)
 PASS   Search, exclude=true: tag in query (messages)
 PASS   Search, exclude=false: tag in query (thread summary)
 PASS   Search, exclude=false: tag in query (messages)
 PASS   Search, exclude=flag: tag in query (thread summary)
 PASS   Search, exclude=flag: tag in query (messages)
 PASS   Search, exclude=all: tag in query (thread summary)
 PASS   Search, exclude=all: tag in query (messages)
 PASS   Count, default exclusion (messages)
 PASS   Count, default exclusion (threads)
 PASS   Count, exclude=true (messages)
 PASS   Count, exclude=true (threads)
 PASS   Count, exclude=false (messages)
 PASS   Count, exclude=false (threads)
 PASS   Count, default exclusion: tag in query (messages)
 PASS   Count, default exclusion: tag in query (threads)
 PASS   Count, exclude=true: tag in query (messages)
 PASS   Count, exclude=true: tag in query (threads)
 PASS   Count, exclude=false: tag in query (messages)
 PASS   Count, exclude=false: tag in query (threads)
 PASS   Show, default exclusion
 PASS   Show, default exclusion (entire-thread)
 PASS   Show, exclude=true
 PASS   Show, exclude=true (entire-thread)
 PASS   Show, exclude=false
 PASS   Show, exclude=false (entire-thread)

T150-tagging: Testing "notmuch tag"
 PASS   Adding tags
 PASS   Removing tags
 PASS   No tag operations
 PASS   No query
 PASS   Redundant tagging
 PASS   Remove all
 PASS   Remove all with batch
 PASS   Remove all with a no-op
 PASS   Special characters in tags
 PASS   Tagging order
 PASS   --batch
 PASS   --input
 PASS   --batch --input
 PASS   --batch --input --remove-all
 PASS   --batch, blank lines and comments
 PASS   --batch: checking error messages
 PASS   --batch: tags with quotes
 PASS   --batch: tags with punctuation and space
 PASS   --batch: unicode tags
 PASS   --batch: only space and % needs to be encoded.
 PASS   --batch: unicode message-ids
 PASS   Empty tag names
 PASS   Tag name beginning with -
 PASS   Xapian exception: read only files

T160-json: Testing --format=json output
 PASS   Show message: json
 PASS   Show message: json --body=true
 PASS   Show message: json --body=false
 PASS   Search message: json
 PASS   Show message: json, utf-8
 PASS   Show message: json, inline attachment filename
 PASS   Search message: json, utf-8
 PASS   Format version: too low
 PASS   Format version: too high
 PASS   Show message: multiple filenames
 PASS   Show message: multiple filenames, format version 2

T170-sexp: Testing --format=sexp output
 PASS   Show message: sexp
 PASS   Show message: sexp --body=true
 PASS   Show message: sexp --body=false
 PASS   Search message: sexp
 PASS   Show message: sexp, utf-8
 PASS   Search message: sexp, utf-8
 PASS   Show message: sexp, inline attachment filename

T180-text: Testing --format=text output
 PASS   Show message: text
 PASS   Search message: text
 PASS   Show message: text, utf-8
 PASS   Search message: text, utf-8
 PASS   Search message tags: text0
 PASS   Compare text vs. text0 for threads
 PASS   Compare text vs. text0 for messages
 PASS   Compare text vs. text0 for files
 PASS   Compare text vs. text0 for tags

T190-multipart: Testing output of multipart message
 PASS   --format=text --part=0, full message
 PASS   --format=text --part=1, message body
 PASS   --format=text --part=2, multipart/mixed
 PASS   --format=text --part=3, rfc822 part
 PASS   --format=text --part=4, rfc822's multipart
 PASS   --format=text --part=5, rfc822's html part
 PASS   --format=text --part=6, rfc822's text part
 PASS   --format=text --part=7, inline attachement
 PASS   --format=text --part=8, plain text part
 PASS   --format=text --part=9, pgp signature (unverified)
 PASS   --format=text --part=8, no part, expect error
 PASS   --format=json --part=0, full message
 PASS   --format=json --part=1, message body
 PASS   --format=json --part=2, multipart/mixed
 PASS   --format=json --part=3, rfc822 part
 PASS   --format=json --part=4, rfc822's multipart/alternative
 PASS   --format=json --part=5, rfc822's html part
 PASS   --format=json --part=6, rfc822's text part
 PASS   --format=json --part=7, inline attachment
 PASS   --format=json --part=8, plain text part
 PASS   --format=json --part=9, pgp signature (unverified)
 PASS   --format=json --part=10, no part, expect error
 PASS   --format=raw
 PASS   --format=raw --part=0, full message
 PASS   --format=raw --part=1, message body
 PASS   --format=raw --part=2, multipart/mixed
 PASS   --format=raw --part=3, rfc822 part
 PASS   --format=raw --part=4, rfc822's multipart
 PASS   --format=raw --part=5, rfc822's html part
 PASS   --format=raw --part=6, rfc822's text part
 PASS   --format=raw --part=7, inline attachment
 PASS   --format=raw --part=8, plain text part
 PASS   --format=raw --part=9, pgp signature (unverified)
 PASS   --format=raw --part=10, no part, expect error
 PASS   --format=mbox
 PASS   --format=mbox --part=1, incompatible, expect error
 PASS   'notmuch reply' to a multipart message
 PASS   'notmuch reply' to a multipart message with json format
 PASS   'notmuch show --part' does not corrupt a part with CRLF pair
 PASS   html parts excluded by default
 PASS   html parts included
 PASS   indexes mime-type #1
 PASS   indexes mime-type #2
 PASS   indexes mime-type #3
 PASS   case of Content-Disposition doesn't matter for indexing

T200-thread-naming: Testing naming of threads with changing subject
 PASS   Initial thread name (oldest-first search)
 PASS   Initial thread name (newest-first search)
 PASS   Changed thread name (oldest-first search)
 PASS   Changed thread name (newest-first search)
 PASS   Ignore added reply prefix (Re:)
 PASS   Ignore added reply prefix (Aw:)
 PASS   Ignore added reply prefix (Vs:)
 PASS   Ignore added reply prefix (Sv:)
 PASS   Use empty subjects if necessary.
 PASS   Avoid empty subjects if possible (newest-first).
 PASS   Avoid empty subjects if possible (oldest-first).
 PASS   Test order of messages in "notmuch show"

T205-author-naming: Testing naming of authors with unusual addresses
 PASS   Add author with empty quoted real name

T210-raw: Testing notmuch show --format=raw
 PASS   Attempt to show multiple raw messages
 PASS   Show a raw message
 PASS   Show another raw message

T220-reply: Testing "notmuch reply" in several variations
 PASS   Basic reply
 PASS   Multiple recipients
 PASS   Reply with CC
 PASS   Reply from alternate address
 PASS   Reply from address in named group list
 PASS   Support for Reply-To
 PASS   Un-munging Reply-To
 PASS   Un-munging Reply-To With Exact Match
 PASS   Un-munging Reply-To With Raw addr-spec
 PASS   Message with header of exactly 200 bytes
 PASS   From guessing: Envelope-To
 PASS   From guessing: X-Original-To
 PASS   From guessing: Delivered-To
 PASS   Reply with RFC 2047-encoded headers
 PASS   Reply with RFC 2047-encoded headers (JSON)
 PASS   Reply to a message with multiple Cc headers

T230-reply-to-sender: Testing "notmuch reply --reply-to=sender" in several variations
 PASS   Basic reply-to-sender
 PASS   From Us, Basic reply to message
 PASS   Multiple recipients
 PASS   From Us, Multiple TO recipients
 PASS   Reply with CC
 PASS   From Us, Reply with CC
 PASS   From Us, Reply no TO but with CC
 PASS   Reply from alternate address
 PASS   Support for Reply-To
 PASS   Support for Reply-To with multiple recipients
 PASS   Un-munging Reply-To
 PASS   Message with header of exactly 200 bytes

T240-dump-restore: Testing "notmuch dump" and "notmuch restore"
 PASS   dump header
 PASS   Dumping all tags
 PASS   Dumping all tags II
 PASS   Clearing all tags
 PASS   Clearing all tags
 PASS   Restoring original tags
 PASS   Restore with nothing to do
 PASS   Accumulate with existing tags
 PASS   Accumulate with no tags
 PASS   Accumulate with new tags
 PASS   Invalid restore invocation
 PASS   dump --output=outfile
 PASS   dump --output=outfile --
 PASS   dump --gzip
 PASS   dump --gzip --output=outfile
 PASS   restoring gzipped stdin
 PASS   restoring gzipped file
 PASS   dump -- from:cworth
 PASS   dump --output=outfile from:cworth
 PASS   dump --output=outfile -- from:cworth
 PASS   Check for a safe set of message-ids
 PASS   format=batch-tag, dump sanity check.
 PASS   format=batch-tag, missing newline
 PASS   format=batch-tag, # round-trip
 PASS   format=batch-tag, # blank lines and comments
 PASS   format=batch-tag, # reverse-round-trip empty tag
 PASS   restoring empty file is not an error
 PASS   file of comments and blank lines is not an error
 PASS   detect format=batch-tag with leading comments and blanks
 PASS   detect format=sup with leading comments and blanks
 PASS   format=batch-tag, round trip with strange tags
 PASS   format=batch-tag, checking encoded output
 PASS   restoring sane tags
 PASS   format=batch-tag, restore=auto
 PASS   format=sup, restore=auto
 PASS   format=batch-tag, restore=default
 PASS   format=sup, restore=default
 PASS   restore: checking error messages
 PASS   roundtripping random message-ids and tags

T250-uuencode: Testing handling of uuencoded data
 PASS   Ensure content before uu data is indexed
 PASS   Ensure uu data is not indexed
 PASS   Ensure content after uu data is indexed

T260-thread-order: Testing threading when messages received out of order
 PASS   Messages with one parent get linked in all delivery orders
 PASS   Messages with all parents get linked in all delivery orders

T270-author-order: Testing author reordering;
 PASS   Adding parent message
 PASS   Adding initial child message
 PASS   Adding second child message
 PASS   Searching when all three messages match
 PASS   Searching when two messages match
 PASS   Searching when only one message matches
 PASS   Searching when only first message matches
 PASS   Adding duplicate author
 PASS   Searching when all four messages match
 PASS   Adding non-monotonic child message
 PASS   Searching non-monotonic messages (oldest-first)
 PASS   Searching non-monotonic messages (newest-first)

T280-from-guessing: Testing From line heuristics (with multiple configured addresses)
 PASS   Magic from guessing (nothing to go on)
 PASS   Magic from guessing (Envelope-to:)
 PASS   Magic from guessing (X-Original-To:)
 PASS   Magic from guessing (Received: .. for ..)
 PASS   Magic from guessing (Received: domain)
 PASS   Magic from guessing (multiple Received: headers)
 PASS   Testing From line heuristics (with single configured address)
 PASS   Magic from guessing (nothing to go on)
 PASS   Magic from guessing (Envelope-to:)
 PASS   Magic from guessing (X-Original-To:)
 PASS   Magic from guessing (Received: .. for ..)
 PASS   Magic from guessing (Received: domain)

T290-long-id: Testing messages with ridiculously-long message IDs
 PASS   Referencing long ID before adding
 PASS   Adding message with long ID
 PASS   Referencing long ID after adding
 PASS   Ensure all messages were threaded together

T300-encoding: Testing encoding issues
 PASS   Message with text of unknown charset
 PASS   Search for ISO-8859-2 encoded message
 PASS   RFC 2047 encoded word with spaces
 PASS   RFC 2047 encoded words back to back
 PASS   RFC 2047 encoded words without space before or after

T310-emacs: Testing emacs interface
 PASS   Syntax of emacs test library
 PASS   Basic notmuch-hello view in emacs
 PASS   Saved search with 0 results
 PASS   No saved searches displayed (all with 0 results)
 PASS   Basic notmuch-search view in emacs
 PASS   Incremental parsing of search results
 PASS   Navigation of notmuch-hello to search results
 FAIL   Basic notmuch-show view in emacs
	--- T310-emacs.8.notmuch-show-thread-maildir-storage	2017-08-31 14:24:53.560842861 +0000
	+++ T310-emacs.8.OUTPUT	2017-08-31 14:24:53.561842865 +0000
	@@ -5,7 +5,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 I saw the LWN article and decided to take a look at notmuch.  I'm
	 currently using mutt and mairix to index and read a collection of
	@@ -46,7 +46,7 @@
	 
	  [ multipart/mixed ]
	  [ multipart/signed ]
	- [ Unknown key ID 0x9D20F6503E338888 or unsupported algorithm ]
	+ [ Unknown signature status ]
	  [ text/plain ]
	 
	  Twas brillig at 14:00:54 17.11.2009 UTC-05 when lars@seas.harvard.edu did
	@@ -79,7 +79,7 @@
	 
	   [ multipart/mixed ]
	   [ multipart/signed ]
	-  [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+  [ Unknown signature status ]
	   [ text/plain ]
	   > See the patch just posted here.
	 
	@@ -162,7 +162,7 @@
	 
	     [ multipart/mixed ]
	     [ multipart/signed ]
	-    [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+    [ Unknown signature status ]
	     [ text/plain ]
	     > I've also pushed a slightly more complicated (and complete) fix to my
	     > private notmuch repository
nil
 FAIL   Basic notmuch-show view in emacs default indentation
	--- T310-emacs.9.notmuch-show-thread-maildir-storage	2017-08-31 14:24:53.612843092 +0000
	+++ T310-emacs.9.OUTPUT	2017-08-31 14:24:53.613843097 +0000
	@@ -5,7 +5,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 I saw the LWN article and decided to take a look at notmuch.  I'm
	 currently using mutt and mairix to index and read a collection of
	@@ -46,7 +46,7 @@
	 
	  [ multipart/mixed ]
	  [ multipart/signed ]
	- [ Unknown key ID 0x9D20F6503E338888 or unsupported algorithm ]
	+ [ Unknown signature status ]
	  [ text/plain ]
	 
	  Twas brillig at 14:00:54 17.11.2009 UTC-05 when lars@seas.harvard.edu did
	@@ -79,7 +79,7 @@
	 
	   [ multipart/mixed ]
	   [ multipart/signed ]
	-  [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+  [ Unknown signature status ]
	   [ text/plain ]
	   > See the patch just posted here.
	 
	@@ -162,7 +162,7 @@
	 
	     [ multipart/mixed ]
	     [ multipart/signed ]
	-    [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+    [ Unknown signature status ]
	     [ text/plain ]
	     > I've also pushed a slightly more complicated (and complete) fix to my
	     > private notmuch repository
nil
 FAIL   Basic notmuch-show view in emacs without indentation
	--- T310-emacs.10.notmuch-show-thread-maildir-storage-without-indentation	2017-08-31 14:24:53.651843266 +0000
	+++ T310-emacs.10.OUTPUT	2017-08-31 14:24:53.652843270 +0000
	@@ -5,7 +5,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 I saw the LWN article and decided to take a look at notmuch.  I'm
	 currently using mutt and mairix to index and read a collection of
	@@ -46,7 +46,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0x9D20F6503E338888 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 
	 Twas brillig at 14:00:54 17.11.2009 UTC-05 when lars@seas.harvard.edu did gyre
	@@ -79,7 +79,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 > See the patch just posted here.
	 
	@@ -162,7 +162,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 > I've also pushed a slightly more complicated (and complete) fix to my
	 > private notmuch repository
nil
 FAIL   Basic notmuch-show view in emacs with fourfold indentation
	--- T310-emacs.11.notmuch-show-thread-maildir-storage-with-fourfold-indentation	2017-08-31 14:24:53.691843444 +0000
	+++ T310-emacs.11.OUTPUT	2017-08-31 14:24:53.692843448 +0000
	@@ -5,7 +5,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 I saw the LWN article and decided to take a look at notmuch.  I'm
	 currently using mutt and mairix to index and read a collection of
	@@ -46,7 +46,7 @@
	 
	     [ multipart/mixed ]
	     [ multipart/signed ]
	-    [ Unknown key ID 0x9D20F6503E338888 or unsupported algorithm ]
	+    [ Unknown signature status ]
	     [ text/plain ]
	 
	     Twas brillig at 14:00:54 17.11.2009 UTC-05 when lars@seas.harvard.edu did
	@@ -79,7 +79,7 @@
	 
	 	[ multipart/mixed ]
	 	[ multipart/signed ]
	-	[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+	[ Unknown signature status ]
	 	[ text/plain ]
	 	> See the patch just posted here.
	 
	@@ -165,7 +165,7 @@
	 
	 		[ multipart/mixed ]
	 		[ multipart/signed ]
	-		[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+		[ Unknown signature status ]
	 		[ text/plain ]
	 		> I've also pushed a slightly more complicated (and complete)
	 		> fix to my
nil
 BROKEN notmuch-show for message with invalid From
	--- T310-emacs.12.EXPECTED	2017-08-31 14:24:53.742843671 +0000
	+++ T310-emacs.12.OUTPUT	2017-08-31 14:24:53.743843675 +0000
	@@ -1,4 +1,4 @@
	-"Invalid " (2001-01-05) (inbox)
	+Invalid " From <test_suite@notmuchmail.org> (2001-01-05) (inbox)
	 Subject: message-with-invalid-from
	 To: Notmuch Test Suite <test_suite@notmuchmail.org>
	 Date: GENERATED_DATE
nil
 FAIL   Navigation of notmuch-search to thread view
	--- T310-emacs.13.notmuch-show-thread-maildir-storage	2017-08-31 14:24:53.811843978 +0000
	+++ T310-emacs.13.OUTPUT	2017-08-31 14:24:53.812843982 +0000
	@@ -5,7 +5,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 I saw the LWN article and decided to take a look at notmuch.  I'm
	 currently using mutt and mairix to index and read a collection of
	@@ -46,7 +46,7 @@
	 
	  [ multipart/mixed ]
	  [ multipart/signed ]
	- [ Unknown key ID 0x9D20F6503E338888 or unsupported algorithm ]
	+ [ Unknown signature status ]
	  [ text/plain ]
	 
	  Twas brillig at 14:00:54 17.11.2009 UTC-05 when lars@seas.harvard.edu did
	@@ -79,7 +79,7 @@
	 
	   [ multipart/mixed ]
	   [ multipart/signed ]
	-  [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+  [ Unknown signature status ]
	   [ text/plain ]
	   > See the patch just posted here.
	 
	@@ -162,7 +162,7 @@
	 
	     [ multipart/mixed ]
	     [ multipart/signed ]
	-    [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+    [ Unknown signature status ]
	     [ text/plain ]
	     > I've also pushed a slightly more complicated (and complete) fix to my
	     > private notmuch repository
nil
 PASS   Add tag from search view
 PASS   Remove tag from search view
 PASS   Add tag (large query)
 PASS   notmuch-show: add single tag to single message
 PASS   notmuch-show: remove single tag from single message
 PASS   notmuch-show: add multiple tags to single message
 PASS   notmuch-show: remove multiple tags from single message
 PASS   Message with .. in Message-Id:
 PASS   Message with quote in Message-Id:
 PASS   Sending a message via (fake) SMTP
 PASS   Folding a long header when sending via (fake) SMTP
 PASS   Verify that sent messages are saved/searchable (via FCC)
 PASS   notmuch-fcc-dirs set to nil
 PASS   notmuch-fcc-dirs set to a string
 PASS   notmuch-fcc-dirs set to a list (with match)
 PASS   notmuch-fcc-dirs set to a list (catch-all)
 PASS   notmuch-fcc-dirs set to a list (no match)
 PASS   Reply within emacs
 PASS   Reply from alternate address within emacs
 PASS   Reply from address in named group list within emacs
 PASS   Reply within emacs to a multipart/mixed message
 PASS   Reply within emacs to a multipart/alternative message
 PASS   Reply within emacs to an html-only message
 BROKEN Reply within emacs to message from self
	--- T310-emacs.37.EXPECTED	2017-08-31 14:24:55.807852851 +0000
	+++ T310-emacs.37.OUTPUT	2017-08-31 14:24:55.808852856 +0000
	@@ -1,5 +1,5 @@
	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
	-To: test_suite@notmuchmail.org
	+To: 
	 Subject: Re: Reply within emacs to message from self
	 In-Reply-To: <XXX>
	 Fcc: /tmp/nix-build-notmuch-0.25.drv-0/notmuch-46bda29/test/tmp.T310-emacs/mail/sent
nil
 PASS   Quote MML tags in reply
 PASS   Save attachment from within emacs using notmuch-show-save-attachments
 PASS   Save attachment from within emacs using notmuch-show-save-part
 PASS   Save 8bit attachment from within emacs using notmuch-show-save-attachments
 PASS   View raw message within emacs
 FAIL   Hiding/showing signature in notmuch-show view
	--- T310-emacs.43.notmuch-show-thread-maildir-storage	2017-08-31 14:24:56.079854059 +0000
	+++ T310-emacs.43.OUTPUT	2017-08-31 14:24:56.080854064 +0000
	@@ -5,7 +5,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 I saw the LWN article and decided to take a look at notmuch.  I'm
	 currently using mutt and mairix to index and read a collection of
	@@ -46,7 +46,7 @@
	 
	  [ multipart/mixed ]
	  [ multipart/signed ]
	- [ Unknown key ID 0x9D20F6503E338888 or unsupported algorithm ]
	+ [ Unknown signature status ]
	  [ text/plain ]
	 
	  Twas brillig at 14:00:54 17.11.2009 UTC-05 when lars@seas.harvard.edu did
	@@ -79,7 +79,7 @@
	 
	   [ multipart/mixed ]
	   [ multipart/signed ]
	-  [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+  [ Unknown signature status ]
	   [ text/plain ]
	   > See the patch just posted here.
	 
	@@ -162,7 +162,7 @@
	 
	     [ multipart/mixed ]
	     [ multipart/signed ]
	-    [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+    [ Unknown signature status ]
	     [ text/plain ]
	     > I've also pushed a slightly more complicated (and complete) fix to my
	     > private notmuch repository
nil
 PASS   Detection and hiding of top-post quoting of message
 PASS   Hiding message in notmuch-show view
 PASS   Hiding message with visible citation in notmuch-show view
 PASS   notmuch-show: show message headers
 PASS   notmuch-show: hide message headers
 PASS   notmuch-show: hide message headers (w/ notmuch-show-toggle-visibility-headers)
 PASS   notmuch-show: collapse all messages in thread
 PASS   notmuch-show: uncollapse all messages in thread
 PASS   Stashing in notmuch-show
 PASS   Stashing in notmuch-search
 PASS   notmuch-show-advance-and-archive with invisible signature
 PASS   Refresh show buffer
 PASS   Refresh modified show buffer
 PASS   Do not call notmuch for non-inlinable application/mpeg parts
 PASS   Do not call notmuch for non-inlinable audio/mpeg parts
 PASS   notmuch-hello-mode hook is called
 PASS   notmuch-hello-mode hook is not called on updates
 PASS   notmuch-hello-refresh hook is called
 PASS   notmuch-hello-refresh hook is called on updates
 PASS   Rendering HTML mail with images
 PASS   Search handles subprocess error exit codes
 PASS   Search handles subprocess warnings
 PASS   Search thread tag operations are race-free
 PASS   Search global tag operations are race-free
 PASS   Term escaping

T320-emacs-large-search-buffer: Testing Emacs with large search results buffer
 PASS   Ensure that emacs doesn't drop results

T330-emacs-subject-to-filename: Testing emacs: mail subject to filename
 PASS   no patch sequence number
 PASS   patch sequence number #1
 PASS   patch sequence number #2
 PASS   patch sequence number #3
 PASS   patch sequence number #4
 PASS   patch sequence number #5
 PASS   patch sequence number #6
 PASS   patch sequence number #7
 PASS   filename #1
 PASS   filename #2
 PASS   filename #3
 PASS   filename #4
 PASS   filename #5
 PASS   filename #6
 PASS   filename #7
 PASS   filename #8
 PASS   filename #9
 PASS   patch filename #1
 PASS   patch filename #2
 PASS   patch filename #3
 PASS   patch filename #4

T340-maildir-sync: Testing maildir synchronization
 PASS   Adding 'S' flag to existing filename removes 'unread' tag
 PASS   Adding message with 'S' flag prevents 'unread' tag
 PASS   Adding message with 'S' w/o 'unread' in new.tags prevents 'unread' tag
 PASS   Adding 'replied' tag adds 'R' flag to filename
 PASS   notmuch show works with renamed file (without notmuch new)
 PASS   notmuch reply works with renamed file (without notmuch new)
 PASS   notmuch new detects no file rename after tag->flag synchronization
 PASS   When read, message moved from new to cur
 PASS   No rename should be detected by notmuch new
 PASS   Adding non-maildir tags does not move message from new to cur
 PASS   Message in cur lacking maildir info gets one on any tag change
 PASS   Message in new with maildir info is moved to cur on any tag change
 PASS   Removing 'S' flag from existing filename adds 'unread' tag
 PASS   Removing info from filename leaves tags unchanged
 PASS   Can remove unread tag from message in non-maildir directory
 PASS   Message in non-maildir directory does not get renamed
 PASS   notmuch dump/restore re-synchronizes maildir tags with flags
 PASS   Adding flags to duplicate message tags the mail
 PASS   Adding duplicate message without flags does not remove tags
 PASS   Tag changes modify flags of multiple files
 PASS   Synchronizing tag changes preserves unsupported maildir flags
 PASS   A file with non-compliant maildir info will not be renamed
 PASS   Files in new/ get default synchronized tags
 PASS   draft is valid in new.tags
 PASS   flagged is valid in new.tags
 PASS   passed is valid in new.tags
 PASS   replied is valid in new.tags

T350-crypto: Testing PGP/MIME signature verification and decryption
 PASS   emacs delivery of signed message
 FAIL   signature verification
	--- T350-crypto.2.expected	2017-08-31 14:25:03.126885225 +0000
	+++ T350-crypto.2.output	2017-08-31 14:25:03.126885225 +0000
	@@ -18,13 +18,7 @@
	                         ], 
	                         "content-type": "multipart/signed", 
	                         "id": 1, 
	-                        "sigstatus": [
	-                            {
	-                                "created": 946728000, 
	-                                "fingerprint": "5AEAB11F5E33DCE875DDB75B6D92612D94E46381", 
	-                                "status": "good"
	-                            }
	-                        ]
	+                        "sigstatus": []
	                     }
	                 ], 
	                 "date_relative": "2000-01-01", 
Failed to verify signed part: Cannot verify multipart/signed part: unregistered signature protocol 'application/pgp-signature'.
 FAIL   detection of modified signed contents
	--- T350-crypto.3.expected	2017-08-31 14:25:03.459886692 +0000
	+++ T350-crypto.3.output	2017-08-31 14:25:03.459886692 +0000
	@@ -18,12 +18,7 @@
	                         ], 
	                         "content-type": "multipart/signed", 
	                         "id": 1, 
	-                        "sigstatus": [
	-                            {
	-                                "keyid": "6D92612D94E46381", 
	-                                "status": "bad"
	-                            }
	-                        ]
	+                        "sigstatus": []
	                     }
	                 ], 
	                 "date_relative": "2000-01-01", 
t
Failed to verify signed part: Cannot verify multipart/signed part: unregistered signature protocol 'application/pgp-signature'.
 PASS   corrupted pgp/mime signature
 FAIL   signature verification with full owner trust
	--- T350-crypto.5.expected	2017-08-31 14:25:03.858888449 +0000
	+++ T350-crypto.5.output	2017-08-31 14:25:03.858888449 +0000
	@@ -18,14 +18,7 @@
	                         ], 
	                         "content-type": "multipart/signed", 
	                         "id": 1, 
	-                        "sigstatus": [
	-                            {
	-                                "created": 946728000, 
	-                                "fingerprint": "5AEAB11F5E33DCE875DDB75B6D92612D94E46381", 
	-                                "status": "good", 
	-                                "userid": "Notmuch Test Suite <test_suite@notmuchmail.org> (INSECURE!)"
	-                            }
	-                        ]
	+                        "sigstatus": []
	                     }
	                 ], 
	                 "date_relative": "2000-01-01", 
Failed to verify signed part: Cannot verify multipart/signed part: unregistered signature protocol 'application/pgp-signature'.
 FAIL   signature verification with signer key unavailable
	--- T350-crypto.6.expected	2017-08-31 14:25:03.912888687 +0000
	+++ T350-crypto.6.output	2017-08-31 14:25:03.912888687 +0000
	@@ -18,15 +18,7 @@
	                         ], 
	                         "content-type": "multipart/signed", 
	                         "id": 1, 
	-                        "sigstatus": [
	-                            {
	-                                "errors": {
	-                                    "key-missing": true
	-                                }, 
	-                                "keyid": "6D92612D94E46381", 
	-                                "status": "error"
	-                            }
	-                        ]
	+                        "sigstatus": []
	                     }
	                 ], 
	                 "date_relative": "2000-01-01", 
Failed to verify signed part: Cannot verify multipart/signed part: unregistered signature protocol 'application/pgp-signature'.
 PASS   emacs delivery of encrypted message with attachment
 FAIL   decryption, --format=text
	--- T350-crypto.8.expected	2017-08-31 14:25:04.212890010 +0000
	+++ T350-crypto.8.output	2017-08-31 14:25:04.212890010 +0000
	@@ -11,13 +11,8 @@
	 \fpart{ ID: 2, Content-type: application/pgp-encrypted
	 Non-text part: application/pgp-encrypted
	 \fpart}
	-\fpart{ ID: 3, Content-type: multipart/mixed
	-\fpart{ ID: 4, Content-type: text/plain
	-This is a test encrypted message.
	-\fpart}
	-\fattachment{ ID: 5, Filename: TESTATTACHMENT, Content-type: application/octet-stream
	+\fpart{ ID: 3, Content-type: application/octet-stream
	 Non-text part: application/octet-stream
	-\fattachment}
	 \fpart}
	 \fpart}
	 \fbody}
Failed to decrypt part: Cannot decrypt multipart/encrypted part: unregistered encryption protocol 'application/pgp-encrypted'.
 FAIL   decryption, --format=json
	--- T350-crypto.9.expected	2017-08-31 14:25:04.264890237 +0000
	+++ T350-crypto.9.output	2017-08-31 14:25:04.264890237 +0000
	@@ -11,33 +11,18 @@
	                                 "id": 2
	                             }, 
	                             {
	-                                "content": [
	-                                    {
	-                                        "content": "This is a test encrypted message.\n", 
	-                                        "content-type": "text/plain", 
	-                                        "id": 4
	-                                    }, 
	-                                    {
	-                                        "content-disposition": "attachment", 
	-                                        "content-length": "NONZERO", 
	-                                        "content-transfer-encoding": "base64", 
	-                                        "content-type": "application/octet-stream", 
	-                                        "filename": "TESTATTACHMENT", 
	-                                        "id": 5
	-                                    }
	-                                ], 
	-                                "content-type": "multipart/mixed", 
	+                                "content-length": "NONZERO", 
	+                                "content-type": "application/octet-stream", 
	                                 "id": 3
	                             }
	                         ], 
	                         "content-type": "multipart/encrypted", 
	                         "encstatus": [
	                             {
	-                                "status": "good"
	+                                "status": "bad"
	                             }
	                         ], 
	-                        "id": 1, 
	-                        "sigstatus": []
	+                        "id": 1
	                     }
	                 ], 
	                 "date_relative": "2000-01-01", 
Failed to decrypt part: Cannot decrypt multipart/encrypted part: unregistered encryption protocol 'application/pgp-encrypted'.
 FAIL   decryption, --format=json, --part=4
	--- T350-crypto.10.expected	2017-08-31 14:25:04.482891196 +0000
	+++ T350-crypto.10.output	2017-08-31 14:25:04.483891200 +0000
	@@ -1,5 +1 @@
	-{
	-    "content": "This is a test encrypted message.\n", 
	-    "content-type": "text/plain", 
	-    "id": 4
	-}
	+
Failed to decrypt part: Cannot decrypt multipart/encrypted part: unregistered encryption protocol 'application/pgp-encrypted'.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/nix/store/98wzbkc7zm8ix4hrnq20j0wclbmd8adv-python-2.7.13/lib/python2.7/json/__init__.py", line 291, in load
    **kw)
  File "/nix/store/98wzbkc7zm8ix4hrnq20j0wclbmd8adv-python-2.7.13/lib/python2.7/json/__init__.py", line 339, in loads
    return _default_decoder.decode(s)
  File "/nix/store/98wzbkc7zm8ix4hrnq20j0wclbmd8adv-python-2.7.13/lib/python2.7/json/decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/nix/store/98wzbkc7zm8ix4hrnq20j0wclbmd8adv-python-2.7.13/lib/python2.7/json/decoder.py", line 382, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
 FAIL   decrypt attachment (--part=5 --format=raw)
	--- T350-crypto.11.TESTATTACHMENT	2017-08-31 14:25:04.497891262 +0000
	+++ T350-crypto.11.OUTPUT	2017-08-31 14:25:04.498891266 +0000
	@@ -1 +0,0 @@
	-This is a test file.
Failed to decrypt part: Cannot decrypt multipart/encrypted part: unregistered encryption protocol 'application/pgp-encrypted'.
 PASS   decryption failure with missing key
 PASS   emacs delivery of encrypted + signed message
 FAIL   decryption + signature verification
	--- T350-crypto.14.expected	2017-08-31 14:25:04.885892968 +0000
	+++ T350-crypto.14.output	2017-08-31 14:25:04.885892968 +0000
	@@ -11,26 +11,18 @@
	                                 "id": 2
	                             }, 
	                             {
	-                                "content": "This is another test encrypted message.\n", 
	-                                "content-type": "text/plain", 
	+                                "content-length": "NONZERO", 
	+                                "content-type": "application/octet-stream", 
	                                 "id": 3
	                             }
	                         ], 
	                         "content-type": "multipart/encrypted", 
	                         "encstatus": [
	                             {
	-                                "status": "good"
	+                                "status": "bad"
	                             }
	                         ], 
	-                        "id": 1, 
	-                        "sigstatus": [
	-                            {
	-                                "created": 946728000, 
	-                                "fingerprint": "5AEAB11F5E33DCE875DDB75B6D92612D94E46381", 
	-                                "status": "good", 
	-                                "userid": "Notmuch Test Suite <test_suite@notmuchmail.org> (INSECURE!)"
	-                            }
	-                        ]
	+                        "id": 1
	                     }
	                 ], 
	                 "date_relative": "2000-01-01", 
Failed to decrypt part: Cannot decrypt multipart/encrypted part: unregistered encryption protocol 'application/pgp-encrypted'.
 FAIL   reply to encrypted message
	--- T350-crypto.15.expected	2017-08-31 14:25:04.897893021 +0000
	+++ T350-crypto.15.output	2017-08-31 14:25:04.897893021 +0000
	@@ -2,4 +2,4 @@
	 Subject: Re: test encrypted message 002
	 
	 On 01 Jan 2000 12:00:00 -0000, Notmuch Test Suite <test_suite@notmuchmail.org> wrote:
	-> This is another test encrypted message.
	+Non-text part: application/octet-stream
Failed to decrypt part: Cannot decrypt multipart/encrypted part: unregistered encryption protocol 'application/pgp-encrypted'.
 FAIL   Reply within emacs to an encrypted message
	--- T350-crypto.16.EXPECTED	2017-08-31 14:25:04.936893192 +0000
	+++ T350-crypto.16.OUTPUT.clean	2017-08-31 14:25:04.937893197 +0000
	@@ -4,4 +4,3 @@
	 <#secure method=pgpmime mode=signencrypt>
	 Notmuch Test Suite <test_suite@notmuchmail.org> writes:
	 
	-> This is another test encrypted message.
nil
 FAIL   signature verification with revoked key
	--- T350-crypto.17.expected	2017-08-31 14:25:04.996893456 +0000
	+++ T350-crypto.17.output	2017-08-31 14:25:04.996893456 +0000
	@@ -18,15 +18,7 @@
	                         ], 
	                         "content-type": "multipart/signed", 
	                         "id": 1, 
	-                        "sigstatus": [
	-                            {
	-                                "errors": {
	-                                    "key-revoked": true
	-                                }, 
	-                                "keyid": "6D92612D94E46381", 
	-                                "status": "error"
	-                            }
	-                        ]
	+                        "sigstatus": []
	                     }
	                 ], 
	                 "date_relative": "2000-01-01", 
Failed to verify signed part: Cannot verify multipart/signed part: unregistered signature protocol 'application/pgp-signature'.

T360-symbol-hiding: Testing exception symbol hiding
 PASS   running test
 PASS   checking output
 PASS   comparing existing to exported symbols

T370-search-folder-coherence: Testing folder tags removed and added through file renames remain consistent
 PASS   No new messages
 PASS   Single new message
 PASS   Add second folder for same message
 PASS   Multiple files for same message
 PASS   Test matches folder:spam
 PASS   Remove folder:spam copy of email
 PASS   No mails match the folder:spam search

T380-atomicity: Testing atomicity
 PASS   "notmuch new" is idempotent under arbitrary aborts
 PASS   detected 20>10 abort points

T390-python: Testing python bindings
 PASS   compare thread ids
 PASS   compare message ids
 PASS   get non-existent file
 PASS   get revision
 PASS   output of count matches test code

T395-ruby: Testing ruby bindings
 PASS   compare thread ids
 PASS   compare message ids
 PASS   get non-existent file
 PASS   count messages
 PASS   count threads
 PASS   get all tags

T400-hooks: Testing hooks
 PASS   pre-new is run
 PASS   post-new is run
 PASS   post-insert hook is run
 PASS   pre-new is run before post-new
 PASS   pre-new non-zero exit status (hook status)
 PASS   pre-new non-zero exit status (notmuch status)
 PASS   pre-new non-zero exit status aborts new
 PASS   post-new non-zero exit status (hook status)
 PASS   post-new non-zero exit status (notmuch status)
 PASS   post-insert hook does not affect insert status
 PASS   hook without executable permissions
 PASS   hook execution failure

T410-argument-parsing: Testing argument parsing
 PASS   sanity check

T420-emacs-test-functions: Testing emacs test function sanity
 PASS   emacs test function sanity

T430-emacs-address-cleaning: Testing emacs address cleaning
 PASS   notmuch-test-address-clean part 1
 PASS   notmuch-test-address-clean part 2
 PASS   notmuch-test-address-clean part 3

T440-emacs-hello: Testing emacs notmuch-hello view
 PASS   User-defined section with inbox tag
 PASS   User-defined section with empty, hidden entry
 PASS   User-defined section, unread tag filtered out
 PASS   User-defined section, different query for counts
 PASS   Empty custom tags section
 PASS   Empty custom queries section
 PASS   Column alignment for tag/queries with long names

T450-emacs-show: Testing emacs notmuch-show view
 PASS   Hiding Original Message region at beginning of a message
 PASS   Bare subject #1
 PASS   Bare subject #2
 PASS   Bare subject #3
 PASS   don't process cryptographic MIME parts
 FAIL   process cryptographic MIME parts
	--- T450-emacs-show.6.notmuch-show-process-crypto-mime-parts-on	2017-08-31 14:25:11.446921720 +0000
	+++ T450-emacs-show.6.OUTPUT	2017-08-31 14:25:11.447921724 +0000
	@@ -9,7 +9,7 @@
	 
	   [ multipart/mixed ]
	   [ multipart/signed ]
	-  [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+  [ Unknown signature status ]
	   [ text/plain ]
	   > See the patch just posted here.
	 
nil
 FAIL   process cryptographic MIME parts (w/ notmuch-show-toggle-process-crypto)
	--- T450-emacs-show.7.notmuch-show-process-crypto-mime-parts-on	2017-08-31 14:25:11.541922135 +0000
	+++ T450-emacs-show.7.OUTPUT	2017-08-31 14:25:11.542922139 +0000
	@@ -9,7 +9,7 @@
	 
	   [ multipart/mixed ]
	   [ multipart/signed ]
	-  [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+  [ Unknown signature status ]
	   [ text/plain ]
	   > See the patch just posted here.
	 
nil
 FAIL   notmuch-show: don't elide non-matching messages
	--- T450-emacs-show.8.notmuch-show-elide-non-matching-messages-off	2017-08-31 14:25:11.683922755 +0000
	+++ T450-emacs-show.8.OUTPUT	2017-08-31 14:25:11.684922759 +0000
	@@ -5,7 +5,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 I saw the LWN article and decided to take a look at notmuch.  I'm
	 currently using mutt and mairix to index and read a collection of
	@@ -40,7 +40,7 @@
	 
	   [ multipart/mixed ]
	   [ multipart/signed ]
	-  [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+  [ Unknown signature status ]
	   [ text/plain ]
	   > See the patch just posted here.
	 
	@@ -67,7 +67,7 @@
	 
	     [ multipart/mixed ]
	     [ multipart/signed ]
	-    [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+    [ Unknown signature status ]
	     [ text/plain ]
	     > I've also pushed a slightly more complicated (and complete) fix to my
	     > private notmuch repository
nil
 FAIL   notmuch-show: elide non-matching messages
	--- T450-emacs-show.9.notmuch-show-elide-non-matching-messages-on	2017-08-31 14:25:11.821923357 +0000
	+++ T450-emacs-show.9.OUTPUT	2017-08-31 14:25:11.821923357 +0000
	@@ -5,7 +5,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 I saw the LWN article and decided to take a look at notmuch.  I'm
	 currently using mutt and mairix to index and read a collection of
	@@ -39,7 +39,7 @@
	 
	   [ multipart/mixed ]
	   [ multipart/signed ]
	-  [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+  [ Unknown signature status ]
	   [ text/plain ]
	   > See the patch just posted here.
	 
	@@ -64,7 +64,7 @@
	 
	     [ multipart/mixed ]
	     [ multipart/signed ]
	-    [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+    [ Unknown signature status ]
	     [ text/plain ]
	     > I've also pushed a slightly more complicated (and complete) fix to my
	     > private notmuch repository
nil
 FAIL   notmuch-show: elide non-matching messages (w/ notmuch-show-toggle-elide-non-matching)
	--- T450-emacs-show.10.notmuch-show-elide-non-matching-messages-on	2017-08-31 14:25:12.001924143 +0000
	+++ T450-emacs-show.10.OUTPUT	2017-08-31 14:25:12.002924147 +0000
	@@ -5,7 +5,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 I saw the LWN article and decided to take a look at notmuch.  I'm
	 currently using mutt and mairix to index and read a collection of
	@@ -39,7 +39,7 @@
	 
	   [ multipart/mixed ]
	   [ multipart/signed ]
	-  [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+  [ Unknown signature status ]
	   [ text/plain ]
	   > See the patch just posted here.
	 
	@@ -64,7 +64,7 @@
	 
	     [ multipart/mixed ]
	     [ multipart/signed ]
	-    [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+    [ Unknown signature status ]
	     [ text/plain ]
	     > I've also pushed a slightly more complicated (and complete) fix to my
	     > private notmuch repository
nil
 FAIL   notmuch-show: elide non-matching messages (w/ prefix arg to notmuch-show)
	--- T450-emacs-show.11.notmuch-show-elide-non-matching-messages-on	2017-08-31 14:25:12.129924698 +0000
	+++ T450-emacs-show.11.OUTPUT	2017-08-31 14:25:12.130924702 +0000
	@@ -5,7 +5,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 I saw the LWN article and decided to take a look at notmuch.  I'm
	 currently using mutt and mairix to index and read a collection of
	@@ -39,7 +39,7 @@
	 
	   [ multipart/mixed ]
	   [ multipart/signed ]
	-  [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+  [ Unknown signature status ]
	   [ text/plain ]
	   > See the patch just posted here.
	 
	@@ -64,7 +64,7 @@
	 
	     [ multipart/mixed ]
	     [ multipart/signed ]
	-    [ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+    [ Unknown signature status ]
	     [ text/plain ]
	     > I've also pushed a slightly more complicated (and complete) fix to my
	     > private notmuch repository
nil
 FAIL   notmuch-show: disable indentation of thread content (w/ notmuch-show-toggle-thread-indentation)
	--- T450-emacs-show.12.notmuch-show-indent-thread-content-off	2017-08-31 14:25:12.322925540 +0000
	+++ T450-emacs-show.12.OUTPUT	2017-08-31 14:25:12.323925545 +0000
	@@ -5,7 +5,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 I saw the LWN article and decided to take a look at notmuch.  I'm
	 currently using mutt and mairix to index and read a collection of
	@@ -40,7 +40,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 > See the patch just posted here.
	 
	@@ -67,7 +67,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 > I've also pushed a slightly more complicated (and complete) fix to my
	 > private notmuch repository
nil
 PASS   id buttonization
 PASS   Show handles subprocess errors

T455-emacs-charsets: Testing emacs notmuch-show charset handling
 PASS   Text parts are decoded when rendering
 PASS   8bit text parts are decoded when rendering
 PASS   HTML parts are decoded when rendering
 PASS   Text parts are not decoded when saving
 PASS   8bit text parts are not decoded when saving
 PASS   HTML parts are not decoded when saving
 PASS   Binary parts are not decoded when saving
 PASS   Text message are not decoded when viewing
 PASS   8bit text message are not decoded when viewing

T460-emacs-tree: Testing emacs tree view interface
 PASS   Basic notmuch-tree view in emacs
 PASS   Refreshed notmuch-tree view in emacs
 PASS   Tag message in notmuch tree view (display)
 PASS   Tag message in notmuch tree view (database)
 PASS   Untag message in notmuch tree view
 PASS   Untag message in notmuch tree view (database)
 PASS   Tag thread in notmuch tree view
 PASS   Tag message in notmuch tree view (database)
 PASS   Untag thread in notmuch tree view
 PASS   Untag message in notmuch tree view (database)
 PASS   Navigation of notmuch-hello to search results
 PASS   Tree view of a single thread (from search)
 PASS   Tree view of a single thread (from show)
 FAIL   Message window of tree view
	--- T460-emacs-tree.14.notmuch-tree-show-window	2017-08-31 14:25:16.272942737 +0000
	+++ T460-emacs-tree.14.OUTPUT	2017-08-31 14:25:16.272942737 +0000
	@@ -5,7 +5,7 @@
	 
	 [ multipart/mixed ]
	 [ multipart/signed ]
	-[ Unknown key ID 0xD74695063141ACD8 or unsupported algorithm ]
	+[ Unknown signature status ]
	 [ text/plain ]
	 I saw the LWN article and decided to take a look at notmuch.  I'm
	 currently using mutt and mairix to index and read a collection of
nil
 PASS   Stash id
 PASS   Move to next matching message
 PASS   Move to next thread
 PASS   Move to previous thread
 PASS   Move to previous previous thread

T470-missing-headers: Testing messages with missing headers
 PASS   Search: text
 PASS   Search: json
 PASS   Show: text
 PASS   Show: json

T480-hex-escaping: Testing hex encoding and decoding
 PASS   round trip
 PASS   punctuation
 PASS   round trip newlines
 PASS   round trip 8bit chars
 PASS   round trip (in-place)
 PASS   punctuation (in-place)
 PASS   round trip newlines (in-place)
 PASS   round trip 8bit chars (in-place)

T490-parse-time-string: Testing date/time parser module
 PASS   date(1) default format without TZ code
 PASS   date(1) --rfc-2822 format
 PASS   date(1) --rfc=3339=seconds format
 PASS   Date parser tests
 PASS   Second rounding tests

T500-search-date: Testing date:since..until queries
 PASS   Absolute date range
 PASS   Absolute date range with 'same' operator
 PASS   Absolute date field
 PASS   Absolute time range with TZ

T510-thread-replies: Testing test of proper handling of in-reply-to and references headers
 PASS   Use References when In-Reply-To is broken
 PASS   Prefer References to In-Reply-To
 PASS   Use In-Reply-To when no References
 PASS   Use last Reference
 PASS   Ignore garbage at the end of References

T520-show: Testing "notmuch show"
 PASS   exit code for show invalid query

T530-upgrade: Testing database upgrade
 missing prerequisites: database-v1.tar.xz - fetch with 'make download-test-databases'
 SKIP   all tests in T530-upgrade

T550-db-features: Testing database version and feature compatibility
 PASS   future database versions abort open
 PASS   unknown 'rw' feature aborts read/write open
 PASS   unknown 'rw' feature aborts read-only open
 PASS   unknown 'w' feature aborts read/write open
 PASS   unknown 'w' feature does not abort read-only open

T560-lib-error: Testing error reporting for library
 PASS   building database
 PASS   Open null pointer
 PASS   Open relative path
 PASS   Create database in relative path
 PASS   Open nonexistent database
 PASS   create NULL path
 PASS   Create database in nonexistent directory
 PASS   Write to read-only database
 PASS   Add non-existent file
 PASS   compact, overwriting existing backup
 PASS   Xapian exception finding message
 PASS   Xapian exception getting tags
 PASS   Xapian exception creating directory
 PASS   Xapian exception searching messages
 PASS   Xapian exception counting messages

T570-revision-tracking: Testing database revision tracking
 PASS   notmuch_database_get_revision
 PASS   output of count matches test code
 PASS   modification count increases
 PASS   search succeeds with correct uuid
 PASS   uuid works as global option
 PASS   uuid works as global option II
 PASS   search fails with incorrect uuid
 PASS   show succeeds with correct uuid
 PASS   show fails with incorrect uuid
 PASS   tag succeeds with correct uuid
 PASS   tag fails with incorrect uuid
 PASS   lastmod:0.. matches everything
 PASS   lastmod:1000000.. matches nothing
 PASS   exclude one message using lastmod

T580-thread-search: Testing test of searching by thread-id
 PASS   Every message is found in exactly one thread
 PASS   roundtripping message-ids via thread-ids

T590-libconfig: Testing library config API
 PASS   notmuch_database_{set,get}_config
 PASS   notmuch_database_get_config_list: empty list
 PASS   notmuch_database_get_config_list: all pairs
 PASS   notmuch_database_get_config_list: one prefix
 PASS   dump config
 PASS   restore config

T590-thread-breakage: Testing thread breakage during reindexing
 PASS   There should be no threads initially
 PASS   There should be no ghosts initially
 PASS   One message in: one thread
 PASS   looking for 1 instance of 'apple'
 PASS   looking for 0 instance of 'banana'
 PASS   Expecting 0 ghosts(s)
 PASS   Second message in the same thread: one thread
 PASS   looking for 1 instance of 'apple'
 PASS   looking for 1 instance of 'banana'
 PASS   Expecting 0 ghosts(s)
 PASS   First message removed: still only one thread
 PASS   looking for 0 instance of 'apple'
 PASS   looking for 1 instance of 'banana'
 PASS   should be one ghost after first message removed
 PASS   First message reappears: should return to the same thread
 PASS   looking for 1 instance of 'apple'
 PASS   looking for 1 instance of 'banana'
 PASS   Expecting 0 ghosts(s)
 PASS   Removing second message: still only one thread
 PASS   looking for 1 instance of 'apple'
 PASS   looking for 0 instance of 'banana'
 BROKEN No ghosts should remain after deletion of second message
	--- T590-thread-breakage.22.expected	2017-08-31 14:25:22.048967755 +0000
	+++ T590-thread-breakage.22.output	2017-08-31 14:25:22.048967755 +0000
	@@ -1 +1 @@
	-0
	+1
 PASS   All messages gone: no threads
 PASS   looking for 0 instance of 'apple'
 PASS   looking for 0 instance of 'banana'
 PASS   No ghosts should remain after full thread deletion

T600-named-queries: Testing named queries
 PASS   error adding named query before initializing DB
 PASS   adding named query
 PASS   adding nested named query
 PASS   retrieve named query
 PASS   List all queries
 PASS   dump named queries
 PASS   delete named queries
 PASS   restore named queries
 PASS   search named query
 PASS   search named query with other terms
 PASS   search nested named query

T610-message-property: Testing message property API
 PASS   notmuch_message_{add,get,remove}_property
 PASS   notmuch_message_remove_all_properties
 PASS   notmuch_message_get_properties: empty list
 PASS   notmuch_message_properties: one value
 PASS   notmuch_message_properties: multiple values
 PASS   notmuch_message_properties: prefix
 PASS   notmuch_message_properties: modify during iteration
 PASS   dump message properties
 PASS   dump _only_ message properties
 PASS   restore missing message property (single line)
 PASS   restore missing message property (full dump)
 PASS   restore clear extra message property
 PASS   test 'property:' queries: empty
 PASS   test 'property:' queries: single message

T620-lock: Testing locking
 PASS   blocking open

T630-emacs-draft: Testing Emacs Draft Handling
 PASS   Saving a draft indexes it
 PASS   Saving a draft tags previous draft as deleted
 PASS   Saving a signed draft adds header
 PASS   Refusing to save an encrypted draft
 PASS   Resuming a signed draft

T640-database-modified: Testing DatabaseModifiedError handling
 PASS   catching DatabaseModifiedError in _notmuch_message_ensure_metadata

T650-regexp-query: Testing regular expression searches
 PASS   empty path:// search
 PASS   empty folder:// search
 PASS   unanchored folder:// specification
 PASS   anchored folder:// search
 PASS   unanchored path:// specification
 PASS   anchored path:// search
 PASS   null from: search
 PASS   null subject: search
 PASS   xapian wildcard search for from:
 PASS   xapian wildcard search for subject:
 PASS   regexp from search, case sensitive
 PASS   empty regexp or query
 PASS   non-empty regexp and query
 PASS   regexp from search, duplicate term search
 PASS   long enough regexp matches only desired senders
 PASS   shorter regexp matches one more sender
 PASS   regexp subject search, non-ASCII
 PASS   regexp subject search, punctuation
 PASS   regexp subject search, no punctuation
 PASS   combine regexp from and subject
 PASS   regexp error reporting
 PASS   empty mid search
 PASS   non-empty mid regex search
 PASS   combine regexp mid and subject
 PASS   unanchored tag search
 PASS   anchored tag search

T660-bad-date: Testing parsing of bad dates
 PASS   Bad dates translate to a date after the Unix epoch

T670-duplicate-mid: Testing duplicate message ids
 PASS   First subject preserved
 PASS   Search for second subject
 PASS   search for body in duplicate file
 PASS   reindex drops terms in duplicate file
 PASS   Deleted first duplicate file does not stop notmuch show from working

T680-html-indexing: Testing indexing of html parts
 PASS   embedded images should not be indexed
 PASS   ignore > in attribute text
 PASS   non tag text should be indexed

T690-command-line-args: Testing command line arguments
 PASS   bad option to show
 PASS   string option with space
 PASS   string option with =
 PASS   string option with :
 PASS   single keyword option with space
 PASS   single keyword option with =
 PASS   single keyword option with :
 PASS   multiple keyword options with space
 PASS   multiple keyword options with =
 PASS   mixed space and = delimiters
 PASS   mixed space and : delimiters
 PASS   show --entire-thread
 PASS   show --exclude

T700-reindex: Testing reindexing messages
 PASS   reindex preserves threads
 PASS   reindex after removing duplicate file preserves threads
 PASS   reindex preserves message-ids
 PASS   reindex preserves tags
 PASS   reindex moves a message between threads
 PASS   reindex detects removal of all files
 PASS   reindex preserves properties

Notmuch test suite complete.
863/892 tests passed.
3 broken tests failed as expected.
26 tests failed.
make: *** [test/Makefile.local:71: test] Error 1
builder for ‘/nix/store/6lvrch02m8lj15ladacidys6hvshcfw9-notmuch-0.25.drv’ failed with exit code 2
error: build of ‘/nix/store/6lvrch02m8lj15ladacidys6hvshcfw9-notmuch-0.25.drv’ failed
+ result=

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] crypto: gracefully handle gmime errors
  2017-08-15 17:37     ` bug: notmuch show --decrypt leads to SIGSEGV Matt Armstrong
  2017-08-15 18:11       ` David Bremner
@ 2017-08-31 15:17       ` Jan Malakhovski
  2017-08-31 18:33         ` David Bremner
  2017-08-31 22:27         ` David Bremner
  2017-11-10  1:05       ` bug: notmuch show --decrypt leads to SIGSEGV David Bremner
  2 siblings, 2 replies; 27+ messages in thread
From: Jan Malakhovski @ 2017-08-31 15:17 UTC (permalink / raw)
  To: David Bremner, notmuch

David Bremner <david@tethera.net> writes:

> Oh, by the way, I think this was reported already in
> id:qf5d17wzq90.fsf@google.com, but we don't have a test case.

Yep. Seems to be the same bug. Added to References.

> So if you have (or can make) a message that triggers these segfaults,
> and that you can share, that would be helpful.

The test suite has such a message already. "signature verification
(notmuch CLI)" test fails with a SIGSEGV when built with gmime-2.6.23.

T355-smime: Testing S/MIME signature verification and decryption
gpgsm: keybox '/tmp/nix-build-notmuch-0.25.drv-0/notmuch-test-8789.qe2sRf/gnupg/pubring.kbx' created
 PASS   emacs delivery of S/MIME signed message
 PASS   emacs delivery of S/MIME encrypted + signed message
 PASS   Signature verification (openssl)
 FAIL   signature verification (notmuch CLI)
	--- T355-smime.4.expected	2017-08-31 14:57:24.145052329 +0000
	+++ T355-smime.4.output	2017-08-31 14:57:24.145052329 +0000
	@@ -1,56 +1 @@
	-[
	-    [
	-        [
	-            {
	-                "body": [
	-                    {
	-                        "content": [
	-                            {
	-                                "content": "This is a test signed message.\n",
	-                                "content-type": "text/plain",
	-                                "id": 2
	-                            },
	-                            {
	-                                "content-disposition": "attachment",
	-                                "content-length": "NONZERO",
	-                                "content-transfer-encoding": "base64",
	-                                "content-type": "application/x-pkcs7-signature",
	-                                "filename": "smime.p7s",
	-                                "id": 3
	-                            }
	-                        ],
	-                        "content-type": "multipart/signed",
	-                        "id": 1,
	-                        "sigstatus": [
	-                            {
	-                                "created": 946728000,
	-                                "expires": 424242424,
	-                                "fingerprint": "616F46CD73834C63847756AF0DFB64A6E0972A47",
	-                                "status": "good"
	-                            }
	-                        ]
	-                    }
	-                ],
	-                "date_relative": "2000-01-01",
	-                "excluded": false,
	-                "filename": [
	-                    "YYYYY"
	-                ],
	-                "headers": {
	-                    "Date": "Sat, 01 Jan 2000 12:00:00 +0000",
	-                    "From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
	-                    "Subject": "test signed message 001",
	-                    "To": "test_suite@notmuchmail.org"
	-                },
	-                "id": "XXXXX",
	-                "match": true,
	-                "tags": [
	-                    "inbox",
	-                    "signed"
	-                ],
	-                "timestamp": 946728000
	-            },
	-            []
	-        ]
	-    ]
	-]
	+
Failed to construct pkcs7 context.
No JSON object could be decoded
 PASS   Decryption and signature verification (openssl)

Cheers,
  Jan

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] crypto: gracefully handle gmime errors
  2017-08-31 15:17       ` [PATCH] crypto: gracefully handle gmime errors Jan Malakhovski
@ 2017-08-31 18:33         ` David Bremner
  2017-08-31 22:27         ` David Bremner
  1 sibling, 0 replies; 27+ messages in thread
From: David Bremner @ 2017-08-31 18:33 UTC (permalink / raw)
  To: Jan Malakhovski, notmuch

Jan Malakhovski <oxij@oxij.org> writes:

> The test suite has such a message already. "signature verification
> (notmuch CLI)" test fails with a SIGSEGV when built with gmime-2.6.23.
>

Oh, sorry, I clearly didn't read your message clearly enough. I guess
this is new behaviour with 2.6.23. None of this is to say we shouldn't
handle the NULLs more gracefully,

d

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] crypto: gracefully handle gmime errors
  2017-08-31 15:17       ` [PATCH] crypto: gracefully handle gmime errors Jan Malakhovski
  2017-08-31 18:33         ` David Bremner
@ 2017-08-31 22:27         ` David Bremner
  2017-08-31 23:20           ` Matt Armstrong
  2017-08-31 23:59           ` Jan Malakhovski
  1 sibling, 2 replies; 27+ messages in thread
From: David Bremner @ 2017-08-31 22:27 UTC (permalink / raw)
  To: Jan Malakhovski, notmuch

Jan Malakhovski <oxij@oxij.org> writes:

>
> The test suite has such a message already. "signature verification
> (notmuch CLI)" test fails with a SIGSEGV when built with gmime-2.6.23.
>
> T355-smime: Testing S/MIME signature verification and decryption
> gpgsm: keybox '/tmp/nix-build-notmuch-0.25.drv-0/notmuch-test-8789.qe2sRf/gnupg/pubring.kbx' created
>  PASS   emacs delivery of S/MIME signed message
>  PASS   emacs delivery of S/MIME encrypted + signed message
>  PASS   Signature verification (openssl)
>  FAIL   signature verification (notmuch CLI)

Actually now that I try, I can't duplicate this failure on Debian (also
with gmime-2.6.23). Matt, can you confirm or deny that the failures you
were having were with SMIME signed messages?

d

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] crypto: gracefully handle gmime errors
  2017-08-31 22:27         ` David Bremner
@ 2017-08-31 23:20           ` Matt Armstrong
  2017-08-31 23:59           ` Jan Malakhovski
  1 sibling, 0 replies; 27+ messages in thread
From: Matt Armstrong @ 2017-08-31 23:20 UTC (permalink / raw)
  To: David Bremner, Jan Malakhovski, notmuch

David Bremner <david@tethera.net> writes:

> Jan Malakhovski <oxij@oxij.org> writes:
>
>>
>> The test suite has such a message already. "signature verification
>> (notmuch CLI)" test fails with a SIGSEGV when built with gmime-2.6.23.
>>
>> T355-smime: Testing S/MIME signature verification and decryption
>> gpgsm: keybox '/tmp/nix-build-notmuch-0.25.drv-0/notmuch-test-8789.qe2sRf/gnupg/pubring.kbx' created
>>  PASS   emacs delivery of S/MIME signed message
>>  PASS   emacs delivery of S/MIME encrypted + signed message
>>  PASS   Signature verification (openssl)
>>  FAIL   signature verification (notmuch CLI)
>
> Actually now that I try, I can't duplicate this failure on Debian (also
> with gmime-2.6.23). Matt, can you confirm or deny that the failures you
> were having were with SMIME signed messages?

I've lost track of the original thread, but I believe they were.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] crypto: gracefully handle gmime errors
  2017-08-31 22:27         ` David Bremner
  2017-08-31 23:20           ` Matt Armstrong
@ 2017-08-31 23:59           ` Jan Malakhovski
  1 sibling, 0 replies; 27+ messages in thread
From: Jan Malakhovski @ 2017-08-31 23:59 UTC (permalink / raw)
  To: David Bremner, notmuch

David Bremner <david@tethera.net> writes:

> Jan Malakhovski <oxij@oxij.org> writes:
>
>>
>> The test suite has such a message already. "signature verification
>> (notmuch CLI)" test fails with a SIGSEGV when built with gmime-2.6.23.
>>
>> T355-smime: Testing S/MIME signature verification and decryption
>> gpgsm: keybox '/tmp/nix-build-notmuch-0.25.drv-0/notmuch-test-8789.qe2sRf/gnupg/pubring.kbx' created
>>  PASS   emacs delivery of S/MIME signed message
>>  PASS   emacs delivery of S/MIME encrypted + signed message
>>  PASS   Signature verification (openssl)
>>  FAIL   signature verification (notmuch CLI)
>
> Actually now that I try, I can't duplicate this failure on Debian (also
> with gmime-2.6.23). Matt, can you confirm or deny that the failures you
> were having were with SMIME signed messages?

Versions of all dependencies as per diff of `nix-store -q --requisites`
between two builds, if it helps:

--- /proc/self/fd/11	2017-08-31 23:53:53.387411873 +0000
+++ /proc/self/fd/12	2017-08-31 23:53:53.405412185 +0000
@@ -1,10 +1,9 @@
 /nix/store/y4ihw837rm0s0ps5f31zi18w7ri1a0y8-glibc-2.25
 /nix/store/bcg4yk2kinfd9703m3qlh7gkivkg1kqj-zlib-1.2.11
 /nix/store/2hd1rag058ija0ivn3ip4lfjdsnk1l9r-glib-2.52.1
-/nix/store/3ia3cz1hikmfhwgmbyf0j005myh9y7rb-gmime-2.6.23
+/nix/store/8ms9r6qw41rds9f59swiaaypmx07p376-gmime-3.0.1
 /nix/store/axldd4qjamb2c1lgi7d6k3s51qyy4610-bash-4.4-p12
 /nix/store/ds1qs36gzkzr4z6fvpdchwkhgkwq94p5-gcc-6.4.0-lib
 /nix/store/9636ksx6g2yifzx4d3wcfir87s3dzlja-xapian-1.4.4
-/nix/store/g3px2vjcfhaq7f6hdm1xnmbk5ry5qjrv-gnupg-2.1.23
 /nix/store/wfq4aip4ljnv0irx0r8b54pihfhz6im9-talloc-2.1.8
-/nix/store/h0lzwh8pmpcdzg7q8xl9bj5lzd9rvf71-notmuch-0.25
+/nix/store/kfwjlk0mqzisc77zxiflbamnrc52mfhq-notmuch-0.25

I wonder why gnupg stops getting referenced with gmime-3.0.1. My guess
is that `./configure` does something very different when compiling with
gmime-3.

Also, I think another message of mine got stuck in premoderation because
it had a biggish attachment with a build log.

Cheers,
  Jan

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH] cli: propagate NULL from _mime_node_create, handle it in callers.
  2017-08-31 13:44 ` Jan Malakhovski
@ 2017-09-01  0:10   ` David Bremner
  2017-09-01 20:32     ` Jan Malakhovski
  0 siblings, 1 reply; 27+ messages in thread
From: David Bremner @ 2017-09-01  0:10 UTC (permalink / raw)
  To: Jan Malakhovski, notmuch

Under certain error conditions _mime_node_create can return NULL. This
was ignored in mime_node_child, which was clearly an error. This
commit propagates that NULL from mime_node_child, and attempts to deal
with the consequences.  I chose to push the checks for a null mime
node into the format_blah functions on the grounds that at least in in
the sprinter version we could in principle include error reporting in
the output. Leave that for now as I lack a test case, and I think it
would require changing the output schema.

Based heavily on a patch from Jan Malakhovski.
---
Hi Jan;

Can you check if this fixes the segfault for you? It's based on your
patch, and your followup comment. It tries to handle all of the places
mime_node_child is called.

 mime-node.c     | 13 +++++++++----
 notmuch-reply.c |  4 ++++
 notmuch-show.c  |  8 ++++++++
 3 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/mime-node.c b/mime-node.c
index 24d73afa..349a699b 100644
--- a/mime-node.c
+++ b/mime-node.c
@@ -317,7 +317,10 @@ mime_node_child (mime_node_t *parent, int child)
 	INTERNAL_ERROR ("Unexpected GMimeObject type: %s",
 			g_type_name (G_OBJECT_TYPE (parent->part)));
     }
+
     node = _mime_node_create (parent, sub);
+    if (!node)
+	return NULL;
 
     if (child == parent->next_child && parent->next_part_num != -1) {
 	/* We're traversing in depth-first order.  Record the child's
@@ -354,11 +357,13 @@ _mime_node_seek_dfs_walk (mime_node_t *node, int *n)
     *n -= 1;
     for (i = 0; i < node->nchildren; i++) {
 	mime_node_t *child = mime_node_child (node, i);
-	mime_node_t *ret = _mime_node_seek_dfs_walk (child, n);
-	if (ret)
-	    return ret;
+	if (child) {
+	    mime_node_t *ret = _mime_node_seek_dfs_walk (child, n);
+	    if (ret)
+		return ret;
 
-	talloc_free (child);
+	    talloc_free (child);
+	}
     }
     return NULL;
 }
diff --git a/notmuch-reply.c b/notmuch-reply.c
index 929f3077..8498b09e 100644
--- a/notmuch-reply.c
+++ b/notmuch-reply.c
@@ -38,6 +38,10 @@ format_part_reply (GMimeStream *stream, mime_node_t *node)
 {
     int i;
 
+    /* XXX Print some diagnostic? XXX */
+    if (!node)
+	return;
+
     if (node->envelope_file) {
 	g_mime_stream_printf (stream, "On %s, %s wrote:\n",
 			      notmuch_message_get_header (node->envelope_file, "date"),
diff --git a/notmuch-show.c b/notmuch-show.c
index cdcc2a98..28c957c1 100644
--- a/notmuch-show.c
+++ b/notmuch-show.c
@@ -495,6 +495,10 @@ format_part_text (const void *ctx, sprinter_t *sp, mime_node_t *node,
     const char *part_type;
     int i;
 
+    /* XXX print some diagnostic? XXX*/
+    if (!node)
+	return;
+
     if (node->envelope_file) {
 	notmuch_message_t *message = node->envelope_file;
 
@@ -609,6 +613,10 @@ format_part_sprinter (const void *ctx, sprinter_t *sp, mime_node_t *node,
     /* Any changes to the JSON or S-Expression format should be
      * reflected in the file devel/schemata. */
 
+    /* XXX represent NULL node in output? XXX */
+    if (!node)
+	return;
+
     if (node->envelope_file) {
 	sp->begin_map (sp);
 	format_message_sprinter (sp, node->envelope_file);
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH] cli: propagate NULL from _mime_node_create, handle it in callers.
  2017-09-01  0:10   ` [PATCH] cli: propagate NULL from _mime_node_create, handle it in callers David Bremner
@ 2017-09-01 20:32     ` Jan Malakhovski
  0 siblings, 0 replies; 27+ messages in thread
From: Jan Malakhovski @ 2017-09-01 20:32 UTC (permalink / raw)
  To: David Bremner, notmuch

Hi.

David Bremner <david@tethera.net> writes:

> Can you check if this fixes the segfault for you? It's based on your
> patch, and your followup comment. It tries to handle all of the places
> mime_node_child is called.

It fixes segfaults the same way my patch does, but it also suffers from
the same problems.

It fixes the SIGSEGV, but, as with my patch, without some more code
around those NULLs `notmuch search --format=sexp --decrypt` simply
produces empty bodies (`:body ()`) for suspect messages. That breaks
rendering of those messages in `notmuch.el` (it fails with some
exception and stops rendering the rest of the thread; which is better
than rendering no messages in the thread, but still very far from
ideal). This solution also doesn't print any content when it could (in
case of an invalid signature).

Compiling with gmime-3.0.1, on the other hand, works perfectly. It just
shows that the signature is invalid and that's it, the rest of the
message and the rest of the thread renders perfectly. The problem with
gmime-3.0.1, as my other message still stuck in moderation shows, is
that a lot of other tests fail with some silly differences in the
produced JSONs.

Maybe its a bug in the tests. Maybe its a problem of `gmime` from
`nixpkgs` (apparently, it can't do pkcs7 and I didn't investigate why
yet). I'm not sure.

TBH, I would just `exit(1)` with an error like "your gmime is broken"
instead of producing NULLs whet gmime produces a NULL (to be
future-proof), assert non-NULL in all the other places, drop support for
gmime-2.6.*, require gmime-3.*, fix the tests (or `nixpkgs`) and get
happy.

Cheers,
  Jan

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [BUG] gmime-3.0.1 (was: [PATCH] crypto: gracefully handle gmime errors)
  2017-08-31 14:34 ` [BUG] gmime-3.0.1 (was: [PATCH] crypto: gracefully handle gmime errors) Jan Malakhovski
@ 2017-09-05 10:54   ` David Bremner
  2017-09-05 12:55     ` Jan Malakhovski
  0 siblings, 1 reply; 27+ messages in thread
From: David Bremner @ 2017-09-05 10:54 UTC (permalink / raw)
  To: Jan Malakhovski, notmuch

Jan Malakhovski <oxij@oxij.org> writes:

> When building with gmime-3.0.1 `tests/T355-smime.sh` passes and messages
> in my inbox get parsed ok, but a lot of other tests break.
>
> Both on 0.25 tag and HEAD get. See attached build log.
>
> building path(s) ‘/nix/store/x7dql3l36nrs84wmzc3jnma71rgdfdfb-notmuch-0.25’
> unpacking sources
> unpacking source archive /nix/store/w1kbvfgbi5sz6fp8vwn888yckiwwd24d-notmuch-46bda29
> source root is notmuch-46bda29

I'm fairly certain this something nix specific. 3.0.1 is the
default version of gmime I develop against these days.

> patching sources

What patches, if any are applied here?

> T350-crypto: Testing PGP/MIME signature verification and decryption
>  PASS   emacs delivery of signed message
>  FAIL   signature verification
> 	--- T350-crypto.2.expected	2017-08-31 14:25:03.126885225 +0000
> 	+++ T350-crypto.2.output	2017-08-31 14:25:03.126885225 +0000
> 	@@ -18,13 +18,7 @@
> 	                         ], 
> 	                         "content-type": "multipart/signed", 
> 	                         "id": 1, 
> 	-                        "sigstatus": [
> 	-                            {
> 	-                                "created": 946728000, 
> 	-                                "fingerprint": "5AEAB11F5E33DCE875DDB75B6D92612D94E46381", 
> 	-                                "status": "good"
> 	-                            }
> 	-                        ]
> 	+                        "sigstatus": []
> 	                     }
> 	                 ], 
> 	                 "date_relative": "2000-01-01", 
> Failed to verify signed part: Cannot verify multipart/signed part: unregistered signature protocol 'application/pgp-signature'.

It seems like your gmime install doesn't understand PGP/MIME. That's
pretty strange since afaik it enables SMIME and PGP/MIME with the same flag.
Previously you wrote
,----
|    I wonder why gnupg stops getting referenced with gmime-3.0.1. My guess
|    is that `./configure` does something very different when compiling with
|    gmime-3.
`----

Although I don't think that configure is really the problem, the missing
dependence on gnupg is suspicious.  Not having a gpg binary at all
should cause more failures and/or messages about skipping. It's hard for
me to test because on Debian there is a hard dependency of gmime-3.0 on
gnupg.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [BUG] gmime-3.0.1 (was: [PATCH] crypto: gracefully handle gmime errors)
  2017-09-05 10:54   ` David Bremner
@ 2017-09-05 12:55     ` Jan Malakhovski
  2017-09-05 13:38       ` David Bremner
  2017-09-05 14:04       ` Servilio Afre Puentes
  0 siblings, 2 replies; 27+ messages in thread
From: Jan Malakhovski @ 2017-09-05 12:55 UTC (permalink / raw)
  To: David Bremner, notmuch

Hi.

David Bremner <david@tethera.net> writes:

> I'm fairly certain this something nix specific. 3.0.1 is the
> default version of gmime I develop against these days.
>
>> patching sources
>
> What patches, if any are applied here?

None.

>> T350-crypto: Testing PGP/MIME signature verification and decryption
>>  PASS   emacs delivery of signed message
>>  FAIL   signature verification
>> 	--- T350-crypto.2.expected	2017-08-31 14:25:03.126885225 +0000
>> 	+++ T350-crypto.2.output	2017-08-31 14:25:03.126885225 +0000
>> 	@@ -18,13 +18,7 @@
>> 	                         ], 
>> 	                         "content-type": "multipart/signed", 
>> 	                         "id": 1, 
>> 	-                        "sigstatus": [
>> 	-                            {
>> 	-                                "created": 946728000, 
>> 	-                                "fingerprint": "5AEAB11F5E33DCE875DDB75B6D92612D94E46381", 
>> 	-                                "status": "good"
>> 	-                            }
>> 	-                        ]
>> 	+                        "sigstatus": []
>> 	                     }
>> 	                 ], 
>> 	                 "date_relative": "2000-01-01", 
>> Failed to verify signed part: Cannot verify multipart/signed part: unregistered signature protocol 'application/pgp-signature'.
>
> It seems like your gmime install doesn't understand PGP/MIME. That's
> pretty strange since afaik it enables SMIME and PGP/MIME with the same flag.
>
> Previously you wrote
> ,----
> |    I wonder why gnupg stops getting referenced with gmime-3.0.1. My guess
> |    is that `./configure` does something very different when compiling with
> |    gmime-3.
> `----
>
> Although I don't think that configure is really the problem, the missing
> dependence on gnupg is suspicious.  Not having a gpg binary at all
> should cause more failures and/or messages about skipping. It's hard for
> me to test because on Debian there is a hard dependency of gmime-3.0 on
> gnupg.

I added `gpgme` to `buildInputs` of `gmime` and now `notmuch` passes all
the tests. Yay! So that was the root problem.

Is it correct to assume that when building with `gmime-3` `notmuch`
stops calling `gpg` binary and does all the things PGP using `gmime-3`?

It's the only explanation I have for why `notmuch` package stops
directly referencing `gpg` even when the sources get patched with
's/gpg/${pkgs.gpg}/bin/gpg/g' (not exactly, but close enough).

Cheers,
  Jan

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [BUG] gmime-3.0.1 (was: [PATCH] crypto: gracefully handle gmime errors)
  2017-09-05 12:55     ` Jan Malakhovski
@ 2017-09-05 13:38       ` David Bremner
  2017-09-05 14:26         ` Jan Malakhovski
  2017-09-05 14:04       ` Servilio Afre Puentes
  1 sibling, 1 reply; 27+ messages in thread
From: David Bremner @ 2017-09-05 13:38 UTC (permalink / raw)
  To: Jan Malakhovski, notmuch

Jan Malakhovski <oxij@oxij.org> writes:

> I added `gpgme` to `buildInputs` of `gmime` and now `notmuch` passes all
> the tests. Yay! So that was the root problem.
>
> Is it correct to assume that when building with `gmime-3` `notmuch`
> stops calling `gpg` binary and does all the things PGP using `gmime-3`?
>

notmuch does not call gpg directly in either case. What changes in the
way gmime calls gpg. In 2.6 gmime called gpg, while in 3.0 it uses gpgme.
It sounds like your gmime-3 package is missing a dependency on gpgme.

d

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [BUG] gmime-3.0.1 (was: [PATCH] crypto: gracefully handle gmime errors)
  2017-09-05 12:55     ` Jan Malakhovski
  2017-09-05 13:38       ` David Bremner
@ 2017-09-05 14:04       ` Servilio Afre Puentes
  2017-09-05 14:27         ` Jan Malakhovski
  1 sibling, 1 reply; 27+ messages in thread
From: Servilio Afre Puentes @ 2017-09-05 14:04 UTC (permalink / raw)
  To: Jan Malakhovski, David Bremner, notmuch

On Tue, Sep 05 2017, Jan Malakhovski wrote:

[...]
> I added `gpgme` to `buildInputs` of `gmime` and now `notmuch` passes all
> the tests. Yay! So that was the root problem.
>
> Is it correct to assume that when building with `gmime-3` `notmuch`
> stops calling `gpg` binary and does all the things PGP using `gmime-3`?

Yes, they use GPGME instead of a custom wrapper:

https://mail.gnome.org/archives/gmime-devel-list/2017-April/msg00002.html

BTW, I created a merge-request to have GMime 3 in Nixpkgs:

https://github.com/NixOS/nixpkgs/pull/28796

Servilio

-- 

Servilio Afre Puentes

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [BUG] gmime-3.0.1 (was: [PATCH] crypto: gracefully handle gmime errors)
  2017-09-05 13:38       ` David Bremner
@ 2017-09-05 14:26         ` Jan Malakhovski
  2017-09-05 15:26           ` David Bremner
  0 siblings, 1 reply; 27+ messages in thread
From: Jan Malakhovski @ 2017-09-05 14:26 UTC (permalink / raw)
  To: David Bremner, notmuch

David Bremner <david@tethera.net> writes:

>> I added `gpgme` to `buildInputs` of `gmime` and now `notmuch` passes all
>> the tests. Yay! So that was the root problem.
>>
>> Is it correct to assume that when building with `gmime-3` `notmuch`
>> stops calling `gpg` binary and does all the things PGP using `gmime-3`?
>>
>
> notmuch does not call gpg directly in either case. What changes in the
> way gmime calls gpg. In 2.6 gmime called gpg, while in 3.0 it uses gpgme.
> It sounds like your gmime-3 package is missing a dependency on gpgme.

Why then at the very least

- crypto.c
- notmuch-config.c
- emacs/notmuch-crypto.el

files refer to "gpg" in the source with lines like

    params.crypto.gpgpath = notmuch_config_get_crypto_gpg_path (config);
    notmuch_config_set_crypto_gpg_path (config, "gpg");
    gpgctx = g_mime_gpg_context_new (NULL, crypto->gpgpath ? crypto->gpgpath : "gpg")

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [BUG] gmime-3.0.1 (was: [PATCH] crypto: gracefully handle gmime errors)
  2017-09-05 14:04       ` Servilio Afre Puentes
@ 2017-09-05 14:27         ` Jan Malakhovski
  0 siblings, 0 replies; 27+ messages in thread
From: Jan Malakhovski @ 2017-09-05 14:27 UTC (permalink / raw)
  To: Servilio Afre Puentes, David Bremner, notmuch

Servilio Afre Puentes <servilio@gmail.com> writes:

> On Tue, Sep 05 2017, Jan Malakhovski wrote:
>
> [...]
>> I added `gpgme` to `buildInputs` of `gmime` and now `notmuch` passes all
>> the tests. Yay! So that was the root problem.
>>
>> Is it correct to assume that when building with `gmime-3` `notmuch`
>> stops calling `gpg` binary and does all the things PGP using `gmime-3`?
>
> Yes, they use GPGME instead of a custom wrapper:
>
> https://mail.gnome.org/archives/gmime-devel-list/2017-April/msg00002.html
>
> BTW, I created a merge-request to have GMime 3 in Nixpkgs:
>
> https://github.com/NixOS/nixpkgs/pull/28796

I continued this nix-specific discussion there.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [BUG] gmime-3.0.1 (was: [PATCH] crypto: gracefully handle gmime errors)
  2017-09-05 14:26         ` Jan Malakhovski
@ 2017-09-05 15:26           ` David Bremner
  2017-09-05 20:23             ` Jan Malakhovski
  0 siblings, 1 reply; 27+ messages in thread
From: David Bremner @ 2017-09-05 15:26 UTC (permalink / raw)
  To: Jan Malakhovski, notmuch

Jan Malakhovski <oxij@oxij.org> writes:
>
> Why then at the very least
>
> - crypto.c
> - notmuch-config.c
> - emacs/notmuch-crypto.el
>
> files refer to "gpg" in the source with lines like
>
>     params.crypto.gpgpath = notmuch_config_get_crypto_gpg_path (config);
>     notmuch_config_set_crypto_gpg_path (config, "gpg");
>     gpgctx = g_mime_gpg_context_new (NULL, crypto->gpgpath ? crypto->gpgpath : "gpg")

There is code involved with configuring gmime-2.6, which nonetheless
does not involve calling gpg itself.  As for notmuch-crypto.el, yes it's
true that the emacs client sometimes does some stuff directly with gpg,
but that has nothing to do with gmime.

d

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [BUG] gmime-3.0.1 (was: [PATCH] crypto: gracefully handle gmime errors)
  2017-09-05 15:26           ` David Bremner
@ 2017-09-05 20:23             ` Jan Malakhovski
  0 siblings, 0 replies; 27+ messages in thread
From: Jan Malakhovski @ 2017-09-05 20:23 UTC (permalink / raw)
  To: David Bremner, notmuch

David Bremner <david@tethera.net> writes:

> There is code involved with configuring gmime-2.6, which nonetheless
> does not involve calling gpg itself.  As for notmuch-crypto.el, yes it's
> true that the emacs client sometimes does some stuff directly with gpg,
> but that has nothing to do with gmime.

That's what I wanted to hear. Thank you! (And another thanks for the
patience.)

Cheers,
  Jan

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: bug: notmuch show --decrypt leads to SIGSEGV
  2017-08-15 17:37     ` bug: notmuch show --decrypt leads to SIGSEGV Matt Armstrong
  2017-08-15 18:11       ` David Bremner
  2017-08-31 15:17       ` [PATCH] crypto: gracefully handle gmime errors Jan Malakhovski
@ 2017-11-10  1:05       ` David Bremner
  2 siblings, 0 replies; 27+ messages in thread
From: David Bremner @ 2017-11-10  1:05 UTC (permalink / raw)
  To: Matt Armstrong, notmuch

Matt Armstrong <marmstrong@google.com> writes:

> I've been able to diagnose a SIGSEGV, and I have a workaround that
> satisfies me.  I'm unsure how to fix it, so I'll describe the problem
> and leave it at that.
>

This is fixed by either using gmime 3.0, notmuch 0.25.2, or notmuch master.

d

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2017-11-10  1:05 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-31 13:31 [PATCH] crypto: gracefully handle gmime errors Jan Malakhovski
2017-08-31 13:44 ` Jan Malakhovski
2017-09-01  0:10   ` [PATCH] cli: propagate NULL from _mime_node_create, handle it in callers David Bremner
2017-09-01 20:32     ` Jan Malakhovski
2017-08-31 14:22 ` [PATCH] crypto: gracefully handle gmime errors David Bremner
2017-08-31 14:30   ` David Bremner
2017-08-15 17:37     ` bug: notmuch show --decrypt leads to SIGSEGV Matt Armstrong
2017-08-15 18:11       ` David Bremner
2017-08-15 19:10         ` Matt Armstrong
2017-08-15 23:12           ` David Bremner
2017-08-16 16:41             ` Matt Armstrong
2017-08-20 13:43               ` David Bremner
2017-08-31 15:17       ` [PATCH] crypto: gracefully handle gmime errors Jan Malakhovski
2017-08-31 18:33         ` David Bremner
2017-08-31 22:27         ` David Bremner
2017-08-31 23:20           ` Matt Armstrong
2017-08-31 23:59           ` Jan Malakhovski
2017-11-10  1:05       ` bug: notmuch show --decrypt leads to SIGSEGV David Bremner
2017-08-31 14:34 ` [BUG] gmime-3.0.1 (was: [PATCH] crypto: gracefully handle gmime errors) Jan Malakhovski
2017-09-05 10:54   ` David Bremner
2017-09-05 12:55     ` Jan Malakhovski
2017-09-05 13:38       ` David Bremner
2017-09-05 14:26         ` Jan Malakhovski
2017-09-05 15:26           ` David Bremner
2017-09-05 20:23             ` Jan Malakhovski
2017-09-05 14:04       ` Servilio Afre Puentes
2017-09-05 14:27         ` Jan Malakhovski

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).