Skip to contentSkip to conversation

ldconfig cache generation in cross way

PATCH Applied Nitin A Kamble 2 participants 5 messages Apr 4, 2011

lore
Share & tools
lore
#0 lore raw

cover ldconfig cache generation in cross way

From: Nitin A Kamble <[email protected]>

This brings few commits related to the yocto bug #780

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: nitin/bug780
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/bug780

Thanks,
Nitin A Kamble <[email protected]>
---

Nitin A Kamble (3):
image.bbclass: make execution ldconfig verbose
libxcb: fix for broken library link in the image ldconfig-native-2.12.1: newer recipe with eglibc sources

 meta/classes/image.bbclass                         |    3 +-
 .../ldconfig-native-2.12.1}/32and64bit.patch       |   94 +++--
 .../eglibc/ldconfig-native-2.12.1/README           |    8 +
 .../endian-ness_handling.patch                     |  451 ++++++++++++++++++++
 .../eglibc/ldconfig-native-2.12.1/flag_fix.patch   |   22 +
 .../ldconfig-native-2.12.1.tar.bz2                 |  Bin 0 -> 21491 bytes
 .../ldconfig-native-2.12.1}/ldconfig.patch         |  125 +++---
 .../ldconfig_aux-cache_path_fix.patch              |   34 ++
 meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb |   27 ++
 .../ldconfig-native-2.5.tar.bz2                    |  Bin 19454 -> 0 bytes
 meta/recipes-core/glibc/ldconfig-native_2.5.bb     |   24 -
 meta/recipes-graphics/xcb/libxcb.inc               |    4 +-
 meta/recipes-graphics/xcb/libxcb_1.1.91.bb         |    2 +-
 meta/recipes-graphics/xcb/libxcb_1.7.bb            |    2 +-
 meta/recipes-graphics/xcb/libxcb_git.bb            |    1 +
 15 files changed, 680 insertions(+), 117 deletions(-)
 rename meta/recipes-core/{glibc/ldconfig-native-2.5 => eglibc/ldconfig-native-2.12.1}/32and64bit.patch (78%)
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/README
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/endian-ness_handling.patch
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/flag_fix.patch
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig-native-2.12.1.tar.bz2
 rename meta/recipes-core/{glibc/ldconfig-native-2.5 => eglibc/ldconfig-native-2.12.1}/ldconfig.patch (84%)
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig_aux-cache_path_fix.patch
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb
 delete mode 100644 meta/recipes-core/glibc/ldconfig-native-2.5/ldconfig-native-2.5.tar.bz2
 delete mode 100644 meta/recipes-core/glibc/ldconfig-native_2.5.bb
Signature · 1 line
1.7.2.2
#1 lore raw

PATCH 1/3 image.bbclass: make execution ldconfig verbose

From: Nitin A Kamble <[email protected]>

The failure of ldconfig was not getting logged anywhere before.

---
 meta/classes/image.bbclass |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
meta/classes/image.bbclass +2 -1
index 2cc17e1..95e3f4d 100644
@@ -113,7 +113,8 @@ fakeroot do_rootfs () {
 
 	# Run ldconfig on the image to create a valid cache 
 	# (new format for cross arch compatibility)
-	ldconfig -r ${IMAGE_ROOTFS} -c new
+	echo executing: ldconfig -r ${IMAGE_ROOTFS} -c new -v
+	ldconfig -r ${IMAGE_ROOTFS} -c new -v
 
 	# (re)create kernel modules dependencies
 	# This part is done by kernel-module-* postinstall scripts but if image do
Signature · 1 line
1.7.2.2
#2 lore raw

PATCH 2/3 libxcb: fix for broken library link in the image

In reply to Nitin A Kamble

From: Nitin A Kamble <[email protected]>

log.do_package:

NOTE: the following files were installed but not shipped in any package:
NOTE:   /usr/lib/libxcb-dri2.so.0
NOTE:   /usr/lib/libxcb-dri2.so.0.0.0
NOTE: libxcb-dev contains dangling symlink to

/usr/lib/libxcb-dri2.so.0.0.0

Then because of the dangling symlink, ldconfig fails at the time of rootfs creation of image.

---
 meta/recipes-graphics/xcb/libxcb.inc       |    4 +++-
 meta/recipes-graphics/xcb/libxcb_1.1.91.bb |    2 +-
 meta/recipes-graphics/xcb/libxcb_1.7.bb    |    2 +-
 meta/recipes-graphics/xcb/libxcb_git.bb    |    1 +
 4 files changed, 6 insertions(+), 3 deletions(-)
meta/recipes-graphics/xcb/libxcb.inc +3 -1
index 81d4a20..3bb210a 100644
@@ -19,10 +19,12 @@ PACKAGES =+ "libxcb-composite libxcb-damage libxcb-dpms libxcb-glx \
              libxcb-randr libxcb-record libxcb-render libxcb-res \
              libxcb-screensaver libxcb-shape libxcb-shm libxcb-sync \
              libxcb-xevie libxcb-xf86dri libxcb-xfixes libxcb-xlib \
-             libxcb-xprint libxcb-xtest libxcb-xv libxcb-xvmc"
+             libxcb-xprint libxcb-xtest libxcb-xv libxcb-xvmc \
+             libxcb-dri2"
 
 FILES_${PN} = "${libdir}/libxcb.so.*"
 #FILES_${PN}-dev = "${libdir}/libxcb.* ${libdir}/pkgconfig/*.pc ${includedir}/xcb/*.h"
+FILES_libxcb-dri2 = "${libdir}/libxcb-dri2.so.*"
 FILES_libxcb-composite = "${libdir}/libxcb-composite.so.*"
 FILES_libxcb-damage = "${libdir}/libxcb-damage.so.*"
 FILES_libxcb-dpms = "${libdir}/libxcb-dpms.so.*"
meta/recipes-graphics/xcb/libxcb_1.1.91.bb +1 -1
index ae0cc57..7ea7451 100644
@@ -1,5 +1,5 @@
 include libxcb.inc
-PR = "r1"
+PR = "r2"
 
 DEPENDS += "libpthread-stubs xcb-proto-native"
 
meta/recipes-graphics/xcb/libxcb_1.7.bb +1 -1
index 426f790..0f30c88 100644
@@ -3,7 +3,7 @@ include libxcb.inc
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7"
 
-PR = "r0"
+PR = "r1"
 
 DEPENDS += "libpthread-stubs xcb-proto-native"
 
meta/recipes-graphics/xcb/libxcb_git.bb +1 -0
index faa5231..86ba036 100644
@@ -2,6 +2,7 @@ DEFAULT_PREFERENCE = "-1"
 
 include libxcb.inc
 PV = "1.1.90.1+gitr${SRCPV}"
+PR = "r1"
 
 DEPENDS += "libpthread-stubs xcb-proto-native"
 
Signature · 1 line
1.7.2.2
#3 lore raw

PATCH 3/3 ldconfig-native-2.12.1: newer recipe with eglibc sources

In reply to Nitin A Kamble

From: Nitin A Kamble <[email protected]>

This fixes [YOCTO #780]

Handle the input/output data with different endian-ness correctly Also fix the definition of LD_SO for cross environment

And remove the older 2.5 version of ldconfig-native recipe

---
 .../ldconfig-native-2.12.1}/32and64bit.patch       |   94 +++--
 .../eglibc/ldconfig-native-2.12.1/README           |    8 +
 .../endian-ness_handling.patch                     |  451 ++++++++++++++++++++
 .../eglibc/ldconfig-native-2.12.1/flag_fix.patch   |   22 +
 .../ldconfig-native-2.12.1.tar.bz2                 |  Bin 0 -> 21491 bytes
 .../ldconfig-native-2.12.1}/ldconfig.patch         |  125 +++---
 .../ldconfig_aux-cache_path_fix.patch              |   34 ++
 meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb |   27 ++
 .../ldconfig-native-2.5.tar.bz2                    |  Bin 19454 -> 0 bytes
 meta/recipes-core/glibc/ldconfig-native_2.5.bb     |   24 -
 10 files changed, 672 insertions(+), 113 deletions(-)
 rename meta/recipes-core/{glibc/ldconfig-native-2.5 => eglibc/ldconfig-native-2.12.1}/32and64bit.patch (78%)
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/README
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/endian-ness_handling.patch
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/flag_fix.patch
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig-native-2.12.1.tar.bz2
 rename meta/recipes-core/{glibc/ldconfig-native-2.5 => eglibc/ldconfig-native-2.12.1}/ldconfig.patch (84%)
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig_aux-cache_path_fix.patch
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb
 delete mode 100644 meta/recipes-core/glibc/ldconfig-native-2.5/ldconfig-native-2.5.tar.bz2
 delete mode 100644 meta/recipes-core/glibc/ldconfig-native_2.5.bb
