누락된 라이브러리를 수정하는 방법은 무엇입니까?

누락된 라이브러리를 수정하는 방법은 무엇입니까?

방금 제거 bitcoind하고 설치를 시도했지만 bitcoin-qt이제 다음과 같이 표시됩니다.

공유 라이브러리 로드 오류: libminiupnpc.so.16 공유 개체 파일을 열 수 없습니다. 해당 파일 또는 디렉터리가 없습니다.

pacman -Fs libminiupnpc.so.16아무것도 반환하지 않음

문제를 해결하는 방법을 아시나요?

답변1

시스템이 최신 상태인가요? 정말 부족한 부분이 있는 것 같습니다 pacman -Syu. 다음은 이 결론에 도달하는 방법에 대한 여담입니다.

bitcoin-qt설치되어 있고 시스템이 최신 상태라고 가정 합니다.

pacman -Syu
pacman -S bitcoin-qt

(이 순서대로 하셔야 합니다)

링크된 위치에서 확인할 수 있습니다 libminiupnpc.so.16.

$ strace bitcoin-qt 2>&1 | grep miniupnpc
open("/usr/lib/libminiupnpc.so.16", O_RDONLY|O_CLOEXEC) = 3

유망해 보입니다. 이제 파일을 확인해 보겠습니다.

# pacman -Qo /usr/lib/libminiupnpc.so.16
/usr/lib/libminiupnpc.so.16 is owned by miniupnpc 2.0-1

좋습니다. 이것은 UPnP 클라이언트의 일부입니다. 이제 pacman및 에 종속성 문제가 있는지 살펴보겠습니다 bitcoin-qt.

# pacman -Qi bitcoin-qt
Name            : bitcoin-qt
Version         : 0.12.1-2
Description     : Bitcoin is a peer-to-peer network based digital currency - Qt
Architecture    : x86_64
URL             : http://www.bitcoin.org/
Licenses        : MIT
Groups          : None
Provides        : None
Depends On      : boost-libs  desktop-file-utils  libevent  qt5-base  miniupnpc  qrencode  protobuf
Optional Deps   : None
Required By     : None
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 9.17 MiB
Packager        : Timothy Redaelli <EMAIL>
Build Date      : Thu 30 Jun 2016 14:49:30 BST
Install Date    : Sat 06 Aug 2016 21:02:27 BST
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature

그것은 사실이 아닙니다. bitcoin-qt단지 의존일 뿐입니다 miniupnpc. 따라서 파일 자체를 망치지 않는 한(또는 pacman -S실행하지 않고 실행하지 않는 한 pacman -Syu) 컴퓨터가 현재 상태에 도달해서는 안 됩니다.

당면한 문제의 경우 다음과 pacman같이 두 패키지를 모두 다시 설치해야 합니다. 그러면 두 패키지가 모두 다시 설치됩니다.

pacman -Syu  # always! always do this!
pacman -S community/miniupnpc
pacman -S community/bitcoin-qt

도서관이 그 자리에 있어야합니다.

답변2

유사한 문제가 있는 다른 사용자의 경우 라이브러리 파일에 대한 심볼릭 링크도 누락된 경우 이 메시지가 나타날 수 있습니다. 또는 ld.so( .conf.d)의 경우 구성 파일이 없거나 액세스할 수 없기 때문에 라이브러리가 어디에 있는지 알 수 없습니다.

이 메시지를 받으면 가장 먼저 할 일은 ldd액세스하려는 프로그램에 대해 프로그램을 실행하는 것입니다. 이 작업을 수행할 때 대부분의 라이브러리를 알 수 없다면 구성이나 심볼릭 링크가 누락되었을 가능성이 높습니다.

한두 가지만 놓치면 더 큰 문제가 됩니다. 이는 업그레이드 문제, 우발적인 삭제, 손상, 악의적인 대체 또는 기타 여러 이유 중 하나일 수 있습니다.

관련 정보