From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnout Vandecappelle Date: Wed, 30 Dec 2015 15:25:32 +0100 Subject: [Buildroot] [PATCH] Drop ldconfig handling In-Reply-To: <20151229203420.GF3445@free.fr> References: <1451420850-22132-1-git-send-email-thomas.petazzoni@free-electrons.com> <20151229203420.GF3445@free.fr> Message-ID: <5683E95C.9070903@mind.be> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net On 29-12-15 21:34, Yann E. MORIN wrote: > Thomas, All, > > On 2015-12-29 21:27 +0100, Thomas Petazzoni spake thusly: >> 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 in the target. >> >> Signed-off-by: Thomas Petazzoni >> --- >> Makefile | 14 ++------------ >> system/skeleton/etc/ld.so.conf.d/.empty | 0 >> 2 files changed, 2 insertions(+), 12 deletions(-) >> delete mode 100644 system/skeleton/etc/ld.so.conf.d/.empty >> >> diff --git a/Makefile b/Makefile >> index 1d69192..a15013e 100644 >> --- a/Makefile >> +++ b/Makefile >> @@ -598,18 +598,8 @@ endif >> xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) >> >> 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 >> + test -f $(TARGET_DIR)/etc/ld.so.conf && \ >> + { echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true > > We could also add (in case a package installs something in there): > > 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 And it probably should be done after the overlay and post-build scripts, since these may (and are likely to) add it. Regards, Arnout > > Otherwise: > > Reviewed-by: "Yann E. MORIN" > > Regards, > Yann E. MORIN. > >> ( \ >> echo "NAME=Buildroot"; \ >> echo "VERSION=$(BR2_VERSION_FULL)"; \ >> diff --git a/system/skeleton/etc/ld.so.conf.d/.empty b/system/skeleton/etc/ld.so.conf.d/.empty >> deleted file mode 100644 >> index e69de29..0000000 >> -- >> 2.6.4 >> >> _______________________________________________ >> buildroot mailing list >> buildroot at busybox.net >> http://lists.busybox.net/mailman/listinfo/buildroot > -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF