build failure on Mac OS X 10.6.8 - diagnosis

Nate Eagleson nate at nateeag.com
Tue Jun 2 05:46:53 PDT 2015


Hi folks,

I'm trying to move from Apple's Mail.app in favor of offlineimap/notmuch, but
I've run into a notmuch build failure on Mac OS X 10.6.8.

The failure was reported on this list a few months ago, but no explanation or
solution was found:

http://notmuchmail.org/pipermail/notmuch/2015/020531.html

By appending `-Wl,-t` to `FINAL_NOTMUCH_LDFLAGS` in Makefile.local, I
got 10.6.8's ld to dump the list of archives and dylibs that are being
linked in the failed compile.

That list includes `/usr/lib/libutil.dylib`, but not notmuch's built-in
`util/libutil.a`.

I have not found a sane way to tell 10.6.8's ld to prefer libutil.a over
libutil.dylib.

My first thought was that there should be an option to prefer archives over
dylibs, but that does not seem to exist in 10.6.8's (or earlier) version of ld.
Instead, people are recommending absolute paths when you need to link an
archive file in preference to existing dylibs:

http://lists.apple.com/archives/darwin-development/2003/Sep/msg00008.html
http://stackoverflow.com/questions/844819/how-to-static-link-on-os-x

As a simple test, I added a hardcoded absolute path to libutil to
FINAL_NOTMUCH_LDFLAGS, and the compile succeeded.

Thus, it seems like getting the path to the Makefile's parent directory and
using it to specify an absolute path to libutil.a in the Makefile would address
this issue without introducing new ones.

Does this sound like a sane solution? Would a patch to do this be accepted?

If not, what would be a better way to solve this?

Thanks.

-Nate



More information about the notmuch mailing list