일부 네트워크 시뮬레이션을 위해 vtysh를 실행하려고 할 때 다음 오류가 발생합니다.
vtysh: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory
현재 libreadline-dev 및 libreadline-7을 설치하고 /lib/x86_64-linux-gnu/libreadline.so.6에 libreadline.so.7에 대한 심볼릭 링크를 만들었지만 아무 소용이 없습니다. 나는 그것이 다른 길을 찾고 있다고 가정하고 있지만 그러한 문제를 해결하는 방법을 잘 모르겠습니다.
아래 조언은 그다지 운이 좋지 않습니다. 아래 제안된 대로 소스에서 readline6.3을 컴파일한 후 출력은 다음 ldconfig -v | grep readline
과 같습니다.
/sbin/ldconfig.real: Can't stat /usr/local/lib/x86_64-linux-gnu: No such file or directory
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once
libreadline.so.6 -> libreadline.so.6.3
libreadline.so.7 -> libreadline.so.7.0
/sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.27.so is the dynamic linker, ignoring
libguilereadline-v-18.so.18 -> libguilereadline-v-18.so.18.0.0
/home/gdc/Desktop/readline-6.3:
/sbin/ldconfig.real: /lib32/ld-2.27.so is the dynamic linker, ignoring
답변1
심볼릭 링크를 만드는 것은 작동하지 않으므로 유일한 다른 옵션은 소스에서 코드를 컴파일하여 환경에 추가하는 것입니다. 여기에서 소스 코드를 얻을 수 있습니다 readline-6.3
:
http://ftp.gnu.org/gnu/readline/
컴파일 후 /etc/ld.so.conf.d/x86_64_readline-gnu.conf 파일을 생성하고 /path/to/readline/lib
컴파일 위치에 맞게 라인을 입력합니다. 그런 다음 다음 명령을 실행합니다.
ldconfig -v | grep readline
libreadline.so.6
귀하 의 환경에서 이를 볼 수 있으며 vtysh
문제 없이 실행됩니다.