meta/recipes-core/eglibc/ldconfig-native-2.12.1/32and64bit.patch renamed from meta/recipes-core/glibc/ldconfig-native-2.5/32and64bit.patch +64 -30
similarity index 78%
rename from meta/recipes-core/glibc/ldconfig-native-2.5/32and64bit.patch
rename to meta/recipes-core/eglibc/ldconfig-native-2.12.1/32and64bit.patch
index 4f8d3a3..8069c89 100644
@@ -1,8 +1,8 @@
-Index: ldconfig-native-2.5/readelflib.c
+Index: ldconfig-native-2.12.1/readelflib.c
 ===================================================================
---- ldconfig-native-2.5.orig/readelflib.c	2009-05-19 09:40:17.000000000 +0100
-+++ ldconfig-native-2.5/readelflib.c	2009-05-19 09:56:18.000000000 +0100
-@@ -40,38 +40,190 @@
+--- ldconfig-native-2.12.1.orig/readelflib.c
++++ ldconfig-native-2.12.1/readelflib.c
+@@ -40,39 +40,212 @@ do								\
  
  /* Returns 0 if everything is ok, != 0 in case of error.  */
  int
@@ -33,7 +33,8 @@ Index: ldconfig-native-2.5/readelflib.c
  
 -  if (elf_header->e_ident [EI_CLASS] != ElfW (CLASS))
 +  if (elf_header->e_type != ET_DYN)
-+    {
+     {
+-      if (opt_verbose)
 +      error (0, 0, _("%s is not a shared object file (Type: %d).\n"), file_name,
 +	     elf_header->e_type);
 +      return 1;
@@ -53,8 +54,7 @@ Index: ldconfig-native-2.5/readelflib.c
 +  program_interpreter = NULL;
 +  for (i = 0, segment = elf_pheader;
 +       i < elf_header->e_phnum; i++, segment++)
-     {
--      if (opt_verbose)
++    {
 +      check_ptr (segment);
 +
 +      switch (segment->p_type)
@@ -93,25 +93,45 @@ Index: ldconfig-native-2.5/readelflib.c
 +	  break;
 +
 +	case PT_NOTE:
-+	  if (!*osversion && segment->p_filesz == 32 && segment->p_align >= 4)
++	  if (!*osversion && segment->p_filesz >= 32 && segment->p_align >= 4)
 +	    {
 +	      Elf32_Word *abi_note = (Elf32_Word *) (file_contents
 +						     + segment->p_offset);
-+	      if (abi_note [0] == 4 && abi_note [1] == 16 && abi_note [2] == 1
-+		  && memcmp (abi_note + 3, "GNU", 4) == 0)
-+		*osversion = (abi_note [4] << 24) |
-+			     ((abi_note [5] & 0xff) << 16) |
-+			     ((abi_note [6] & 0xff) << 8) |
-+			     (abi_note [7] & 0xff);
++	      Elf32_Addr size = segment->p_filesz;
++
++	      while (abi_note [0] != 4 || abi_note [1] != 16
++		     || abi_note [2] != 1
++		     || memcmp (abi_note + 3, "GNU", 4) != 0)
++		{
++#define ROUND(len) (((len) + sizeof (Elf32_Word)) - 1) & -sizeof (Elf32_Word)))
++		  Elf32_Addr) note_size = 3 * sizeof (Elf32_Word))
++					 + ROUND (abi_note[0])
++					 + ROUND (abi_note[1]);
++
++		  if (size - 32 < note_size || note_size == 0)
++		    {
++		      size = 0;
++		      break;
++		    }
++		  size -= note_size;
++		  abi_note = (void *) abi_note + note_size;
++		}
++
++	      if (size == 0)
++		break;
++
++	      *osversion = (abi_note [4] << 24) |
++			   ((abi_note [5] & 0xff) << 16) |
++			   ((abi_note [6] & 0xff) << 8) |
++			   (abi_note [7] & 0xff);
 +	    }
 +	  break;
 +
 +	default:
 +	  break;
- 	}
--      return 1;
++	}
 +
-     }
++    }
 +  if (loadaddr == (Elf32_Addr) -1)
 +    {
 +      /* Very strange. */
@@ -136,9 +156,10 @@ Index: ldconfig-native-2.5/readelflib.c
 +	  dynamic_strings = (char *) (file_contents + dyn_entry->d_un.d_val - loadaddr);
 +	  check_ptr (dynamic_strings);
 +	  break;
-+	}
-+    }
-+
+ 	}
+-      return 1;
+     }
+ 
 +  if (dynamic_strings == NULL)
 +    return 1;
 +
@@ -205,10 +226,11 @@ Index: ldconfig-native-2.5/readelflib.c
 +
 +  elf_header = (Elf64_Ehdr *) file_contents;
 +  *osversion = 0;
- 
++
    if (elf_header->e_type != ET_DYN)
      {
-@@ -81,7 +233,7 @@
+       error (0, 0, _("%s is not a shared object file (Type: %d).\n"), file_name,
+@@ -81,7 +254,7 @@ process_elf_file (const char *file_name,
      }
  
    /* Get information from elf program header.  */
@@ -217,7 +239,7 @@ Index: ldconfig-native-2.5/readelflib.c
    check_ptr (elf_pheader);
  
    /* The library is an elf library, now search for soname and
-@@ -100,7 +252,7 @@
+@@ -100,7 +273,7 @@ process_elf_file (const char *file_name,
        switch (segment->p_type)
  	{
  	case PT_LOAD:
@@ -226,16 +248,28 @@ Index: ldconfig-native-2.5/readelflib.c
  	    loadaddr = segment->p_vaddr - segment->p_offset;
  	  break;
  
-@@ -129,7 +281,7 @@
+@@ -129,16 +302,16 @@ process_elf_file (const char *file_name,
  	case PT_NOTE:
- 	  if (!*osversion && segment->p_filesz == 32 && segment->p_align >= 4)
+ 	  if (!*osversion && segment->p_filesz >= 32 && segment->p_align >= 4)
  	    {
 -	      ElfW(Word) *abi_note = (ElfW(Word) *) (file_contents
 +	      Elf64_Word *abi_note = (Elf64_Word *) (file_contents
  						     + segment->p_offset);
- 	      if (abi_note [0] == 4 && abi_note [1] == 16 && abi_note [2] == 1
- 		  && memcmp (abi_note + 3, "GNU", 4) == 0)
-@@ -145,7 +297,7 @@
+-	      ElfW(Addr) size = segment->p_filesz;
++	      Elf64_Addr size = segment->p_filesz;
+ 
+ 	      while (abi_note [0] != 4 || abi_note [1] != 16
+ 		     || abi_note [2] != 1
+ 		     || memcmp (abi_note + 3, "GNU", 4) != 0)
+ 		{
+-#define ROUND(len) (((len) + sizeof (ElfW(Word)) - 1) & -sizeof (ElfW(Word)))
+-		  ElfW(Addr) note_size = 3 * sizeof (ElfW(Word))
++#define ROUND(len) (((len) + sizeof (Elf64_Word) - 1) & -sizeof (Elf64_Word))
++		  Elf64_Addr note_size = 3 * sizeof (Elf64_Word)
+ 					 + ROUND (abi_note[0])
+ 					 + ROUND (abi_note[1]);
+ 
+@@ -166,7 +339,7 @@ process_elf_file (const char *file_name,
  	}
  
      }
@@ -244,7 +278,7 @@ Index: ldconfig-native-2.5/readelflib.c
      {
        /* Very strange. */
        loadaddr = 0;
-@@ -155,7 +307,7 @@
+@@ -176,7 +349,7 @@ process_elf_file (const char *file_name,
    if (dynamic_size == 0)
      return 1;
  
@@ -253,7 +287,7 @@ Index: ldconfig-native-2.5/readelflib.c
    check_ptr (dynamic_segment);
  
    /* Find the string table.  */
-@@ -218,3 +370,33 @@
+@@ -233,3 +406,33 @@ process_elf_file (const char *file_name,
  
    return 0;
  }
meta/recipes-core/eglibc/ldconfig-native-2.12.1/README new file +8 -0
new file mode 100644
index 0000000..43fb983
@@ -0,0 +1,8 @@
+The files are pulled verbatim from glibc 2.5 and then patched to allow
+standalone compilation of ldconfig.
+
+Richard Purdie
+OpenedHand Ltd.
+
+Upgraded the ldconfig recipe to eglibc 2.12.1
+Nitin A Kamble <[email protected]> 2011/03/29
meta/recipes-core/eglibc/ldconfig-native-2.12.1/endian-ness_handling.patch new file +451 -0

451 lines not on this page · raw message

meta/recipes-core/eglibc/ldconfig-native-2.12.1/flag_fix.patch new file +22 -0
new file mode 100644
index 0000000..b148553
@@ -0,0 +1,22 @@
+The native version of ldconfig was using native definition of LD_SO (i.e. 
+ld-linux-x86-64.so.2 ) which is not correct for doing the cross ldconfig.
+This was causing libc.so on the target marked as ELF lib rather than 
+FLAG_ELF_LIBC6 in the ld.so.cache.
+
+Nitin A Kamble <[email protected]> 2011/04/4
+
+Index: ldconfig-native-2.12.1/readlib.c
+===================================================================
+--- ldconfig-native-2.12.1.orig/readlib.c
++++ ldconfig-native-2.12.1/readlib.c
+@@ -51,6 +51,10 @@ struct known_names
+   int flag;
+ };
+ 
++/* don't use host's definition of LD_SO */
++#undef LD_SO 
++#define LD_SO "ld.so.1"
++
+ static struct known_names interpreters[] =
+ {
+   { "/lib/" LD_SO, FLAG_ELF_LIBC6 },
meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig-native-2.12.1.tar.bz2 new file binary +0 -0
new file mode 100644
index 0000000000000000000000000000000000000000..dc1e79888e9bf28226cf18513ebd4478ec90175f
GIT binary patch
meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig.patch renamed from meta/recipes-core/glibc/ldconfig-native-2.5/ldconfig.patch +66 -59

257 lines not on this page · raw message

meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig_aux-cache_path_fix.patch new file +34 -0
new file mode 100644
index 0000000..0312ca8
@@ -0,0 +1,34 @@
+Coming from this bug: http://sourceware.org/bugzilla/show_bug.cgi?id=11149
+
+Nitin A Kamble <[email protected]>2011/03/29
+
+--- ldconfig-native-2.12.1.orig/ldconfig.c	
++++ ldconfig-native-2.12.1/ldconfig.c	
+@@ -1359,14 +1359,9 @@ main (int argc, char **argv)
+ 
+   const char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE;
+   if (opt_chroot)
+-    {
+-      aux_cache_file = chroot_canon (opt_chroot, aux_cache_file);
+-      if (aux_cache_file == NULL)
+-	error (EXIT_FAILURE, errno, _("Can't open cache file %s\n"),
+-	       _PATH_LDCONFIG_AUX_CACHE);
+-    }
++    aux_cache_file = chroot_canon (opt_chroot, aux_cache_file);
+ 
+-  if (! opt_ignore_aux_cache)
++  if (! opt_ignore_aux_cache && aux_cache_file)
+     load_aux_cache (aux_cache_file);
+   else
+     init_aux_cache ();
+@@ -1376,7 +1371,8 @@ main (int argc, char **argv)
+   if (opt_build_cache)
+     {
+       save_cache (cache_file);
+-      save_aux_cache (aux_cache_file);
++      if (aux_cache_file)
++        save_aux_cache (aux_cache_file);
+     }
+ 
+   return 0;
+
meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb new file +27 -0
new file mode 100644
index 0000000..bacf9f8
@@ -0,0 +1,27 @@
+DESCRIPTION = "A standalone native ldconfig build"
+
+LICENSE = "GPLv2.1"
+
+LIC_FILES_CHKSUM = "file://${S}/ldconfig.c;endline=17;md5=1d15f20937c055cb5de2329a4c054399"
+
+SRC_URI = "file://ldconfig-native-2.12.1.tar.bz2 \
+           file://ldconfig.patch \
+           file://ldconfig_aux-cache_path_fix.patch \
+           file://32and64bit.patch \
+           file://endian-ness_handling.patch \
+           file://flag_fix.patch "
+
+PR = "r0"
+
+inherit native
+
+S = "${WORKDIR}/${PN}-${PV}"
+
+do_compile () {
+	$CC ldconfig.c -std=gnu99 chroot_canon.c xmalloc.c xstrdup.c cache.c readlib.c  -I. dl-cache.c -o ldconfig
+}
+
+do_install () {
+	install -d ${D}/${bindir}/
+	install ldconfig ${D}/${bindir}/
+}
meta/recipes-core/glibc/ldconfig-native-2.5/ldconfig-native-2.5.tar.bz2 deleted binary +0 -0
deleted file mode 100644
index 693b35ced2a8ce9965f5a984bb919289848349f4..0000000000000000000000000000000000000000
GIT binary patch
meta/recipes-core/glibc/ldconfig-native_2.5.bb deleted +0 -24
deleted file mode 100644
index 39c8ce3..0000000
@@ -1,24 +0,0 @@
-DESCRIPTION = "A standalone native ldconfig build"
-
-LICENSE = "GPLv2"
-
-LIC_FILES_CHKSUM = "file://${S}/ldconfig.c;endline=16;md5=8b3df71ec5b0feeeeab79025096aa92c"
-
-SRC_URI = "file://ldconfig-native-2.5.tar.bz2 \
-           file://ldconfig.patch;patch=1 \
-           file://32and64bit.patch;patch=1"
-
-PR = "r1"
-
-inherit native
-
-S = "${WORKDIR}/${PN}-${PV}"
-
-do_compile () {
-	$CC ldconfig.c -std=gnu99 chroot_canon.c xmalloc.c xstrdup.c cache.c readlib.c  -I. dl-cache.c -o ldconfig
-}
-
-do_install () {
-	install -d ${D}/${bindir}/
-	install ldconfig ${D}/${bindir}/
-}
Signature · 1 line
1.7.2.2
#4 lore raw
In reply to Nitin A Kamble
Quoted 13 lines · Nitin A Kamble

From: Nitin A Kamble <[email protected]>

This brings few commits related to the yocto bug #780

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: nitin/bug780
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/bug780

Thanks,
Nitin A Kamble <[email protected]>
---

Quoted 4 lines

Nitin A Kamble (3):
image.bbclass: make execution ldconfig verbose
libxcb: fix for broken library link in the image ldconfig-native-2.12.1: newer recipe with eglibc sources

Merged to master, thanks.

Richard