linux-nvme / nvme-cli

NVMe management command line interface.
https://nvmexpress.org
GNU General Public License v2.0
1.45k stars 650 forks source link

Build problem #2437

Closed OGSD closed 1 month ago

OGSD commented 1 month ago

why i use nvme list and i got the following information

nvme: /lib/x86_64-linux-gnu/libnvme.so.1: version LIBNVME_1.10' not found (required by nvme) nvme: /lib/x86_64-linux-gnu/libnvme.so.1: versionLIBNVME_1.9' not found (required by nvme) nvme: /lib/x86_64-linux-gnu/libnvme-mi.so.1: version `LIBNVME_MI_1_10' not found (required by nvme)

how do i solve it

igaw commented 1 month ago

The nvme binary was build against an newer version of libnvme. Though when you run nvme it finds an older version of libnvme. Did you build it yourself and there is already a version on your system installed? How do you build it, what are your commands?

OGSD commented 1 month ago

The nvme binary was build against an newer version of libnvme. Though when you run nvme it finds an older version of libnvme. Did you build it yourself and there is already a version on your system installed? How do you build it, what are your commands?

I build the libnvme by myself. I use sudo apt-get install libnvme-dev

igaw commented 1 month ago

You are mixing distro libraries and self build libraries and the link loader picks up the wrong library when executing the nvme binary.

There are some instruction in the REAMDE in the libnvme and nvme-cli project on how to build your own versions. Installing the binary in your OS is not covered, this is outside of the scope of this project. But generally not that difficult. I suggest you look at how your distro is building/configuring the build (e.g. for debian https://sources.debian.org/src/libnvme/1.9-1/debian/).

Anyway, this is not upstream problem.