[notmuch] Problem building notmuch

Steen Manniche steen at manniche.net
Wed Dec 2 01:51:58 PST 2009


Den Tue, Dec 01, 2009 at 05:46:04PM +0100 skrev Jed Brown:
> On Tue, 1 Dec 2009 10:33:05 +0100, Steen Manniche <steen at manniche.net> 
> wrote:
> > Probably unusable system info:
> > % uname -a
> > Linux algorithm 2.6.31-ARCH #1 SMP PREEMPT Fri Oct 23 11:12:58 CEST
> > 2009 i686 Intel(R) Core(TM)2 Duo CPU P9500 @ 2.53GHz GenuineIntel
> > GNU/Linux
> 
> This is pretty much my fault because I made the talloc package that is
> on AUR.  The problem is that you have both talloc-1 (from the smbclient
> package) and talloc-2 (from the AUR talloc).  The libtalloc.so symlink
> points at smbclient's copy, but smbclient doesn't include a pkgconfig
> for talloc, thus you are using the talloc-2 header and talloc-1 library.
> 
> How do other distros handle talloc-1/talloc-2 incompatibility?

I have no idea, but the man pages of ld and gcc together with some
guru assistance helped me construct the following 'hack':

% mkdir LIBS && cd LIBS
% ln -s /usr/lib/libtalloc.so.2.0.0 libtalloc.so
% cd ..
% g++ debugger.o gmime-filter-reply.o notmuch.o notmuch-config.o notmuch-count.o notmuch-dump.o notmuch-new.o notmuch-reply.o notmuch-restore.o notmuch-search.o notmuch-search-tags.o notmuch-setup.o notmuch-show.o notmuch-tag.o notmuch-time.o query-string.o show-message.o lib/notmuch.a -LLIBS -lgmime-2.4 -lz -lnsl -lgobject-2.0 -lglib-2.0 -ltalloc -lxapian -o notmuch

The thing to note in the above line is -LLIBS
All this causes a good make and ldd reports
% ldd notmuch
      linux-gate.so.1 =>  (0xb78ad000)
      libgmime-2.4.so.2 => /usr/lib/libgmime-2.4.so.2 (0xb7836000)
      libz.so.1 => /usr/lib/libz.so.1 (0xb7822000)
      libnsl.so.1 => /lib/libnsl.so.1 (0xb780b000)
      libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb77d1000)
      libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb771f000)
      libtalloc.so.2 => /usr/lib/libtalloc.so.2 (0xb7715000)
      libxapian.so.15 => /usr/lib/libxapian.so.15 (0xb75bf000)
      libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb74ca000)
      libm.so.6 => /lib/libm.so.6 (0xb74a4000)
      libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb7486000)
      libc.so.6 => /lib/libc.so.6 (0xb7340000)
      libpthread.so.0 => /lib/libpthread.so.0 (0xb7327000)
      libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7323000)
      libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb731f000)
      librt.so.1 => /lib/librt.so.1 (0xb7316000)
      libpcre.so.0 => /lib/libpcre.so.0 (0xb72e4000)
      /lib/ld-linux.so.2 (0xb78ae000)
      libdl.so.2 => /lib/libdl.so.2 (0xb72e0000)

and notmuch works.

Thanks for the fast reply, Jed. And I hope you get the package problem
solved.

Best regards, 
Steen



More information about the notmuch mailing list