OpenCV install problems on Studio 12.04 - broken dependencies

8,173

Ok, I've run in the same problem that you (but with another packages). So as cheap solution I instead of apt-get used aptitude:

sudo apt-get install aptitude
sudo aptitude install libopencv-dev build-essential checkinstall cmake pkg-config yasm libtiff4-dev libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg

it will offer you a solution to your dependencies, in my case:

The following actions will resolve these dependencies:

      Remove the following packages:                       
1)      libcupsimage2-dev                                  
2)      libsane-dev                                        
3)      libtiff5-dev                                       

      Keep the following packages at their current version:
4)      libcv-dev [Not Installed]                          
5)      libcvaux-dev [Not Installed]                       
6)      libhighgui-dev [Not Installed]                     
7)      libopencv-contrib-dev [Not Installed]              
8)      libopencv-dev [Not Installed]                      
9)      libopencv-highgui-dev [Not Installed]              
10)     libopencv-legacy-dev [Not Installed]               
11)     libopencv-objdetect-dev [Not Installed]            
12)     libopencv-videostab-dev [Not Installed]         

I accepted the solution given, you can select N if the solution is too destructive (in my case it was just some -dev packages that most likely I'm not going to use anymore, but you must check yours). Then I re-ran the installation command again and everything was a OK.

Share:
8,173

Related videos on Youtube

Will
Author by

Will

Enterprise Architect who practices open source home automation and video analytics as side endeavors. OpenHAB.org OpenCV.org

Updated on September 18, 2022

Comments

  • Will
    Will over 1 year

    Problem:

    I'm trying to install OpenCV (video analytics) and am following the Ubuntu OpenCV installation documentation.

    The provided script has a line which executed for some time, taking away more packages than I expected (such as ubuntu-studio video):

    sudo apt-get -qq remove ffmpeg x264 libx264-dev
    

    When the script gets to the line below, it bombs:

    sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libtiff4-dev libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg
    

    The error message is:

    E: Unable to correct problems, you have held broken packages.
    

    Attempted Solutions:

    I first ran Update-Manager, ran sudo apt-get update, rebooted, tried to run the above script line manually, and still no change.

    Thereafter followed the answers given at:

    I ran sudo apt-get install -f and nothing seemed to change. It did mention that some packages were no longer needed and could be removed by apt-get autoremove, so I ran that. It removed a number of packages, so I reran the install command above. Still same problem of held broken packages.

    I then ran sudo apt-get -u dist-upgrade, part of the resulting response was:

    The following packages have been kept back: gstreamer0.10-ffmpeg
    

    I'm not sure what that means. I do know that it shows up in my Update-Manager and cannot be checked.

    I then ran

    sudo dpkg --configure -a
    

    and then reran

    sudo apt-get -f install
    

    and the package was still not upgraded, though there was this very interesting comment;

    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:
     gstreamer0.10-ffmpeg : Depends: libavcodec53 (< 5:0) but it is not going to be installed or
                                     libavcodec-extra-53 (< 5:0) but 5:0.7.2-1ubuntu1+codecs1~oneiric2 is to be installed
    E: Unable to correct problems, you have held broken packages.
    

    Then I ran

    sudo apt-get -u dist-upgrade
    

    It showed I had one held package, so I ran

    sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
    

    It also exited without upgrading the package, so I ran

    sudo apt-get remove --dry-run gstreamer0.10-ffmpeg:i386
    

    And it gave me:

    *The following packages will be REMOVED:
      arista gstreamer0.10-ffmpeg
    0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
    Remv arista [0.9.7-3ubuntu1]
    Remv gstreamer0.10-ffmpeg [0.10.12-1ubuntu1]*
    

    But when I reran

    sudo apt-get -u dist-upgrade
    

    It showed the package was still there.

    *The following packages have been kept back:
      gstreamer0.10-ffmpeg
    0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.*
    

    Thereafter, went into Synaptic PM and completely removed gstreamer0.10-ffmpeg.

    Reran

    sudo apt-get -u dist-upgrade
    

    And was told

    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    

    However, when I ran the original apt-get command to install opencv (first code at the top of this question), it still gave me the same broken package errors.

    So I tried:

    $ cat /etc/apt/sources.list
    # 
    
    # deb cdrom:[Ubuntu-Studio 11.10 _Oneiric Ocelot_ - Release i386 (20111011.1)]/ oneiric main multiverse restricted universe
    
    # deb cdrom:[Ubuntu-Studio 11.10 _Oneiric Ocelot_ - Release i386 (20111011.1)]/ oneiric main multiverse restricted universe
    
    # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
    # newer versions of the distribution.
    deb http://us.archive.ubuntu.com/ubuntu/ precise main restricted
    deb-src http://us.archive.ubuntu.com/ubuntu/ precise main restricted
    
    ## Major bug fix updates produced after the final release of the
    ## distribution.
    deb http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted
    deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team. Also, please note that software in universe WILL NOT receive any
    ## review or updates from the Ubuntu security team.
    deb http://us.archive.ubuntu.com/ubuntu/ precise universe
    deb-src http://us.archive.ubuntu.com/ubuntu/ precise universe
    deb http://us.archive.ubuntu.com/ubuntu/ precise-updates universe
    deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates universe
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
    ## team, and may not be under a free license. Please satisfy yourself as to 
    ## your rights to use the software. Also, please note that software in 
    ## multiverse WILL NOT receive any review or updates from the Ubuntu
    ## security team.
    deb http://us.archive.ubuntu.com/ubuntu/ precise multiverse
    deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse
    deb http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse
    deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse
    
    ## N.B. software from this repository may not have been tested as
    ## extensively as that contained in the main release, although it includes
    ## newer versions of some applications which may provide useful features.
    ## Also, please note that software in backports WILL NOT receive any review
    ## or updates from the Ubuntu security team.
    
    deb http://security.ubuntu.com/ubuntu precise-security main restricted
    deb-src http://security.ubuntu.com/ubuntu precise-security main restricted
    deb http://security.ubuntu.com/ubuntu precise-security universe
    deb-src http://security.ubuntu.com/ubuntu precise-security universe
    deb http://security.ubuntu.com/ubuntu precise-security multiverse
    deb-src http://security.ubuntu.com/ubuntu precise-security multiverse
    
    ## Uncomment the following two lines to add software from Canonical's
    ## 'partner' repository.
    ## This software is not part of Ubuntu but is offered by Canonical and the
    ## respective vendors as a service to Ubuntu users.
    deb http://archive.canonical.com/ubuntu precise partner
    # deb-src http://archive.canonical.com/ubuntu oneiric partner
    
    ## Uncomment the following two lines to add software from Ubuntu's
    ## 'extras' repository.
    ## This software is not part of Ubuntu but is offered by third-party
    ## developers who want to ship their latest software.
    # deb http://extras.ubuntu.com/ubuntu oneiric main
    # deb-src http://extras.ubuntu.com/ubuntu oneiric main
    # deb http://download.opensuse.org/repositories/home:/popinet/xUbuntu_11.04 ./ # disabled on upgrade to precise
    

    Thereafter, I ran:

    $ sudo apt-get check
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    

    However, no resolution of the problem yet, as I still get the same broken package message when I attempt to run the install of OpenCV with this command:

    sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libtiff4-dev libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg
    

    I then ran:

    $ sudo apt-get autoclean
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Del linux-generic 3.2.0.55.65 [1,714 B]
    Del linux-libc-dev 3.2.0-54.82 [858 kB]
    Del initramfs-tools-bin 0.99ubuntu13.2 [9,758 B]
    Del firefox-globalmenu 24.0+build1-0ubuntu0.12.04.1 [8,958 B]
    Del apport 2.0.1-0ubuntu17.5 [147 kB]
    Del firefox-locale-en 24.0+build1-0ubuntu0.12.04.1 [578 kB]
    Del thunderbird-locale-en-gb 1:24.0+build1-0ubuntu0.12.04.1 [14.0 kB]
    Del linux-libc-dev 3.2.0-55.85 [860 kB]
    Del thunderbird-globalmenu 1:24.0+build1-0ubuntu0.12.04.1 [8,782 B]
    Del apport-gtk 2.0.1-0ubuntu17.5 [9,200 B]
    Del thunderbird 1:24.0+build1-0ubuntu0.12.04.1 [29.3 MB]
    Del firefox 24.0+build1-0ubuntu0.12.04.1 [28.1 MB]
    Del thunderbird-locale-en-us 1:24.0+build1-0ubuntu0.12.04.1 [14.0 kB]
    Del linux-image-generic 3.2.0.54.64 [2,262 B]
    Del linux-headers-generic 3.2.0.55.65 [2,244 B]
    Del linux-image-generic 3.2.0.55.65 [2,260 B]
    Del python-apport 2.0.1-0ubuntu17.5 [81.1 kB]
    Del initramfs-tools 0.99ubuntu13.2 [49.2 kB]
    Del linux-headers-generic 3.2.0.54.64 [2,258 B]
    Del linux-headers-lowlatency-pae 3.2.0.55.44 [2,256 B]
    Del linux-headers-lowlatency-pae 3.2.0.54.43 [2,250 B]
    Del thunderbird-locale-en 1:24.0+build1-0ubuntu0.12.04.1 [342 kB]
    Del python-problem-report 2.0.1-0ubuntu17.5 [9,466 B]
    Del procps 1:3.2.8-11ubuntu6.2 [225 kB]
    Del linux-generic 3.2.0.54.64 [1,722 B]
    

    But when I run the OpenCV install command, I still get:

    E: Unable to correct problems, you have held broken packages.
    

    So then I started almost completely over again, this time adding back in repositories that the upgrade to Precise had disabled.

    Then I reran the following commands:

    $ sudo apt-get autoclean
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    
    $ sudo apt-get clean
    
    $ sudo apt-get -f install
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following package was automatically installed and is no longer required:
      python-gudev
    Use 'apt-get autoremove' to remove them.
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    
    $ sudo apt-get autoremove
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following packages will be REMOVED:
      python-gudev
    0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
    After this operation, 106 kB disk space will be freed.
    Do you want to continue [Y/n]? y
    (Reading database ... 614874 files and directories currently installed.)
    Removing python-gudev ...
    Processing triggers for python-support ...
    
    $ sudo dpkg --configure -a
    
    $ sudo apt-get -f install
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    
    $ sudo apt-get -u dist-upgrade
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Calculating upgrade... Done
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    
    $ cat /etc/apt/sources.list.d/*
    
    ### THIS FILE IS AUTOMATICALLY CONFIGURED ###
    # You may comment out this entry, but any other modifications may be lost.
    deb http://dl.google.com/linux/earth/deb/ stable main
    ### THIS FILE IS AUTOMATICALLY CONFIGURED ###
    # You may comment out this entry, but any other modifications may be lost.
    deb http://dl.google.com/linux/earth/deb/ stable main
    ### THIS FILE IS AUTOMATICALLY CONFIGURED ###
    # You may comment out this entry, but any other modifications may be lost.
    deb http://dl.google.com/linux/earth/deb/ stable main
    # deb http://ppa.launchpad.net/kxstudio-team/ppa/ubuntu precise main # disabled on upgrade to precise
    # deb-src http://ppa.launchpad.net/kxstudio-team/ppa/ubuntu precise main # disabled on upgrade to precise
    deb http://ppa.launchpad.net/kxstudio-team/ppa/ubuntu oneiric main
    deb-src http://ppa.launchpad.net/kxstudio-team/ppa/ubuntu oneiric main
    # deb http://ppa.launchpad.net/kxstudio-team/ppa/ubuntu precise main # disabled on upgrade to precise
    # deb-src http://ppa.launchpad.net/kxstudio-team/ppa/ubuntu precise main # disabled on upgrade to precise
    ## Please report any bug on https://bugs.launchpad.net/medibuntu/
    # deb http://packages.medibuntu.org/ precise free non-free #Medibuntu - Ubuntu 11.10 "oneiric ocelot" disabled on upgrade to precise
    # deb-src http://packages.medibuntu.org/ oneiric free non-free #Medibuntu (source) - Ubuntu 11.10 "oneiric ocelot"
    ## Please report any bug on https://bugs.launchpad.net/medibuntu/
    deb http://packages.medibuntu.org/ oneiric free non-free #Medibuntu - Ubuntu 11.10 "oneiric ocelot"
    #deb-src http://packages.medibuntu.org/ oneiric free non-free #Medibuntu (source) - Ubuntu 11.10 "oneiric ocelot"
    ## Please report any bug on https://bugs.launchpad.net/medibuntu/
    # deb http://packages.medibuntu.org/ precise free non-free #Medibuntu - Ubuntu 11.10 "oneiric ocelot" disabled on upgrade to precise
    # deb-src http://packages.medibuntu.org/ oneiric free non-free #Medibuntu (source) - Ubuntu 11.10 "oneiric ocelot"
    # deb http://www.openfoam.org/download/ubuntu precise main # disabled on upgrade to precise
    deb http://www.openfoam.org/download/ubuntu oneiric main
    # deb http://www.openfoam.org/download/ubuntu precise main # disabled on upgrade to precise
    deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main
    deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main
    deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main
    deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main
    

    Result:

    But I still get this error when I try to run the OpenCV install command:

    E: Unable to correct problems, you have held broken packages.
    

    What else do I need to do?

    Will an upgrade to Ubuntu Studio 13.xx solve this problem (or compound it)?

  • Will
    Will over 10 years
    Thanks @Braiam, I was able to resolve my issue, and have kept the output from the change so that I can refer to it in the future if I have any package dependency changes I need to make. Thanks again!