Я получаю эту ошибку, когда пытаюсь собрать (используя make) свою систему.
gcc: error: /usr/lib/lib/libusb-1.0.so: No such file or directory
Я установил этот пакет с помощью этой команды
$ sudo apt-get install libusb-1.0-0-dev:amd64
Но когда я смотрю на это, это указывает на неправильное место? ??
$ cd /usr/lib
$ ls -l libusb*
lrwxrwxrwx 1 root root 35 Apr 26 13:49 libusb-1.0.so -> /lib/i386-linux-gnu/libusb-1.0.so.0
lrwxrwxrwx 1 root root 35 Apr 26 16:27 libusb-1.0.so.0 -> /lib/i386-linux-gnu/libusb-1.0.so.0
Я не уверен почему, но разве они не должны указывать на /lib/x86_64-linux-gnu
Не уверен как действовать дальше или что я сделал не так.
Сначала установите пакет dev:
sudo apt update
sudo apt install libusb-1.0-0-dev
Затем мы можем найти файл, перечислив все файлы из этого пакета и используя grep для фильтрации результатов:
dpkg -L libusb-1.0-0-dev | grep \.so
Теперь, мы можем создать симлинк для этого файла:
sudo ln -s $(dpkg -L libusb-1.0-0-dev | grep \.so) /usr/lib/libusb-1.0.so
Это должно было исправить вашу ошибку. Однако это действительно помогает знать, что вы пытаетесь построить, поскольку может быть лучшее решение вашей проблемы. Кроме того, не забывайте, что вам может потребоваться запустить make clean
перед повторным запуском make
.
Кроме того, вот дополнительный совет. Чтобы найти пакет, содержащий файл, мы можем использовать команду apt-file
.
Сначала установите apt-file
пакет:
sudo apt update
sudo apt install apt-file
Затем обновите список файлов:
sudo apt-file update
Теперь найдите пакет, содержащий файл:
apt-file search /usr/lib/libusb-1.0.so
Поскольку эта команда не выполняла вернуть результат, мы можем упростить поиск, чтобы увидеть, существует ли файл по другому пути (это может занять некоторое время):
apt-file search libusb-1.0.so
Теперь вы можете увидеть в следующем выводе, что нам нужен libusb- 1.0-0-dev
пакет:
libusb-1.0-0: /lib/x86_64-linux-gnu/libusb-1.0.so.0
libusb-1.0-0: /lib/x86_64-linux-gnu/libusb-1.0.so.0.1.0
libusb-1.0-0-dev: /usr/lib/x86_64-linux-gnu/libusb-1.0.so