|
From: | Tobias Preclik |
Subject: | [bug #39560] directory search order for link libraries |
Date: | Wed, 24 Jul 2013 09:22:08 +0000 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1553.0 Safari/537.36 SUSE/30.0.1553.0 |
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/
[Prev in Thread] | Current Thread | [Next in Thread] |