unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH] build: fix order of rpath
@ 2014-05-12  2:22 Felipe Contreras
  2014-05-12 18:02 ` Tomi Ollila
  2014-05-28 12:59 ` David Bremner
  0 siblings, 2 replies; 3+ messages in thread
From: Felipe Contreras @ 2014-05-12  2:22 UTC (permalink / raw)
  To: notmuch; +Cc: Moritz Wilhelmy

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@gmail.com>
---
 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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] build: fix order of rpath
  2014-05-12  2:22 [PATCH] build: fix order of rpath Felipe Contreras
@ 2014-05-12 18:02 ` Tomi Ollila
  2014-05-28 12:59 ` David Bremner
  1 sibling, 0 replies; 3+ messages in thread
From: Tomi Ollila @ 2014-05-12 18:02 UTC (permalink / raw)
  To: Felipe Contreras, notmuch; +Cc: Moritz Wilhelmy

On Mon, May 12 2014, Felipe Contreras <felipe.contreras@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@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@notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] build: fix order of rpath
  2014-05-12  2:22 [PATCH] build: fix order of rpath Felipe Contreras
  2014-05-12 18:02 ` Tomi Ollila
@ 2014-05-28 12:59 ` David Bremner
  1 sibling, 0 replies; 3+ messages in thread
From: David Bremner @ 2014-05-28 12:59 UTC (permalink / raw)
  To: Felipe Contreras, notmuch; +Cc: Moritz Wilhelmy

Felipe Contreras <felipe.contreras@gmail.com> writes:

> 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.

pushed to release and master.

d

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-05-28 13:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-12  2:22 [PATCH] build: fix order of rpath Felipe Contreras
2014-05-12 18:02 ` Tomi Ollila
2014-05-28 12:59 ` David Bremner

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).