Closed MTenbult closed 3 years ago
Many thanks for your report.
I just learned that a foreign architecture cannot be removed, if any package of that architecture is currently installed. Can you please paste the result of:
dpkg --get-selections '*:armhf' | mawk '{print $1}'
This fixes it for DietPi v7.2: https://github.com/MichaIng/DietPi/commit/af3270a804fede0b75644a2985bdebd517e50c27 Would still be interesting which 32-bit package has actually been installed.
Sorry for the late response! Running dpkg --get-selections '*:armhf' | mawk '{print $1}'
returns:
gcc-8-base:armhf libc6:armhf libgcc1:armhf wiringpi:armhf
Seems like most 32-bit package where installed with wiringPi. By purging wiringPi (I don't need it anymore) only leaves
libc6:armhf
After purging wiringPi the update runs without problems
Great! For next release we updated our WiringPi install option to use a new maintained Git branch, support for new hardware etc: https://github.com/MichaIng/DietPi/pull/4324 It's compiled on your system, so would be arm64 in your case.
I can reproduce this. Have the exact same issue, with the exact same packages. Purging wiringpi removes all armhf packages:
root@DietPi:/tmp/DietPi-Patch# apt purge wiringpi
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
gcc-8-base:armhf libc6:armhf libgcc1:armhf
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
wiringpi:armhf*
did you install wiringpi
yourself before (without dietpi-software
)?
Good and about time to remove armhf then, to prevent users from potentially installing a parallel 32-bit system 😄. There are still a few other larger armhf-only packages in the RPi repo, e.g. Wolfram Alpha, Kodi and Chromium we already know about: https://archive.raspberrypi.org/debian/pool/main/w/wolfram-engine/
Installing those pulls a smaller or later amount of armhf dependencies, in cases conflicting with the arm64 ones (not all have multi-arch support), so that the option would be then to replace those and potentially remove other arm64 dependants with it. I mean on interactive installs all info and warnings are shown and confirmation required, but I think this should be done well known by the admin, including adding foreign architectures intentionally, when required, not having this as a default.
did you install
wiringpi
yourself before (withoutdietpi-software
)?
Don't know. I did a dev project, which in I needed the dev files. Shouldn't there then also be a dev wiringpi package? https://github.com/C0D3-M4513R/CD74HCT299
Shouldn't there then also be a dev wiringpi package?
WiringPi itself is basically a development library. Installing it with their build script as well as the RPi APT package both contain the gpio
tool, the libwiringPi
+ libwiringPiDev
(Dev for Device, not Development 😉) libraries and all development headers. Our install option also leaves the source files in place, which contain docs and a few additional examples/libraries one might want to compile or use as a starting point.
Details:
Steps to reproduce:
Expected behaviour:
Actual behaviour:
Additional logs: