2

Just tried to uninstall bitcoind and install bitcoin-qt but now it says

error while loading shared libraries : libminiupnpc.so.16 cannot open shared object file : no such file or directory

pacman -Fs libminiupnpc.so.16 returns nothing

Any idea how to fix ?

2 Answers 2

1

Are you sure you have your system up to date? That really looks like a lack of pacman -Syu. Next is the digression of how you can reach this conclusion:

Assuming that bitcoin-qt is installed and the system is up to date:

pacman -Syu
pacman -S bitcoin-qt

(Necessarily in that order)

We can check from where it is linking with libminiupnpc.so.16 with:

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

That looks promising, now we check for that file:

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

Good, that is part of the UPnP client. Now let's see if there are dependency problems with pacman and 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

Not really, bitcoin-qt is dependent on miniupnpc alright. Therefore, unless you mess with the files themselves (or perform pacman -S without performing pacman -Syu) you should never reach the state your machine currently is in.

For the problem at hand, you should reinstall both packages (pacman will reinstall them happily), with:

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

And the library should be in place.

0

As an aside for others who may come here with similar issues, the message can be displayed if you some how lose the symbolic links to your library files as well. Or if ld.so (.conf.d) becomes unaware of where your libraries are due to missing or inaccessible configuration files.

When you get that message, the best first thing to do is run ldd against the program you were attempting to access. If when you do, most of the libraries are unknown, chances are that you are just missing your configuration or symbolic links.

If you are just missing one or two, that's more of an issue. It could be an upgrade problem, accidental deletion, corruption, malicious replacement, or one of many other reasons.

2
  • This is more of a comment than an answer, but I understand that you don't have the rep to add it, as such.
    – Thomas N
    Commented Jun 9, 2021 at 16:55
  • 1dd is not a proper adjustment to what I wrote. ldd is the correct tool. I do appreciate your attention to detail though. I just threw it out there as it was an issue that I had become intimate with early on in learning Linux as well as having support it. Also the "Answer" given is very specific to a single distribution whereas the issue can appear on any distribution Commented Jul 19, 2021 at 13:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .