hiding xapian symbols
    David Bremner 
    bremner at unb.ca
       
    Tue Jun 21 19:57:42 PDT 2011
    
    
  
On Tue, 21 Jun 2011 22:05:15 -0400, Daniel Kahn Gillmor <dkg at fifthhorseman.net> wrote:
> However, i'm concerned that the act of hiding these symbols will make it
> so that any program that tries to link both libnotmuch and libxapian
> will be unable to use these symbols.
> 
> This makes me think that a program that links against libnotmuch and
> libxapian, but actually tries to *use* libxapian's exception handling
> may have a problem.
> 
This seems to work, when compiled "g++ foo.c -lnotmuch -lxapian"
I get 
,----
| Error opening database at /nonexistant/.notmuch: No such file or directory
| caught Cannot create directory `/nonexistant'
`----
don't run it as root ;)
#include <stdio.h>
#include <xapian.h>
#include <notmuch.h>
main (int argc, char **argv){
    notmuch_database_t *notmuch
      = notmuch_database_open ("/nonexistant",
				     NOTMUCH_DATABASE_MODE_READ_ONLY);
  try{
    (void)new Xapian::WritableDatabase ("/nonexistant",
					Xapian::DB_CREATE_OR_OPEN);
  } catch (const Xapian::Error &error) {
    printf("caught %s\n",error.get_msg().c_str());
  }
}
    
    
More information about the notmuch
mailing list