actually, you're right, if any depends are in /usr/local, configure will
fail, so we can lose this after all


On Mon, Jan 12, 2015 at 11:17:16PM +0100, Romain Naour wrote:
> Hi Nicholas, all
> 
> Le 11/01/2015 00:46, Nicholas Marriott a ??crit :
> > Hmm well I think it's nice if users can just download the tarball and run
> > configure and it works without having to point it at dependencies, something
> > which regularly confuses users. /usr/local is a common default location for
> > local builds, I've occasionally been tempted to add some others too.
> > 
> > Still, I'm not sure there is any evidence having this particulatly helps
> > anybody, libevent and ncurses are part of base on OpenBSD, NetBSD uses 
> > /usr/pkg,
> > GCC on Linux mostly searches /usr/local by default. I suspect the FreeBSD
> > compiler searches /usr/local by default as well, I'll have a look at some 
> > point.
> > 
> > In the meantime, if you add your own include directories, they should be
> > searched first no matter what tmux adds.
> 
> Searching for headers is the purpose of configure script, and if user use a 
> custom/local path then let it define these in CFLAGS.
> This is what we do when tmux is cross-compiled in Buildroot.
> 
> See an example here:
> http://pastebin.com/T6Ng5Bn8
> 
> Which dependencies of tmux are assumed to be in /usr/local ?
> 
> Best regards,
> Romain Naour 
> > 
> > 
> > -------- Original message --------
> > From: Romain Naour
> > Date:10/01/2015 23:09 (GMT+00:00)
> > To: Nicholas Marriott
> > Cc: tmux-us...@lists.sf.net
> > Subject: Re: [PATCH] Makefile.am: remove unsafe headers path
> > 
> > Hi Nicholas,
> > 
> > Le 10/01/2015 18:16, Nicholas Marriott a ??crit :
> >> Well, why is it unsafe? I'm not too concerned about crossbuilding TBH. Are 
> >> you
> >> sure this isn't still needed on eg FreeBSD?
> > 
> > Ok, let's me explain my use case.
> > 
> > tmux has been packaged in Buildroot [1][2] (and probably Yoto too) and the 
> > build
> > system use a cross-compiler to build the entire target system.
> > 
> > Also all headers and libraries for the target are installed in a specific
> > directory called STAGING_DIR. So using a path like /usr/local/include can 
> > lead
> > to mixing headers from host and target (that may come from different 
> > versions).
> > 
> > That why all paths that point to a host location (starting with 
> > /usr/include,
> > /usr/local/include or /lib) is considered unsafe for cross-compilation.
> > 
> > Recently, we added in Buildroot a tool to check if host headers or libraries
> > paths are used [3].
> > 
> > Regarding FreeBSD compatibility, I'm not sure (I'm not a FreeBSB user).
> > Probably yes, they still need /usr/local/include for native build.
> > 
> > But I think, it's the user's responsibility to ensure that their compiler
> > searches for headers in the appropriate location, not the tmux's Makefile.
> > Especially when headers paths are passed on the command line.
> > 
> > For example, on my Fedora host the /usr/local/include is an empty directory,
> > It's not needed to force to use this path in the CFLAGS even for a native 
> > build.
> > 
> > Or consider using pkg-config to search for headers and libraries (ncurses 
> > and
> > libevent).
> > 
> > Best regards,
> > Romain Naour
> > 
> > [1] http://buildroot.org/
> > [2] http://git.buildroot.net/buildroot/tree/package/tmux
> > [3] http://lists.busybox.net/pipermail/buildroot/2014-December/114848.html
> >>
> >> -------- Original message --------
> >> From: Romain Naour
> >> Date:10/01/2015 14:12 (GMT+00:00)
> >> To: nicholas.marri...@gmail.com
> >> Cc: tmux-us...@lists.sf.net
> >> Subject: Re: [PATCH] Makefile.am: remove unsafe headers path
> >>
> >> Hi,
> >>
> >> Le 29/12/2014 22:35, Romain Naour a ??crit :
> >>> /usr/local/include is probably not needed and it's unsafe for
> >>> cross-compilation.
> >>>
> >>> Signed-off-by: Romain Naour <romain.na...@openwide.fr>
> >>> ---
> >>>  Makefile.am | 4 ++--
> >>>  1 file changed, 2 insertions(+), 2 deletions(-)
> >>>
> >>> diff --git a/Makefile.am b/Makefile.am
> >>> index a9ad5b9..0109e5d 100644
> >>> --- a/Makefile.am
> >>> +++ b/Makefile.am
> >>> @@ -38,12 +38,12 @@ else
> >>>  CFLAGS += -O2
> >>>  endif
> >>>  if IS_GCC4
> >>> -CPPFLAGS += -iquote. -I/usr/local/include
> >>> +CPPFLAGS += -iquote.
> >>>  if IS_DEBUG
> >>>  CFLAGS += -Wno-pointer-sign
> >>>  endif
> >>>  else
> >>> -CPPFLAGS += -I. -I- -I/usr/local/include
> >>> +CPPFLAGS += -I. -I-
> >>>  endif
> >>>  endif
> >>>
> >>>
> >>
> >> Please, consider this patch for the next release.
> >>
> >> Thanks.
> >>
> >> Best regards,
> >> Romain Naour
> 
> -- 
> Romain Naour
> 
> OPEN WIDE Ing??nierie - Paris
> 23/25, rue Daviel| 75013 PARIS
> http://ingenierie.openwide.fr
> 
> Le blog des technologies libres et embarqu??es :
> http://www.linuxembedded.fr

------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to