Увидеть, что 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
Другие вопросы по тегам