@artem-phys

Как исправить ошибку во время сборки Rust build error: failed to run custom build command for `glib-sys v0.8.0`?

Я запускаю склонированный проект Rust для Windows 10. При попытке сборки с помощью я продолжаю получать следующие сообщения об ошибках.
cargo run
   Compiling glib-sys v0.8.0
   Compiling const_fn v0.4.9
   Compiling quote v1.0.21
   Compiling socket2 v0.4.4
   Compiling net2 v0.2.37
   Compiling winreg v0.7.0
error: failed to run custom build command for `glib-sys v0.8.0`
  process didn't exit successfully: `.......\glib-sys-b1ba74e042d8283d\build-script-build` (exit code: 1)
  --- stdout
  cargo:rerun-if-env-changed=GLIB_2.0_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_pc_windows_msvc
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=GLIB_2.0_STATIC
  cargo:rerun-if-env-changed=GLIB_2.0_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_pc_windows_msvc
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_pc_windows_msvc
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_pc_windows_msvc
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

  --- stderr
  `"pkg-config" "--libs" "--cflags" "glib-2.0" "glib-2.0 >= 2.42"` did not exit successfully: exit code: 1
  error: could not find system library 'glib-2.0' required by the 'glib-sys' crate


Как я понял, ему не хватает библиотеки glib-2.0, но найденные в интернете решения с установкой под Windows ничего не решили
--- stderr Package glib-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing glib-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'glib-2.0' found Package glib-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing glib-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'glib-2.0' found
  • Вопрос задан
  • 508 просмотров
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka
Токсичный шарпист
Ошибка в целом про то, что скрипт сборки не смог найти у тебя нигде бинарник glib.
Если вы его установили, но не добавили его путь в переменную PKG_CONFIG_PATH, то стоит попробовать это сделать.

Вариант раз:
Может быть, если использовать msys/cygwin/mingw с установленным glib - тогда получится собрать.
Естественно, тогда придётся установить другой тулчейн через
rustup toolchain install stable-x86_64-pc-windows-gnu
rustup default stable-x86_64-pc-windows-gnu


Вариант два:
Возможно, у собираемого крейта есть какой-нибудь опциональный feature, который позволяет использовать что-то другое, вместо glib или собрать его с нуля из исходников

Вариант три:
Возможно, этот крейт в принципе для винды и не задумывался - тогда остаётся только запуск в WSL2

PS: Если дадите ссылку на собираемый проект, тогда можно будет подсказать больше.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы