Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DietPi-Software | FFMPEG E: Unable to correct problems, you have held broken packages. #1273

Closed
Beaujr opened this Issue Dec 6, 2017 · 9 comments

Comments

Projects
None yet
3 participants
@Beaujr
Copy link

commented Dec 6, 2017

Creating a bug report/issue:

Required Information:

  • DietPi Version | 158?
  • Odroid XU 4
  • 5V 6A
  • PNY Elite-X U3 32GB
  • Distro (EG: Jessie) | Linux DietPi 3.10.105+ #1 SMP PREEMPT Mon Aug 7 10:09:24 CEST 2017 armv7l GNU/Linux?

Additional Information (if applicable):

  • FFMPEG
  • Can this issue be replicated on a fresh installation of DietPi? YES.

Unable to install FFMPEG from dietpi-software

Expected behaviour:

ffmpeg installed

Actual behaviour:

apt-get error
The following packages have unmet dependencies:
ffmpeg : Depends: libavcodec57 (>= 7:3.4) but it is not going to be installed or
libavcodec-extra57 (>= 7:3.4) but it is not going to be installed
Depends: libavdevice57 (>= 7:3.4) but it is not going to be installed
Depends: libavfilter6 (>= 7:3.4) but it is not going to be installed or
libavfilter-extra6 (>= 7:3.4) but it is not going to be installed
Depends: libavformat57 (>= 7:3.4) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Steps to reproduce:

Install ffmpeg from dietpi-software

Did you submit a dietpi-bugreport?

c67ca81e-3042-456c-af0a-127222a9df27-0

Extra details:

@MichaIng

This comment has been minimized.

Copy link
Owner

commented Dec 6, 2017

The reason is that ffmpeg just exists in Stretch and Jessie backports: https://packages.debian.org/stretch/ffmpeg
As backports are by default added to apt sources, but handled with low priorities, apt requests recognize it to install, but finds too low versions/non-existence of its dependencies inside the (stable) Jessie repo.

So you need to force that apt also pulls the dependencies from jessie-backports repo, or let's say DietPi need to ensure that, when offering backport packages.

Use: apt -t jessie-backports install ffmpeg

@Fourdee
Seems to be new/temporary that ffmpeg is not available in stable jessie repo?
https://github.com/Fourdee/DietPi/blob/master/dietpi/dietpi-software#L8127-L8132
We would need to add -t jessie-backports there for the moment at least.

€: Hmm, seems to be handled different in cases. On my VirtualBox Jessie image, the dependencies from jessie-backport got pullled automatically even without -t jessie-backports:

# apt-get install ffmpeg
Reading package lists... Done
Building dependency tree
Reading state information... Done
... will be installed:
  ffmpeg libasound2 libasound2-data libass5 libasyncns0 libavc1394-0 libavcodec57 libavdevice57 libavfilter6 libavformat57 libavresample3 libavutil55
  libbluray1 libbs2b0 libcaca0 libcdio-cdda1 libcdio-paranoia1 libcdio13 libchromaprint1 libcrystalhd3 libdbus-1-3 libdc1394-22 libdrm-nouveau2 libdrm-radeon1
  libdrm2 libegl1-mesa libelf1 libenca0 libfftw3-double3 libflac8 libflite1 libfribidi0 libgbm1 libgl1-mesa-glx libglapi-mesa libglib2.0-0 libglu1-mesa
  libgme0 libgomp1 libgraphite2-3 libgsm1 libharfbuzz0b libice6 libiec61883-0 libjack-jackd2-0 libllvm3.5 libmodplug1 libmp3lame0 libnuma1 libogg0
  libopenal-data libopenal1 libopencv-core2.4 libopencv-imgproc2.4 libopenjp2-7 libopus0 libpgm-5.1-0 libpostproc54 libpulse0 libraw1394-11 librubberband2
  libsamplerate0 libsdl2-2.0-0 libshine3 libsm6 libsnappy1 libsndfile1 libsodium13 libsoxr0 libspeex1 libssh-gcrypt-4 libswresample2 libswscale4 libtbb2
  libtheora0 libtwolame0 libva-drm1 libva-x11-1 libva1 libvdpau1 libvorbis0a libvorbisenc2 libwavpack1 libwayland-client0 libwayland-cursor0
  libwayland-egl1-mesa libwayland-server0 libwebp5 libx11-xcb1 libx264-142 libx265-87 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-render0
  libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxinerama1 libxkbcommon0 libxrandr2 libxrender1
  libxshmfence1 libxss1 libxtst6 libxv1 libxvidcore4 libxxf86vm1 libzmq3 libzvbi-common libzvbi0 x11-common xkb-data
