Увидеть, что bzlib.h не найден при попытке использования учебника Bindgen
Я знаю, что есть похожий пост, но я следил за ним, но все еще вижу проблему, поэтому подумал, что попрошу еще раз, извините. Я загрузил bbindgen-tutorial-bzip2-sys и попытался запустить его, но получаю следующую ошибку
wrapper.h:1:10: fatal error: 'bzlib.h' file not found
wrapper.h:1:10: fatal error: 'bzlib.h' file not found, err: true
Другой пользователь предложил понизить версию Bindgen в.toml, и я попробовал это, но все еще вижу проблему, также я подтвердил, что bzip2 установлен.
Есть ли известная версия clang, которая работает с Bindgen?
Благодарность
-------------------------------------------------- -----Обновить-------------------------------------------- ----------------------
Итак, я установил файлы dev bzip и убедился, что библиотека находится в папке, которую ld просматривал, добавив путь к LD_LIBRARY_PATH и затем обновив с помощью ldconfig. Теперь я могу компилировать, когда запускаю CARGO BUILD,
fred@fred-MS-7B06:~/rust_projects/bindgen-tutorial-bzip2-sys-master$ cargo build
Finished dev [unoptimized + debuginfo] target(s) in 0.02s
однако теперь, когда я пытаюсь запустить программу с CARGO TEST, в соответствии с руководством
https://rust-lang.github.io/rust-bindgen/print.html
Теперь я получаю следующую ошибку:
= note: /bin/ld: cannot find -lbz2
collect2: error: ld returned 1 exit status
Я нашел сообщение с той же проблемой:
https://dev.to/rrampage/cargo-refused-to-build-my-project---a-rust-debugging-story-25e9
И они исправили это, добавив файл config.toml и указав компоновщик, я попробовал это, но все равно получил ту же ошибку. Любые идеи относительно того, что я могу проверить, я немного застрял на этом.
Также я проверил dev-файл bzip2, который я скачал с сайта:
https://www.sourceware.org/bzip2/
Я заметил, что нет файла с именем bz2, но есть файлы libbz2.def и libbz2.dsp, возможно ли, что мой ld неправильно удаляет "lib" из имени?
1 ответ
Как отметил @Jmb в комментариях, мне нужно было установить libbz2-dev:
sudo apt install libbz2-dev
Так как это был довольно новый WSL-экземпляр Ubuntu, мне также понадобился libclang-dev:
sudo apt install libclang-dev