Проблема с кросс-компиляцией libudev для Armv7 с помощью RustLinux

Ответить
Anonymous
 Проблема с кросс-компиляцией libudev для Armv7 с помощью Rust

Сообщение Anonymous »

У меня возникли проблемы с кросс-компиляцией для цели Armv7. Основная проблема заключается в том, что он не может найти libudev, однако мой pkg-config говорит, что он у меня есть.

Код: Выделить всё

> pkg-config --list-all | grep libudev
libudev                        libudev - Library to access udev device information
и когда я компилирую программу в x86_64, она успешно компилируется, но когда я компилирую в armv7, она не удается

Код: Выделить всё

> cargo build --target armv7-unknown-linux-musleabihf
Compiling libudev-sys v0.1.4
Compiling error-chain v0.10.0
error: failed to run custom build command for `libudev-sys v0.1.4`

Caused by:
process didn't exit successfully: `/project/target/debug/build/libudev-sys-8ce792348ab024e9/build-script-build` (exit status: 101)
--- stdout
cargo:rerun-if-env-changed=LIBUDEV_NO_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS_armv7-unknown-linux-musleabihf
cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS_armv7_unknown_linux_musleabihf
cargo:rerun-if-env-changed=TARGET_PKG_CONFIG_ALLOW_CROSS
cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS
cargo:rerun-if-env-changed=PKG_CONFIG_armv7-unknown-linux-musleabihf
cargo:rerun-if-env-changed=PKG_CONFIG_armv7_unknown_linux_musleabihf
cargo:rerun-if-env-changed=TARGET_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_armv7-unknown-linux-musleabihf
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_armv7_unknown_linux_musleabihf
cargo:rerun-if-env-changed=TARGET_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

--- stderr
thread 'main' panicked at /usr/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libudev-sys-0.1.4/build.rs:38:41:
called `Result::unwrap()` on an `Err` value: "pkg-config has not been configured to support cross-compilation.\n\nInstall a sysroot for the target platform and configure it via\nPKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_PATH, or install a\ncross-compiling wrapper for pkg-config and set it via\nPKG_CONFIG environment variable."
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

Я следил за другими сообщениями SO, такими как ошибка: не удалось запустить специальную команду сборки для `libudev-sys v0.1.4`, но ничего не помогло.
Нужно ли мне устанавливать конкретный libudev или я что-то пропустил?

Подробнее здесь: https://stackoverflow.com/questions/793 ... -with-rust
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»