bug-make
[Top][All Lists]
Advanced

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

[bug #39560] directory search order for link libraries


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/




reply via email to

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