Re: compile error of current git on F15

Subject: Re: compile error of current git on F15

Date: Wed, 01 Jun 2011 05:35:29 -0700

To: Daniel Kahn Gillmor

Cc: notmuch, Jeffrey Stedfast

From: Dirk Hohndel

On Tue, 31 May 2011 12:29:28 -0400, Daniel Kahn Gillmor <> wrote:
Non-text part: multipart/signed
> i'm CC'ing the upstream lead developer of gmime here to see if he has
> any thoughts (and can correct any misrepresentations from me) -- Hi Jeffrey!
> On 05/30/2011 02:43 PM, Jameson Graef Rollins wrote:
> > On Sun, 29 May 2011 11:44:05 -0700, Dirk Hohndel <> wrote:
> >> CC -O2 notmuch-reply.o
> >> notmuch-reply.c: In function ‘notmuch_reply_command’:
> >> notmuch-reply.c:658:3: error: unknown type name ‘GMimeSession’
> >> notmuch-reply.c:659:3: warning: passing argument 1 of ‘g_mime_gpg_context_new’ from incompatible pointer type [enabled by default]
> >> /usr/include/gmime-2.6/gmime/gmime-gpg-context.h:64:21: note: expected ‘GMimePasswordRequestFunc’ but argument is of type ‘int *’
> >> make: *** [notmuch-reply.o] Error 1
> >>
> >> This seems to have been introduced in Jameson's crypto patch series...
> >>
> >> ./configure shows:
> >>
> >> Checking for Xapian development files... Yes (1.2.4).
> >> Checking for GMime development files... Yes (gmime-2.6).
> >> Checking for Glib development files (>= 2.14)... Yes.
> > 
> > Hey, Dirk.  Looks like you're using gmime-2.6, which is something I've
> > never looked at, and it looks like there are API changes.  This of
> > course doesn't help you, Dirk, but this probably means we should require
> > libgmime-2.4, at least until we can figure out how to support both
> > versions, which I'm not sure how to handle.
> > 
> > Dirk, just out of curiosity, what system are you running that is
> > provides gmime 2.6?
> F15 probably means Fedora 15.

> gmime 2.6 has not been released yet; gmime 2.5 is the development
> version (which itself has an unstable API); the project uses the
> even=stable/odd=unstable version numbering scheme.
> As the dev version, gmime 2.5 identifies itself as 2.6.  I'm not sure i
> can justify this decision.  Jeffrey, can you explain?
> If F15 does not have gmime 2.4 available in it, it's possible that it
> may not be able to build notmuch :/

That's where I am right now. But here's the odd thing: gmime-2.6 support
was explicitly added to the configure script last year:

And it's only a recent change to notmuch that broke the build on F15
(it's one of the patches for the crypto support).

So in my book this is a regression for notmuch!
> I don't think that notmuch should attempt to target a library with an
> unstable API.  But if anyone is interested in preparing for the gmime
> 2.6 release (maybe jeffrey can hint at the timeline for us) may want to
> prepare changesets that #ifdef the relevant code depending on the API
> version.
> Once gmime 2.6 is released, we'll need to decide if we want to remain
> compatible with the old API as well, or just require gmime 2.6; but i
> don't think we need to cross that bridge right now.

Given what I wrote above you'll be unsurprised that I don't agree with
this interpretation of the situation.

This used to work and used to be supported and was broken in a recent
notmuch patch.