Respuestas:
libc.sose movió como parte del trabajo multiarch en Ubuntu 11.04. La razón por la que no puede haber un enlace simbólico es que el propósito de multiarch es permitir la instalación de las versiones i386y al mismo tiempo para que pueda ejecutar binarios de 32 bits más fácilmente en sistemas de 64 bits y viceversa (y otras situaciones similares). Si el paquete contuviera un enlace simbólico a la nueva ubicación, entonces las versiones de ese paquete para diferentes arquitecturas no serían instalables al mismo tiempo (¿qué versión del enlace simbólico elegiría?), Lo que anularía todo el punto del ejercicio.amd64libclibc6dpkg
Cualquier cosa que codifique la ruta libc.sodebe actualizarse para que funcione correctamente desde Ubuntu 11.04 en adelante. Si el script del que habla es parte de Ubuntu, informe un error y agregue la multiarchetiqueta.
/lib/libc.so.6es la biblioteca de 32 o 64 bits.
El núcleo carga las bibliotecas dinámicas, las rutas no están codificadas en un programa. Un programa solo dice "Necesito libc.so.6". Luego, el sistema busca en las rutas de la biblioteca como se define en /etc/ld.so.conf, incluyendo /usr/liby /libpor defecto. Este archivo incluye archivos de configuración adicionales en /etc/ld.so.conf.d.
En mi sistema de 64 bits, libc.so.6se puede encontrar en /lib/x86_64-linux-gnu/libc.so.6debido a la ruta definida en /etc/ld.so.conf.d/x86_64-linux-gnu.conf:
# Multiarch support
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
Para averiguar qué biblioteca carga un programa, use lddcomo en ldd /bin/bash:
linux-vdso.so.1 => (0x00007ffff1dff000)
libncurses.so.5 => /lib/libncurses.so.5 (0x00007f9d8b3b8000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9d8b1b4000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9d8ae1f000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9d8b61c000)
Poner el enlace simbólico no rompería nada.
Para obtener una lista de los directorios que se buscan, ejecute:
ldconfig -v -N | grep '^/'
-vhace que se muestre una lista de archivos + directorios, -Nevita que se vuelva /etc/ld.so.cachea crear el caché ( ).
/usr/local/lib, pero funcionan bien si hago un enlace simbólico desde /usr/lib. ¿Qué causa este comportamiento?
ldconfig -v -N | grep '^/'?
Simplemente agregue el enlace simbólico al archivo libc.so.6 de la siguiente manera:
sudo ln -s /lib/i386-linux-gnu/libc.so.6 /lib/libc.so.6
Lo mismo ocurre con otros archivos que faltan todavía en el sistema, en mi caso Matlab no tenía el archivo, el problema se ha ido ahora.