Исправление firkax, (текущая версия) :
Посмотрел его исходник (выглядит в целом ужасно, я б всё переписал) - не знаю какая у тебя версия, есть 2.8.0 и 2.8.1 последние.
Библиотека грузится тут:
https://github.com/networkupstools/nut/blob/master/tools/nut-scanner/nutscan-init.c (поиск по слову libusb-
) там get_libname("libusb-1.0.so")
по сути получается
Сам get_libname тут: https://github.com/networkupstools/nut/blob/master/common/common.c
В 2.8.0 там был какой-то странный код который сначала искал в списке путей всё, что начинается на «libusb-1.0.so» а потом (например, нашёл libusb-1.0.so.12345
) с помощью функции realpath пытался узнать, а нет ли в той же директории самого libusb-1.0.so
. В версии которая в мастере по ссылке - эта функция распухла в несколько раз, в неё добавили в т.ч. поддержку LD_LIBRARY_PATH (а ещё - поиск файлов с добавками в конце убрали, но идиотскую схему «вручную перебираем весь список» и самодельную реализацию strcmp через strncmp оставили), но файл, который оно ищет должен, как и раньше, называться именно так: libusb-1.0.so
безо всяких добавок, и это жёстко прописано в исходнике.
А ещё кажется если его запустить с -D -D
(2 раза) то он будет писать отладочные надписи о том, где что ищет и что нашёл.
Исходная версия firkax, :
Посмотрел его исходник (выглядит в целом ужасно, я б всё переписал) - не знаю какая у тебя версия, есть 2.8.0 и 2.8.1 последние.
Библиотека грузится тут:
https://github.com/networkupstools/nut/blob/master/tools/nut-scanner/nutscan-init.c (поиск по слову libusb-
) там get_libname("libusb-1.0.so")
по сути получается
Сам get_libname тут: https://github.com/networkupstools/nut/blob/master/common/common.c
В 2.8.0 там был какой-то странный код который сначала искал в списке путей всё, что начинается на «libusb-1.0.so» а потом (например, нашёл libusb-1.0.so.12345
) с помощью функции realpath пытался узнать, а нет ли в той же директории самого libusb-1.0.so
. В версии которая в мастере по ссылке - эта функция распухла в несколько раз, в неё добавили в т.ч. поддержку LD_LIBRARY_PATH (а ещё - поиск файлов с добавками в конце убрали, но идиотскую схему «вручную перебираем весь список» оставили), но файл, который оно ищет должен, как и раньше, называться именно так: libusb-1.0.so
безо всяких добавок, и это жёстко прописано в исходнике.
А ещё кажется если его запустить с -D -D
(2 раза) то он будет писать отладочные надписи о том, где что ищет и что нашёл.