summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Golaszewski2015-08-14 08:50:00 +0200
committerDenys Vlasenko2015-08-17 17:05:55 +0200
commitbb2fd67d0bfe16441d4b1d2e6ece83b04955b379 (patch)
tree574e0b495f07413ba7c4bb236e10591469a8b50d
parent718e228adcd7b9592b504b55217d13f4216a0450 (diff)
downloadbusybox-bb2fd67d0bfe16441d4b1d2e6ece83b04955b379.zip
busybox-bb2fd67d0bfe16441d4b1d2e6ece83b04955b379.tar.gz
Makefile: add missing libraries to LDLIBS
Static build with CONFIG_PAM fails on Debian Jessie due to undefined references to libdl and libaudit. Static build without pam, but with libcrypt required fails as well due to undefined references to libpthread. Fix these two cases by adding the missing libraries to LDLIBS when appropriate. Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--Makefile.flags18
1 files changed, 9 insertions, 9 deletions
diff --git a/Makefile.flags b/Makefile.flags
index a1ed148..bb90a08 100644
--- a/Makefile.flags
+++ b/Makefile.flags
@@ -121,20 +121,20 @@ endif
# fall back to using a temp file:
CRYPT_AVAILABLE := $(shell echo 'int main(void){return 0;}' >crypttest.c; $(CC) $(CFLAGS) -lcrypt -o /dev/null crypttest.c >/dev/null 2>&1 && echo "y"; rm crypttest.c)
ifeq ($(CRYPT_AVAILABLE),y)
-LDLIBS += m crypt
+LDLIBS += m crypt pthread
else
LDLIBS += m
endif
ifeq ($(CONFIG_PAM),y)
-# libpam uses libpthread, so for static builds busybox must be linked to
-# libpthread. On some platforms that requires an explicit -lpthread, so
-# it should be in LDLIBS. For non-static builds, scripts/trylink will
-# take care of removing -lpthread if possible. (Not bothering to check
-# CONFIG_STATIC because even in a non-static build it could be that the
-# only libpam available is libpam.a, so -lpthread could still be
-# needed.)
-LDLIBS += pam pam_misc pthread
+# libpam uses libpthread, libdl and libaudit, so for static builds busybox
+# must be linked to libpthread, libdl and libaudit. On some platforms that
+# requires an explicit -lpthread, -ldl and -laudit, so it should be in
+# LDLIBS. For non-static builds, scripts/trylink will take care of removing
+# these flags if possible. (Not bothering to check CONFIG_STATIC because
+# even in a non-static build it could be that the only libpam available is
+# libpam.a, so -lpthread & Co. could still be needed.)
+LDLIBS += pam pam_misc pthread dl audit
endif
ifeq ($(CONFIG_SELINUX),y)