about summary refs log tree commit diff
path: root/src/nix-copy-closure/local.mk
diff options
context:
space:
mode:
authorAndrew Dunham <andrew@du.nham.ca>2018-04-22T04·10-0700
committerAndrew Dunham <andrew@du.nham.ca>2018-04-22T04·10-0700
commit3a918014b248a41fe6307228d258b6113e84138b (patch)
tree67da83bb97db1741da4afcbe9cb1322a7d3fdebf /src/nix-copy-closure/local.mk
parent040acdcee2fcf5647896ba12316b4f9184275a70 (diff)
Fix library ordering in Makefiles
The existing ordering linked `libutil` before `libstore`, which causes
link failures when building statically. This is due to `libstore` using
functions from `libutil`, and the fact that symbol resolution works
"forward" - i.e. if you pass `-lfoo -lbar -lbaz`, any symbols that
`libbar` uses from `libbaz` will be resolved, but symbols from `libfoo`
will not since it comes first in the command line.

All this to say: this commit reorders the libraries which fixes the link
errors.
Diffstat (limited to 'src/nix-copy-closure/local.mk')
-rw-r--r--src/nix-copy-closure/local.mk2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/nix-copy-closure/local.mk b/src/nix-copy-closure/local.mk
index 42bb34dd8201..5018ab975b44 100644
--- a/src/nix-copy-closure/local.mk
+++ b/src/nix-copy-closure/local.mk
@@ -2,6 +2,6 @@ programs += nix-copy-closure
 
 nix-copy-closure_DIR := $(d)
 
-nix-copy-closure_LIBS = libmain libutil libformat libstore
+nix-copy-closure_LIBS = libmain libformat libstore libutil
 
 nix-copy-closure_SOURCES := $(d)/nix-copy-closure.cc