bug-make
[Top][All Lists]
Advanced

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

Re: [bug #39560] directory search order for link libraries


From: Tobias Preclik
Subject: Re: [bug #39560] directory search order for link libraries
Date: Thu, 12 Sep 2013 10:25:33 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8

Hello make developers,

can anyone please comment whether this is considered a bug or not? Did
the problem become clear?

Best regards,
Tobias

On 07/24/2013 11:22 AM, Tobias Preclik wrote:
> URL:
>   <http://savannah.gnu.org/bugs/?39560>
> 
>                  Summary: directory search order for link libraries
>                  Project: make
>             Submitted by: macin
>             Submitted on: Wed 24 Jul 2013 09:22:07 AM GMT
>                 Severity: 3 - Normal
>               Item Group: Bug
>                   Status: None
>                  Privacy: Public
>              Assigned to: None
>              Open/Closed: Open
>          Discussion Lock: Any
>        Component Version: 3.82
>         Operating System: None
>            Fixed Release: None
>            Triage Status: None
> 
>     _______________________________________________________
> 
> Details:
> 
> Consider the following Makefile:
> 
> # --- >8 ---
> 
> vpath lib%.a /tmp/boosttmp/
> vpath lib%.so /tmp/boosttmp/
> 
> a: -lm -lboost_system
>       @echo target a: $^
> 
> b: -lboost_system -lm
>       @echo target b: $^
> 
> # --- >8 ---
> 
> Note that /tmp/boosttmp/ as well as some system library path must contain
> libboost_system.so to reproduce the bug. From my understanding make will
> search the vpath first and then the system directories. Now consider the
> following executions of make:
> 
> $ make a
> target a: /usr/lib64/libm.so /usr/lib64/libboost_system.so
> $ make b
> target b: /tmp/boosttmp/libboost_system.a /usr/lib64/libm.so
> $ make a b
> target a: /usr/lib64/libm.so /usr/lib64/libboost_system.so
> target b: /usr/lib64/libboost_system.so /usr/lib64/libm.so
> $ make b a
> target b: /tmp/boosttmp/libboost_system.a /usr/lib64/libm.so
> target a: /usr/lib64/libm.so /tmp/boosttmp/libboost_system.a
> 
> "make a" and "make a b" find the libboost_system libray in the system
> directories but "make b" and "make b a" in the vpath directory. Note also that
> the expansion of target a and b is inconsistent in the different executions.
> 
> 
> 
> 
> 
>     _______________________________________________________
> 
> Reply to this item at:
> 
>   <http://savannah.gnu.org/bugs/?39560>
> 
> _______________________________________________
>   Message sent via/by Savannah
>   http://savannah.gnu.org/
> 




reply via email to

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