瀏覽代碼

Fix ldconfig call in target-finalize

Recent versions of ldconfig require the directory /var/lib/ldconfig,
otherwise they bail out with an error. Moreover, having a
/etc/ld.so.conf file also avoids a warning.

In addition to this, we remove the redirection of stderr, so that
errors remain visible to the user.

Thanks to Baruch Siach, Andy Gibbs and Darcy Watkins for investigating
the issue and proposing solutions.

This fixes the build on recent distributions such as Fedora 13 or
Gentoo.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni 15 年之前
父節點
當前提交
4ccde7fabb
共有 1 個文件被更改,包括 7 次插入3 次删除
  1. 7 3
      Makefile

+ 7 - 3
Makefile

@@ -400,13 +400,17 @@ ifneq ($(BR2_HAVE_DOCUMENTATION),y)
 	rm -rf $(TARGET_DIR)/usr/share/gtk-doc
 endif
 	find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIPCMD) 2>/dev/null || true
+	mkdir -p $(TARGET_DIR)/etc
+	# Mandatory configuration file and auxilliary 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) 2>/dev/null; \
+		$(TARGET_CROSS)ldconfig -r $(TARGET_DIR); \
 	else \
-		/sbin/ldconfig -r $(TARGET_DIR) 2>/dev/null; \
+		/sbin/ldconfig -r $(TARGET_DIR); \
 	fi
-	mkdir -p $(TARGET_DIR)/etc
 	echo $(BR2_VERSION)$(shell $(TOPDIR)/scripts/setlocalversion) > \
 		$(TARGET_DIR)/etc/br-version