0 upgraded, 120 newly installed, 0 to remove and 1 not upgraded.
Need to get 47.6 MB of archives.
After this operation, 141 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
...
Get:13 https://debian.inf.tu-dresden.de/debian/ jessie-backports/main libavutil55 amd64 7:3.2.5-1~bpo8+1 [211 kB]
...
Get:24 https://debian.inf.tu-dresden.de/debian/ jessie-backports/main libswresample2 amd64 7:3.2.5-1~bpo8+1 [91.3 kB]
...
Get:34 https://debian.inf.tu-dresden.de/debian/ jessie-backports/main libx265-87 amd64 2.0-4~bpo8+1 [992 kB]
...
Get:38 https://debian.inf.tu-dresden.de/debian/ jessie-backports/main libavcodec57 amd64 7:3.2.5-1~bpo8+1 [4,341 kB]
Get:39 https://debian.inf.tu-dresden.de/debian/ jessie-backports/main libchromaprint1 amd64 1.3.2-2~bpo8+1 [35.8 kB]
...
Get:110 https://debian.inf.tu-dresden.de/debian/ jessie-backports/main libavformat57 amd64 7:3.2.5-1~bpo8+1 [931 kB]
Get:111 https://debian.inf.tu-dresden.de/debian/ jessie-backports/main libavresample3 amd64 7:3.2.5-1~bpo8+1 [88.9 kB]
...
Get:113 https://debian.inf.tu-dresden.de/debian/ jessie-backports/main libpostproc54 amd64 7:3.2.5-1~bpo8+1 [89.4 kB]
Get:114 https://debian.inf.tu-dresden.de/debian/ jessie-backports/main libswscale4 amd64 7:3.2.5-1~bpo8+1 [184 kB]
Get:115 https://debian.inf.tu-dresden.de/debian/ jessie-backports/main libavfilter6 amd64 7:3.2.5-1~bpo8+1 [791 kB]
...
Get:119 https://debian.inf.tu-dresden.de/debian/ jessie-backports/main libavdevice57 amd64 7:3.2.5-1~bpo8+1 [109 kB]
Get:120 https://debian.inf.tu-dresden.de/debian/ jessie-backports/main ffmpeg amd64 7:3.2.5-1~bpo8+1 [1,531 kB]

@Fourdee

This comment has been minimized.

Copy link
Collaborator

commented Dec 7, 2017

@MichaIng

Hmm, seems to be handles different in cases. On my VirtualBox Jessie image, the dependencies from jessie-backport got pullled automatically even withou -t jessie-backports

Confirmed on my XU4 👍

https://manpages.debian.org/stretch/apt/apt_preferences.5.en.html

cat << _EOF_ > /etc/apt/preferences.d/ffmpeg
Package: *
Pin: release a=jessie-backports
Pin-Priority: 600
_EOF_
root@DietPi:~# apt-get update
root@DietPi:~# apt-cache policy ffmpeg
ffmpeg:
  Installed: (none)
  Candidate: 7:3.2.5-1~bpo8+1
  Version table:
     7:3.4-3~bpo8 0
        500 http://fuzon.co.uk/meveric/ jessie/backports armhf Packages
     7:3.2.5-1~bpo8+1 0
        600 http://ftp.debian.org/debian/ jessie-backports/main armhf Packages

🈯️

@Fourdee Fourdee modified the milestones: v160, v159 Dec 7, 2017

@Fourdee

This comment has been minimized.

Copy link
Collaborator

commented Dec 7, 2017

I'll apply the fix for XU4 Jessie for now. If we see this error on other devices/distros, we'll need to investigate a wider fix.

Fourdee added a commit that referenced this issue Dec 7, 2017

v159
+ DietPi-Software | FFMPEG: Resolved inability to install on XU4 Jessie:
#1273
@Fourdee

This comment has been minimized.

Copy link
Collaborator

commented Dec 7, 2017

Tested on XU4, completed.

@Fourdee Fourdee closed this Dec 7, 2017

Fourdee added a commit that referenced this issue Dec 7, 2017

v159
+ minor: #1273
@MichaIng

This comment has been minimized.

Copy link
Owner

commented Dec 7, 2017

@Fourdee

Package: ffmpeg
Pin: release a=jessie-backports
Pin-Priority: 600

Does this also ensure that dependencies are pulled from backports? I remember that for pulling redis-server from stretch-backports on RPi, I needed to add it's dependency redis-tools also to the preferences package list.

@Fourdee

This comment has been minimized.

Copy link
Collaborator

commented Dec 7, 2017

@MichaIng

Does this also ensure that dependencies are pulled from backports? I remember that for pulling redis-server from stretch-backports on RPi, I needed to add it's dependency redis-tools also to the preferences package list.

Yep for redis-server, unsure for deps, 600 is a higher priority:

