Domande taggate «dynamic-linking»

Nell'informatica, un collegamento dinamico è il processo di un sistema operativo (SO) che carica (copie dall'archiviazione persistente nella RAM) e collega (riempie le tabelle di salto e trasferisce i puntatori) le librerie condivise necessarie a un eseguibile in fase di esecuzione, ovvero quando viene eseguito.

4
Come funzionano i numeri SO (oggetto condiviso)?
Sono consapevole che gli oggetti condivisi su Linux usano "così numeri", vale a dire che alle diverse versioni di un oggetto condiviso vengono assegnate estensioni diverse, ad esempio: example.so.1 example.so.2 Capisco l'idea è di avere due file distinti in modo tale che su un sistema possano esistere due versioni di …





3
Trova dove è definito un simbolo di libreria condivisa su un sistema live / elenca tutti i simboli esportati su un sistema
Fondamentalmente, si tratta di due domande in una: perché se posso elencare tutti i simboli esportati all'interno di un sistema, insieme al loro percorso di libreria condiviso, allora potrei semplicemente grepquell'output. Per i simboli del kernel, immagino che sia un po 'più semplice, perché possiamo sempre cat /proc/kallsymse ottenere un …



1
Perché i sistemi Unix / Linux non attraversano le directory fino a quando non trovano la versione richiesta di una libreria collegata?
Ho un eseguibile binario chiamato "alpha" che richiede una libreria collegata (libz.so.1.2.7) che si trova in /home/username/myproduct/lib/libz.so.1.2.7 Esporto lo stesso nella mia istanza di terminale prima di generare il mio eseguibile binario eseguendo il comando seguente. export LD_LIBRARY_PATH=/home/username/myproduct/lib/:$LD_LIBRARY_PATH Ora, quando ho generato un'altra applicazione "bravo" che richiede la stessa libreria …

9
Problema di avviare java su Debian: "errore durante il caricamento delle librerie condivise: libjli.so"
Sto provando a lanciare 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
Installare due glibc insieme a debian / ubuntu
È possibile installare e utilizzare due diverse versioni di glibc sullo stesso computer. Dove una versione viene utilizzata solo per eseguire software legacy, che si basa su vecchi binari glibc? È possibile farlo con l'aiuto del gestore dei pacchetti (qualcosa come "installa questo pacchetto e le sue dipendenze, a /opt/old-glibc), …


2
Posso usare il mio ld.so.cache?
ldconfig ha due opzioni interessanti: -f conf Use conf instead of /etc/ld.so.conf. -C cache Use cache instead of /etc/ld.so.cache. Ho provato a copiare /etc/ld.so.confnella mia directory home e l'ho modificata per includere i percorsi delle mie librerie locali, ad es /home/syockit/local/usr/lib. Ecc. E ho funzionato ldconfig -f /home/syockit/ld.so.conf -C /home/syockit/ld.so.cache …

3
Scopri se la libreria è nel percorso
Supponendo di voler verificare se una libreria è installata e utilizzabile da un programma. Posso usare ldconfig -p | grep mylibper scoprire se è installato sul sistema. ma cosa succede se la libreria è nota solo tramite l'impostazione LD_LIBRARY_PATH? In tal caso, il programma potrebbe essere in grado di trovare …


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.