GNU/Linux >> Znalost Linux >  >> Linux

Chyba ldconfig:není symbolický odkaz

Narazil jsem na tento problém s klientem Oracle 11R2. Nejsem si jistý, jestli to udělal instalátor Oracle nebo to udělal někdo tady, než jsem dorazil. Nebylo to 64bitové vs 32bitové, vše bylo 64bitové.

Chyba byla libexpat.so.1 nebyl symbolický odkaz.

Ukázalo se, že existují dva stejné soubory, libexpat.so.1.5.2 a libexpat.so.1 . Odstranění problematického souboru a vytvoření symbolického odkazu na verzi 1.5.2 způsobilo, že chyba zmizela.

Dává smysl, že byste chtěli, aby známé jméno bylo symbolickým odkazem na aktuální verzi. Pokud to uděláte, je méně pravděpodobné, že skončíte se zastaralou knihovnou.


Vyřešeno, alespoň v bodě otázky.

Hledal jsem na webu, než jsem se zeptal, a neexistovalo žádné přesvědčivé řešení, důvod, proč je tato chyba:lib1.so a lib2.so nejsou v pořádku, velmi pravděpodobně nejsou zkompilovány pro 64 PC, ale jinak pro 32bitový stroj lib3.so je 64bitová lib. Alespoň taková je moje hypotéza.

VELMI bohužel ldconfig nedává čistou chybovou zprávu informující, že nemohl načíst knihovnu, pouze pumpuje:

ldconfig:/folder_where_the_wicked_lib_is/ není symbolický odkaz

Vyřešil jsem to, když jsem odstranil libs nenalezené ldd přes binární soubor. Nyní je snazší vědět, kde je problém.

Moje stará verze:GNU ld verze 2.20.51 a nevím, jestli má nejnovější verze pro své uživatele lepší zprávu.

Děkuji.


Jednoduše jsem spustil níže uvedený příkaz:

export LD_LIBRARY_PATH=/usr/lib/

Nyní to funguje dobře.


Linux
  1. Příkaz yum-config-manager nenalezen [Opravit]

  2. c_rehash :Chyba příkazu nenalezena – Řešení

  3. Převést pevný odkaz na symbolický odkaz?

  1. Symbolický odkaz při změně uživatele nefunguje podle očekávání?

  2. Jak opravit chybu editoru Vi / Vim — E319:Omlouváme se, ale příkaz není v této verzi dostupný

  3. Propojení se starší verzí libstdc++

  1. Jak komprimovat symbolický odkaz?

  2. Jak přesunu relativní symbolický odkaz?

  3. vytvoření symbolického odkazu:Chyba protokolu