root@DietPi:~# apt-cache policy redis-server
redis-server:
  Installed: (none)
  Candidate: 3:3.2.8-2~bpo8+1
  Version table:
     3:3.2.8-2~bpo8+1 0
        600 http://ftp.debian.org/debian/ jessie-backports/main armhf Packages
     2:2.8.17-1+deb8u5 0
        500 http://ftp.debian.org/debian/ jessie/main armhf Packages
        500 http://security.debian.org/ jessie/updates/main armhf Packages

Before hand:

root@DietPi:~# apt-cache policy redis-server
redis-server:
  Installed: (none)
  Candidate: 2:2.8.17-1+deb8u5
  Version table:
     3:3.2.8-2~bpo8+1 0
        100 http://ftp.debian.org/debian/ jessie-backports/main armhf Packages
     2:2.8.17-1+deb8u5 0
        500 http://ftp.debian.org/debian/ jessie/main armhf Packages
        500 http://security.debian.org/ jessie/updates/main armhf Packages

So, to be consistent with default system-wide settings, its probably best I lower the Meveric repo, instead of increasing the backports.

@Fourdee Fourdee reopened this Dec 7, 2017

Fourdee added a commit that referenced this issue Dec 7, 2017

@Fourdee

This comment has been minimized.

Copy link
Collaborator

commented Dec 7, 2017

🈯️ Tested:

root@DietPi:~# apt-cache policy ffmpeg
ffmpeg:
  Installed: (none)
  Candidate: 7:3.2.5-1~bpo8+1
  Version table:
     7:3.4-3~bpo8 0
         99 http://fuzon.co.uk/meveric/ jessie/backports armhf Packages
     7:3.2.5-1~bpo8+1 0
        100 http://ftp.debian.org/debian/ jessie-backports/main armhf Packages

@Fourdee Fourdee closed this Dec 7, 2017

@MichaIng

This comment has been minimized.

Copy link
Owner

commented Dec 7, 2017

@Fourdee
Ah, meveric repo explains different behaviours.

But I am wondering, as now I find all dependencies including right versions on meveric: http://fuzon.co.uk/meveric/dists/jessie/backports/binary-armhf/Packages

Maybe this was just a temporary issue during updating ffmpeg and all related dependency packages on repo?

@Fourdee

This comment has been minimized.

Copy link
Collaborator

commented Dec 9, 2017

@MichaIng

Maybe this was just a temporary issue during updating ffmpeg and all related dependency packages on repo?

Appears that way, hopefully. We'll soon find out and be able to resolve if other software titles are effected by this change.

@Fourdee Fourdee referenced this issue Dec 10, 2017

Merged

v159 #1289

Fourdee added a commit that referenced this issue Dec 10, 2017

Merge pull request #1289 from Fourdee/testing
**v159**
(10/11/17)

**Image Modifications:**

VMWare | Updated to Debian Stretch: #1219

VirtualBox | Updated to Debian Stretch, many thanks @MichaIng: #1219

RPi | Updated to Debian Stretch: #475

**Changes / Improvements / Optimizations:**

General | Odroid XU3/4 images updated: Includes kernel support for EMMC 5.1 (thanks Meveric): #1252

General | DietPi RPi kernel: Updated to 4.9.62.

General | DietPi RPi kernel: Will no longer re-install, if the current version is already at latest.

General | Added farenheit readouts for cpu_info and dietpi-config. For those "over the pond" :D : http://dietpi.com/phpbb/viewtopic.php?f=12&t=2516&p=9772#p9772

General | Sparky SBC: Kernel update to add support for USB 1.1 DACs, thanks @sudeep. This must be enabled manually, if using a USB 1.1 DAC, as this breaks Allo WiFi dongle. Edit "/DietPi/uEnv.txt" and change the value "aotg.aotg1_speed=1" (from "0"), then reboot.
General | We now define a default LD_LIBRARY_PATH for all systems, exported from /etc/bash.bashrc: #475 (comment)

DietPi-Services | Run "dietpi-services help" to see a full list of updated commands: Added support for "enable" and "disable". "disable" will stop and disable the service and prevent it from running, "enable" will enable and start the service. EG: "dietpi-services disable cron", will prevent Cron from starting. Added support for start/stop/restart a single service (eg: dietpi-services stop apache2). This is basically a symlink to systemD: #1114

DietPi-Config | WiFi: Now uses the wpa_supplicant.conf method to setup WiFi connections. WEP is no longer supported by DietPi in this mode. WPA-PSK/WPA2-PSK and OPEN hosts supported: #1262

DietPi-Backup | "Full Backup" Mode is now the default for fresh DietPi installations. This is mainly due to MySQL data now being in the DietPi userdata directory.

DietPi-Config | Tools > Benchmarks: Added ability to benchmark CPU performance based on bash + integer: #1253 (comment)

DietPi-Config | Time sync modes: NTP is now uninstalled when SystemD timedatectl is enabled. Reinstalled on demand. Timedatectl pool servers are now also set: #1208 (comment)

DietPi-Software | First run setup, now logged to /etc/dietpi/logs/dietpi-firstrun-setup.log.

DietPi-Software | APT log: Moved to /etc/dietpi/logs/dietpi-software_apt.log, to prevent RAMlog clearing log during automated installations.

DietPi-Software | MPD (Stretch): Install updated to 0.20.11. Also supports native DSD playback (thanks to @sudeep and PJotr), when "Native" output freq/bit is set: #1236

DietPi-Software | moOde: MPD now installed via pre-built binaries. Will reduce install time: #1223 (comment)

DietPi-Software | Nextcloud: Correct database access issue for MariaDB + minor fixes: #1242

DietPi-Software | ownCloud: Installation fixed, respecting different distro repos: #1243

DietPi-Software | MPD (inc YMPD/O!MPD): Default data directory is now "/mnt", this will include all USB drives and network locations: #1202

DietPi-Software | Mopidy: Default data directory is now "/mnt", this will include all USB drives and network locations.

DietPi-Software | Syncthing: Installation updated to version 0.14.40, for new installations only. Removal of inotify (now included in main syncthing): #1260

DietPi-Software | Node-Red: Symlink created during install from ~/.node-red to DietPi user data dir: #1256

DietPi-Software | YMPD: Fixed Stretch installation + Now available for all CPU archs + Upgraded to SystemD service: #475

DietPi-Software | Gitea: Install updated to 1.3.1 (for new installations only). Added support for ARMv8. Now installed to /mnt/dietpi_userdata/gitea, runs as dietpi user: #686 http://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=9863#p9863

**Bug Fixes:**

DietPi-Automation | Resolved an issue where SSH server choice, was not installing selected choice: #1122

DietPi-Config | Nvidia driver: nouveau now disabled by default on x86_64, fix for 750Ti and possibily other Nvidia chipsets (thanks dubyazero): #1244

DietPi-Config | RPi Stretch: Resolved an issue with onboard Wifi failing to scan: #1262

DietPi-Config | RAM Benchmark: Resolved an issue where devices without /tmp mounted to tmpfs would fail the test. We now check for this mount, prior to allowing the test to run: #1130 (comment)

DietPi-Software | Pi-Hole: Resolved various issues with this installation. DietPi will now also detect a failed Pi-Hole script exit and flag as not installed. : #1282 (comment)

DietPi-Software | Redis: Minor un/installation/activation fixes of PHP module (Thanks to @MichaIng) : #1249

DietPi-Software | moOde: Resolved an issue where dietpi-drive_manager mounted drives, would not be available in the libary: #1223 (comment)

DietPi-Software | PHP: Solve 'upload_tmp_dir' issue, if PHP service uses 'PrivateTmp': #1144

DietPi-Software | Syncthing: Resolved a permissions issue with self program updates: #1260

DietPi-Software | Home Assistant: Resolved an issue with ARMv8 installation, where Python build would fail due to lack of build-essential: #1255

DietPi-Software | MPD: Corrected various uninstallation issues.

DietPi-Software | APT Removal: Resolved an issue in Stretch, where held packages were not being removed: #475

DietPi-Software | FFMPEG: Resolved inability to install on XU4 Jessie: #1273

DietPi-Software | Chromium (RPi Stretch): Resolved installation + desktop icon symlink: #475 (comment)

DietPi-Software | Resolved an issue where dietpi permissions were not being set correctly, for symlinked userdata dir.

DietPi-Update | Resolved an issue where .update_available file would still exist in no network situations: #1258

Patch_File | Auto swapfile generation no longer run twice (mostly for pre v150 images): #1257

**Allo Web Interface v4:**

MPD: Native DSD playback support, when "Native" output freq/bit is set in MPD settings page: #1241

MPD: Default data directory is now "/mnt", this will include all USB drives and network locations.

SQUEEZELITE: Added ability to set native DSD output modes. Please note, success of selected output mode is limited to DAC and kernel capabilities. We have verified Combo 384 with u32le output mode on Sparky SBC + USB Bridge: #1237 (comment)

O!MPD: Updated to 1.03. Please make sure to update your library (Settings > Update), to rescan the new "/mnt" location which includes all networked and USB drives. Depending on your additional storage setup, the rescan may take 5-30 minutes.

RPi Image: Has been updated to Debian Stretch. This offers peformance improvements in the web interface, and newer ALSA libs. Previous installations are still supported. To upgrade, please write the new image. Upgrading to Stretch is not a requirement: http://dietpi.com/phpbb/viewtopic.php?f=8&t=2317&p=8869#p8869

Sparky SBC: We have remove the WiFi Hotspot installation by default, this is to avoid majority users having to remove this software title, before WiFi can be configured via terminal access. To reinstall this software, please connect the WiFi dongle, then run "dietpi-software install 60" via terminal.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.