help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

LD_LIBRARY_PATH now (was Re: Setting PATH from withing make for $(shell)


From: Cesar Crusius
Subject: LD_LIBRARY_PATH now (was Re: Setting PATH from withing make for $(shell) ?)
Date: Fri, 16 Jun 2006 08:38:47 -0700
User-agent: KMail/1.9.1

Follow-up question: it works for $PATH now that I let it loose. But it doesn't 
seem to work for LD_LIBRARY_PATH. The 'echo' works for one but not for the 
other (the result is that some of the executables fail because they can't 
find the libraries). Is there anything I'm missing?

Best,

- Cesar

On Friday 16 June 2006 07:39, Paul D. Smith wrote:
> %% Cesar Crusius <address@hidden> writes:
>
>   cc> Here's my problem: I'm trying to set up a build system where all
>   cc> the executables necessary to build something are in the repository
>   cc> itself. So I want the build to fail if it requires any executable
>   cc> not in the repository.  The obvious thing to do was
>
>   cc> PATH := $(PATH_TO_REPOSITORY_EXECS)
>
>   cc> but that doesn't work as it doesn't set the environment
>   cc> variable.
>
> It will, for normal rules.
>
>   cc> For example, if after that I do
>
>   cc> $(warning $(shell which gcc))
>
>   cc> I still get /usr/bin/gcc.
>
> That's because make variables are not exported to the $(shell ...)
> function.  This is a bug, but a known bug.  The reason it's not done is
> that you can get an infinite recursion situation this way.  That should
> be fixed but isn't yet.
>
> If you do this:
>
>     PATH := $(PATH_TO_REPOSITORY_EXECS)
>
>     all: ; @echo '$$PATH'
>
> you'll see that the commands in rules _DO_ have the modified value.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]