проблема с многоархивной установкой на ubuntu
так что это проблема, которую я получил, вероятно, от самой раздражающей ошибки, с которой я когда-либо сталкивался. Я создал ветку помощи на Reddit , но думаю, что единственный способ сделать это правильно — опубликовать ее здесь. Я уже некоторое время работаю над проектом разработки программного обеспечения.Я пытаюсь выполнить кросс-компиляцию для Raspberry Pi, но у меня возникли проблемы с этим.
программа написана на ржавчине, для которой довольно легко выполнить кросс-компиляцию. то есть до тех пор, пока все ваши депы написаны на ржавчине. но у меня есть один отдел,v4l-rsкоторый основан на c/c++ lib video4linux2. когда я кросс-компилирую, я устанавливаю некоторые зависимости (libv4l-dev libclang-11-dev gcc-arm-linux-gnueabihf) и скомпилируйте сarmv7набор инструментов. но я получаю странную ошибку, если я это сделаю:
error: failed to run custom build command for `v4l2-sys-mit v0.2.0`
Caused by:
process didn't exit successfully: `/home/makerio/projects/wificar/target/release/build/v4l2-sys-mit-e6f39e3cdb722d62/build-script-build` (exit status: 101)
--- stderr
/usr/include/linux/videodev2.h:60:10: fatal error: 'sys/time.h' file not found
/usr/include/linux/videodev2.h:60:10: fatal error: 'sys/time.h' file not found, err: true
thread 'main' panicked at 'Failed to generate bindings: ()', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/v4l2-sys-mit-0.2.0/build.rs:10:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
в попытке решить эту проблему я отправил еще один запрос в службу поддержки здесь. есть несколько отличий от того момента, когда я сделал этот запрос в службу поддержки, до сих пор, например, теперь я использую действия GitHub вместоcross-rs, и теперь я использую набор инструментов armv7 вместо набора инструментов aarch64. но я все еще думаю, что решение все еще будет работать. одним из предложенных решений была установкаlibv4lиlibclangдепс с armv7.
но это вызвало свои проблемы. Я использовал этот учебник для установки нужных мне модулей, и я сделал этот скрипт.
# add arch
dpkg --add-architecture armhf
# create the sources list
sudo touch /etc/apt/sources.list.d/arm-cross-compile-sources.list
# move the list to there
sudo cp ./scripts/arm-cross-compile-sources.list /etc/apt/sources.list.d/arm-cross-compile-sources.list
# dont use the existing sources
sed "s/deb/deb [arch=amd64]/" /etc/apt/sources.list | sudo tee /etc/apt/sources.list
sudo apt update
# install the packages
sudo apt install -y libv4l-dev:armhf libclang-11-dev:armhf gcc-arm-linux-gnueabihf
но это все еще не удается. теперь я получаю эту ошибку:
| Some packages could not be installed. This may mean that you have
| requested an impossible situation or if you are using the unstable
| distribution that some required packages have not yet been created
| or been moved out of Incoming.
| The following information may help to resolve the situation:
|
| The following packages have unmet dependencies:
| libasan5:armhf : Depends: libc6:armhf (>= 2.28) but it is not installable
| Depends: libgcc-s1:armhf but it is not installable
| libclang-common-11-dev:armhf : Depends: libc6:armhf (>= 2.17) but it is not installable
| Depends: libgcc-s1:armhf (>= 4.3) but it is not installable
| Depends: libstdc++6:armhf (>= 4.1.1) but it is not installable
| libclang1-11:armhf : Depends: libc6:armhf (>= 2.4) but it is not installable
| Depends: libgcc-s1:armhf (>= 3.5) but it is not installable
| Depends: libstdc++6:armhf (>= 9) but it is not installable
| libffi7:armhf : Depends: libc6:armhf (>= 2.7) but it is not installable
| Depends: libgcc-s1:armhf (>= 3.5) but it is not installable
| libgc1c2:armhf : Depends: libc6:armhf (>= 2.28) but it is not installable
| Depends: libgcc-s1:armhf (>= 3.5) but it is not installable
| Depends: libstdc++6:armhf (>= 4.3.0) but it is not installable
| libgcc-9-dev:armhf : Depends: libgcc-s1:armhf (>= 9.4.0-1ubuntu1~20.04.1) but it is not installable
| Depends: libgomp1:armhf (>= 9.4.0-1ubuntu1~20.04.1) but it is not going to be installed
| Depends: libatomic1:armhf (>= 9.4.0-1ubuntu1~20.04.1) but it is not going to be installed
| Depends: libubsan1:armhf (>= 9.4.0-1ubuntu1~20.04.1) but it is not going to be installed
| Recommends: libc6-dev:armhf (>= 2.13-0ubuntu6) but it is not going to be installed
| libllvm11:armhf : Depends: libc6:armhf (>= 2.29) but it is not installable
| Depends: libedit2:armhf (>= 2.11-20080614-0) but it is not going to be installed
| Depends: libgcc-s1:armhf (>= 4.3) but it is not installable
| Depends: libstdc++6:armhf (>= 9) but it is not installable
| Depends: libtinfo6:armhf (>= 6) but it is not going to be installed
| Depends: zlib1g:armhf (>= 1:1.2.0) but it is not installable
| libobjc4:armhf : Depends: libc6:armhf (>= 2.4) but it is not installable
| Depends: libgcc-s1:armhf (>= 3.5) but it is not installable
| libstdc++-9-dev:armhf : Depends: libstdc++6:armhf (>= 9.4.0-1ubuntu1~20.04.1) but it is not installable
| Depends: libc6-dev:armhf (>= 2.13-0ubuntu6) but it is not going to be installed
| libv4l-0:armhf : Depends: libc6:armhf (>= 2.27) but it is not installable
| libv4l2rds0:armhf : Depends: libc6:armhf (>= 2.4) but it is not installable
| libv4lconvert0:armhf : Depends: libc6:armhf (>= 2.27) but it is not installable
| Depends: libjpeg8:armhf (>= 8c) but it is not going to be installed
| E: Unable to correct problems, you have held broken packages.
Я в тупике в этот момент. что значитnot installableиметь в виду? почему не устанавливается?
больше информации, если это актуально:
- я делаю действие github и тестирую его с помощью act.
- я не могу скомпилировать его на самом пи, потому что это большой проект, и это займет вечность.
- мое действие gh еще не было отправлено в ветку dev, поэтому то, что уже там, как очень устарело.
- armv7-unknown-linux-gnueabihf — правильный набор инструментов для rpi4, верно?