Preguntas etiquetadas con dynamic-linking

En informática, un enlace dinámico es el proceso de un sistema operativo (SO) que carga (copias del almacenamiento persistente en la RAM) y enlaza (llena las tablas de salto y reubica los punteros) las bibliotecas compartidas que necesita un ejecutable en tiempo de ejecución, es decir, cuando se ejecuta

4
¿Cómo funcionan los números SO (objeto compartido)?
Soy consciente de que los objetos compartidos en Linux usan "números", es decir, que las diferentes versiones de un objeto compartido reciben diferentes extensiones, por ejemplo: example.so.1 example.so.2 Entiendo que la idea es tener dos archivos distintos de modo que puedan existir dos versiones de una biblioteca en un sistema …





3
Encuentre dónde está un símbolo de biblioteca compartida definido en un sistema en vivo / enumere todos los símbolos exportados en un sistema
Básicamente, se trata de dos preguntas en una, porque si puedo enumerar todos los símbolos exportados dentro de un sistema, junto con su ruta de biblioteca compartida, entonces podría simplemente grepesa salida. Para los símbolos del núcleo, supongo que es algo más fácil, porque siempre podemos cat /proc/kallsymsobtener una lista …



1
¿Por qué los sistemas Unix / Linux no atraviesan directorios hasta que encuentran la versión requerida de una biblioteca vinculada?
Tengo un ejecutable binario llamado "alfa" que requiere una biblioteca vinculada (libz.so.1.2.7) que se coloca en /home/username/myproduct/lib/libz.so.1.2.7 Exporte lo mismo a mi instancia de terminal antes de generar mi ejecutable binario ejecutando el siguiente comando. export LD_LIBRARY_PATH=/home/username/myproduct/lib/:$LD_LIBRARY_PATH Ahora, cuando engendro otra aplicación "bravo" que requiere la misma biblioteca pero de …

9
Problema al iniciar Java en Debian: "error al cargar bibliotecas compartidas: libjli.so"
Estoy tratando de lanzar Java: $ java -version java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory $ ldd /usr/lib/jvm/java-6-openjdk/jre/bin/java linux-gate.so.1 => (0xb779f000) libz.so.1 => /usr/lib/libz.so.1 (0xb7780000) libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb7767000) libjli.so => /usr/lib/jvm/java-6-openjdk/jre/bin/../lib/i386/jli/libjli.so (0xb7762000) libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb775e000) libc.so.6 => /lib/i686/cmov/libc.so.6 …

1
Instalar dos glibc junto a debian / ubuntu
¿Es posible instalar y usar dos versiones diferentes de glibc en la misma máquina? ¿Dónde solo se usa una versión para ejecutar software heredado, que se basa en viejos binarios de glibc? ¿Es posible hacerlo con la ayuda del administrador de paquetes (algo así como "instalar este paquete y sus …


2
¿Puedo usar mi propio ld.so.cache?
ldconfig tiene dos opciones interesantes: -f conf Use conf instead of /etc/ld.so.conf. -C cache Use cache instead of /etc/ld.so.cache. Traté de copiar /etc/ld.so.confen mi propio directorio de inicio y lo edité para incluir rutas a mis bibliotecas locales, por ejemplo, /home/syockit/local/usr/libetc. Y ejecuté ldconfig -f /home/syockit/ld.so.conf -C /home/syockit/ld.so.cache y posteriormente, …

3
Averigüe si la biblioteca está en camino
Suponiendo que quiero probar si una biblioteca está instalada y utilizable por un programa. Puedo usar ldconfig -p | grep mylibpara averiguar si está instalado en el sistema. pero ¿qué pasa si la biblioteca solo se conoce a través de la configuración LD_LIBRARY_PATH? En ese caso, el programa puede encontrar …


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.