[PATCH] build: fix order of rpath

Tomi Ollila tomi.ollila at iki.fi
Mon May 12 11:02:07 PDT 2014


On Mon, May 12 2014, Felipe Contreras <felipe.contreras at gmail.com> wrote:

> In my system `pkg-config --libs talloc` returns
> 'Wl,-rpath,/usr/lib -ltalloc' (probably wrongly) which causes the final
> LDFLAGS to be something like '-Wl,-rpath,/usr/lib
> -Wl,-rpath,/opt/notmuch/lib', which causes the RUNPATH to be
> '/usr/lib:/opt/notmuch/lib', so basically defeating the whole purpose of
> RUNPATH.
>
> I noticed this when my /opt/notmuch/bin/notmuch (0.17) started updating
> the database after I updated the system (which updated the system's
> notmuch). This shouldn't happen.
>
> Let's move the RUNPATH flags before other external flags have a chance of
> screwing the build.
>
> Signed-off-by: Felipe Contreras <felipe.contreras at gmail.com>
> ---

LGTM. Works for me (i.e. did not break my RPATH setting for notmuch-shared binary.

Tomi


>  Makefile.local | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/Makefile.local b/Makefile.local
> index fa07d81..af79b5c 100644
> --- a/Makefile.local
> +++ b/Makefile.local
> @@ -46,15 +46,16 @@ PV_FILE=bindings/python/notmuch/version.py
>  # Smash together user's values with our extra values
>  FINAL_CFLAGS = -DNOTMUCH_VERSION=$(VERSION) $(CPPFLAGS) $(CFLAGS) $(WARN_CFLAGS) $(extra_cflags) $(CONFIGURE_CFLAGS)
>  FINAL_CXXFLAGS = $(CPPFLAGS) $(CXXFLAGS) $(WARN_CXXFLAGS) $(extra_cflags) $(extra_cxxflags) $(CONFIGURE_CXXFLAGS)
> -FINAL_NOTMUCH_LDFLAGS = $(LDFLAGS) -Lutil -lutil -Llib -lnotmuch $(AS_NEEDED_LDFLAGS) $(GMIME_LDFLAGS) $(TALLOC_LDFLAGS) $(ZLIB_LDFLAGS)
> +FINAL_NOTMUCH_LDFLAGS = $(LDFLAGS) -Lutil -lutil -Llib -lnotmuch
> +ifeq ($(LIBDIR_IN_LDCONFIG),0)
> +FINAL_NOTMUCH_LDFLAGS += $(RPATH_LDFLAGS)
> +endif
> +FINAL_NOTMUCH_LDFLAGS += $(AS_NEEDED_LDFLAGS) $(GMIME_LDFLAGS) $(TALLOC_LDFLAGS) $(ZLIB_LDFLAGS)
>  FINAL_NOTMUCH_LINKER = CC
>  ifneq ($(LINKER_RESOLVES_LIBRARY_DEPENDENCIES),1)
>  FINAL_NOTMUCH_LDFLAGS += $(CONFIGURE_LDFLAGS)
>  FINAL_NOTMUCH_LINKER = CXX
>  endif
> -ifeq ($(LIBDIR_IN_LDCONFIG),0)
> -FINAL_NOTMUCH_LDFLAGS += $(RPATH_LDFLAGS)
> -endif
>  FINAL_LIBNOTMUCH_LDFLAGS = $(LDFLAGS) $(AS_NEEDED_LDFLAGS) $(CONFIGURE_LDFLAGS)
>  
>  .PHONY: all
> -- 
> 1.9.2+fc1~45~g3953d93
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list