Fix ldconfig call in target-finalize
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 30 Aug 2010 20:52:18 +0000 (22:52 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 30 Aug 2010 21:14:20 +0000 (23:14 +0200)
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>
Makefile

index d37d81f64c66f42d8009dcc2091347c58b03e06f..462d974d2dc2c249852a8dc3e40f871cab39df39 100644 (file)
--- a/Makefile
+++ b/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