path: root/Makefile
diff options
authorGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-01-01 22:23:39 +0100
committerGravatar Peter Korsgaard <peter@korsgaard.com>2016-01-03 21:46:07 +0100
commit9c4072348960d99d39f2cf47ff022f2d3711962e (patch)
tree00d5ba0932a8a3328c2c532d9e81a03cb33bcd5c /Makefile
parent63b6665092f9bd12eba8d5ba520d81e7369ea3a4 (diff)
Makefile: drop ldconfig handling
The ldconfig handling in the main Makefile is utterly broken, as it calls the build machine ldconfig to generate the ld.so.cache of the target. Unfortunately, the format of the ld.so.cache is architecture specific, and therefore the build machine ldconfig cannot be used as-is. This patch therefore simply drops using ldconfig entirely, and removes /etc/ld.so.conf.d/ from the target skeleton. The idea is that all libraries that should be loaded by the dynamic linker must be installed in paths where the dynamic linker searches them by default (typically /lib or /usr/lib). This might potentially break a few packages, but the only way to know is to actually stop handling ldconfig. In order to be notified of such cases, we add a check in target-finalize to verify that there is no /etc/ld.so.conf file as well as no /etc/ld.so.conf.d directory. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'Makefile')
1 files changed, 4 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index 80e94a2abb..0883175e41 100644
--- a/Makefile
+++ b/Makefile
@@ -604,20 +604,11 @@ endif
# debugging symbols.
find $(TARGET_DIR)/lib -type f -name 'ld-*.so*' | \
+ test -f $(TARGET_DIR)/etc/ld.so.conf && \
+ { echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true
+ test -d $(TARGET_DIR)/etc/ld.so.conf.d && \
+ { echo "ERROR: we shouldn't have a /etc/ld.so.conf.d directory"; exit 1; } || true
mkdir -p $(TARGET_DIR)/etc
- # Mandatory configuration file and auxiliary cache directory
- # for recent versions of ldconfig
- touch $(TARGET_DIR)/etc/ld.so.conf
- mkdir -p $(TARGET_DIR)/var/cache/ldconfig
- if [ -x "$(TARGET_CROSS)ldconfig" ]; \
- then \
- $(TARGET_CROSS)ldconfig -r $(TARGET_DIR) \
- -f $(TARGET_DIR)/etc/ld.so.conf; \
- else \
- /sbin/ldconfig -r $(TARGET_DIR) \
- -f $(TARGET_DIR)/etc/ld.so.conf; \
- fi
( \
echo "NAME=Buildroot"; \