GNU/Linux >> Linux Esercitazione >  >> Linux

Errore ldconfig:non è un collegamento simbolico

Ho riscontrato questo problema con il client Oracle 11R2. Non sono sicuro se il programma di installazione di Oracle lo abbia fatto o qualcuno l'abbia fatto qui prima del mio arrivo. Non era a 64 bit contro 32 bit, tutto era a 64 bit.

L'errore era libexpat.so.1 non era un collegamento simbolico.

Si è scoperto che c'erano due file identici, libexpat.so.1.5.2 e libexpat.so.1 . La rimozione del file offensivo e la sua creazione di un collegamento simbolico alla versione 1.5.2 ha causato la scomparsa dell'errore.

Ha senso che tu voglia che il nome noto sia un collegamento simbolico alla versione corrente. Se lo fai, è meno probabile che ti ritroverai con una libreria obsoleta.


Risolto, almeno al punto della questione.

Ho cercato nel web prima di chiedere, e non c'era una soluzione conclusiva, il motivo per cui questo errore è:lib1.so e lib2.so non vanno bene, molto probabilmente non sono stati compilati per un PC a 64 bit, ma per una macchina a 32 bit altrimenti lib3.so è una libreria a 64 bit. Almeno questa è la mia ipotesi.

MOLTO sfortunatamente ldconfig non fornisce un messaggio di errore pulito che informa che non è stato possibile caricare la libreria, esegue solo il pump:

ldconfig:/folder_where_the_wicked_lib_is/ non è un collegamento simbolico

Ho risolto questo quando ho rimosso le librerie non trovate da ldd sul binario. Ora è più facile sapere dove sta il problema.

La mia versione ld:GNU ld version 2.20.51, e non so se una versione più recente abbia un messaggio migliore per i suoi utenti.

Grazie.


Ho semplicemente eseguito il comando seguente:

export LD_LIBRARY_PATH=/usr/lib/

Ora funziona correttamente.


Linux
  1. c_rehash :Errore comando non trovato – Soluzione

  2. Come correggere l'errore dell'editor Vi / Vim — E319:Spiacenti, il comando non è disponibile in questa versione

  3. Come posso collegarmi a una versione specifica di glibc?

  4. Come comprimere un collegamento simbolico?

  5. Come faccio a spostare un collegamento simbolico relativo?

If...else...if Statement (comando non trovato errore)?

Collegamento con una versione precedente di libstdc++

Variabili d'ambiente nei collegamenti simbolici

sshpass:comando non trovato errore

Errore durante l'utilizzo di una versione più recente di glibc

Come elencare catene di collegamenti simbolici?