-dev packages are missing alternate depends on -extra packages

Bug #1038781 reported by Philip Muškovac
134
This bug affects 24 people
Affects Status Importance Assigned to Milestone
libav (Ubuntu)
Fix Released
Low
Reinhard Tartler

Bug Description

Since 6:0.8.3-6ubuntu1 you cannot have the libav -dev and -extra packages installed at the same time. It seems like debian merged the -extra libs into the regular ones which isn't possible in ubuntu as those are built from universe.

Package: libavutil-dev
Version: 4:0.8.3-0ubuntu3
Depends: libavutil51 (<= 4:0.8.3-99) | libavutil-extra-51 (<= 4:0.8.3.99), libavutil51 (>= 4:0.8.3-0ubuntu3) | libavutil-extra-51 (>= 4:0.8.3)

vs.

Package: libavutil-dev
Version: 6:0.8.3-6ubuntu1
Depends: libavutil51 (= 6:0.8.3-6ubuntu1)

ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: libavutil-dev 4:0.8.3-0ubuntu3
ProcVersionSignature: Ubuntu 3.5.0-8.8-generic 3.5.0
Uname: Linux 3.5.0-8-generic x86_64
ApportVersion: 2.4-0ubuntu8
Architecture: amd64
Date: Sun Aug 19 23:56:19 2012
Dependencies:

InstallationMedia: Kubuntu 11.10 "Oneiric Ocelot" - Beta amd64 (20111007)
ProcEnviron:
 SHELL=/bin/bash
 TERM=screen-bce
 PATH=(custom, user)
 LANG=en_US.UTF-8
 LANGUAGE=en_US.UTF-8
SourcePackage: libav
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Reinhard Tartler (siretart) wrote : Re: [Bug 1038781] [NEW] -dev packages are missing alternate depends on -extra packages

On Mo, Aug 20, 2012 at 00:05:54 (CEST), Philip Muškovac wrote:

> Public bug reported:
>
> Since 6:0.8.3-6ubuntu1 you cannot have the libav -dev and -extra
> packages installed at the same time. It seems like debian merged the
> -extra libs into the regular ones which isn't possible in ubuntu as
> those are built from universe.

This is actually intended, there is no point in having the -extra
packages installed on the buildds when compiling application packages.

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

Revision history for this message
Philip Muškovac (yofel) wrote :

That won't happen when building in main anyway, and it's not like the extra packages are so large that you save a lot by using the main packages in universe.
With the current packaging you have the choice between: Either develop/compile an application that uses libav OR encode something using the encoders in the extra packages. You can't do both on the same system anymore.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in libav (Ubuntu):
status: New → Confirmed
Revision history for this message
Cédric Dufour (cdufour-keyword-ubuntu-086000) wrote :

Using Ubuntu in a academic research environment, we need to be able to do both things: develop/compile software and encode/decode multimedia content on the same host.

Revision history for this message
Tristan Matthews (le-businessman) wrote :

In Quantal (12.10), libavutil-dev can only be installed if libavutil51 is installed, there's no option for it to depend on libavutil-extra-51. Since libavcodec-dev depends on libavutil-dev, both packages will be uninstalled if we try to install libavcodec-extra-53. The attached patch uses the Depends fields that were in the control file for 12.04, this way libavcodec-dev and libavutil-dev can be installed in parallel with libavcodec-extra-53 and libavutil-extra-51

Revision history for this message
Reinhard Tartler (siretart) wrote :

patch looks good, will integrate this with the next upload.

Changed in libav (Ubuntu):
importance: Undecided → Low
status: Confirmed → Triaged
assignee: nobody → Reinhard Tartler (siretart)
Revision history for this message
bowser (bwbernard-wong1) wrote :

It seems that these problematic packages are "backported" Precise. Today I get a bunch of updates for the -dev files which cannot be updated because of conflicts with the -extras packages. This is not a big deal for my current install but if I do a new install of Precise this bug would affect 12.04 exactly as it does 12.10. What happens??

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "Changed Depends for libavutil-dev" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-reviewers team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Revision history for this message
Chris Dellin (cdellin) wrote :

I can confirm that this bug is still affecting me on an up-to-date Quantal. Any estimate when the patch will be applied? Thanks!

Revision history for this message
Hanmac (hanmac) wrote :

dont forget it also need to be done to the other dev packages libavformat-dev, libavfilter-dev, libavdevice-dev libswscale-dev, libpostproc-dev and libav-dbg

Revision history for this message
Tristan Matthews (le-businessman) wrote :

It's already done for all those dev packages. It's not done for the libav-dbg package though. Would it make sense to have:

Package: libav-dbg
Section: debug
Priority: extra
Architecture: any
Depends:
  libav-tools (= ${binary:Version}),
  libavcodec53 (= {binary:Version}) | libavcodec-exttra-53 (>= ${source:Upstream-Version})
  ...

At the moment, -extra options are not in the "Depends" section.

Revision history for this message
Stefan Freyr (stefan-freyr) wrote :

This is affecting me if I try to install libopencv-dev. I have the libavcodec-extra stuff installed to be able to encode h.264 video. I also need to have libopencv-dev installed for development but that package somehow depends on the libavcodec.*-dev packages.

This is causing me major problems.

Is there a solution in sight? Are there new packages in the propose repository or somewhere that I can install? I will be the first to verify a the solution to this dependency problem so please let me know if there are proposal packages anywhere.

Revision history for this message
Florian Achleitner (fachleitner) wrote :

Affecting me because I need libav*-dev packages as a dependency of e.g. libopencv-dev and would like to have libav*extra packages concurrently.

Revision history for this message
Chris Dellin (cdellin) wrote :

Since this is such a pain for me, I made a little bash script to automate Maarten Baert's suggestion and create a debian package which can be installed/uninstalled on your system. Feel free to give it a try, and let me know how it goes.

Revision history for this message
Maarten Baert (maarten-baert) wrote :

Nice :). My script had a typo though, 'sudo -p mkdir' should be 'sudo mkdir -p' of course. I've removed my old post so people don't accidentally mess up their folders. The fixed version is below.

______________________________________

If you don't want to wait, you can also just copy the development files manually. I did this and it seems to work fine, but don't blame me if something goes wrong :).

1) install the -dev packages (and uninstall the -extra packages) for libavformat, libavcodec, libavdevice, libavutil, libavfilter and libswscale

2) run this:

mkdir -p ~/Documents/libav-dev
cd ~/Documents/libav-dev
mkdir -p libavformat
cp -a /usr/include/libavformat/* libavformat
mkdir -p libavcodec
cp -a /usr/include/libavcodec/* libavcodec
mkdir -p libavdevice
cp -a /usr/include/libavdevice/* libavdevice
mkdir -p libavutil
cp -a /usr/include/libavutil/* libavutil
mkdir -p libavfilter
cp -a /usr/include/libavfilter/* libavfilter
mkdir -p libswscale
cp -a /usr/include/libswscale/* libswscale

3) install the -extra packages (and uninstall the -dev packages) for libavformat, libavcodec, libavdevice, libavutil, libavfilter and libswscale

4) run this:

cd ~/Documents/libav-dev
sudo mkdir -p /usr/include/libavformat
sudo cp -a libavformat/* /usr/include/libavformat
sudo ln -s libavformat.so.53.21.0 /usr/lib/x86_64-linux-gnu/libavformat.so
sudo mkdir -p /usr/include/libavcodec
sudo cp -a libavcodec/* /usr/include/libavcodec
sudo ln -s libavcodec.so.53.35.0 /usr/lib/x86_64-linux-gnu/libavcodec.so
sudo mkdir -p /usr/include/libavdevice
sudo cp -a libavdevice/* /usr/include/libavdevice
sudo ln -s libavdevice.so.53.2.0 /usr/lib/x86_64-linux-gnu/libavdevice.so
sudo mkdir -p /usr/include/libavutil
sudo cp -a libavutil/* /usr/include/libavutil
sudo ln -s libavutil.so.51.22.1 /usr/lib/x86_64-linux-gnu/libavutil.so
sudo mkdir -p /usr/include/libavfilter
sudo cp -a libavfilter/* /usr/include/libavfilter
sudo ln -s libavfilter.so.2.15.0 /usr/lib/x86_64-linux-gnu/libavfilter.so
sudo mkdir -p /usr/include/libswscale
sudo cp -a libswscale/* /usr/include/libswscale
sudo ln -s libswscale.so.2.1.0 /usr/lib/x86_64-linux-gnu/libswscale.so

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libav - 6:0.8.4-0ubuntu2

---------------
libav (6:0.8.4-0ubuntu2) raring; urgency=low

  * Weaken dependencies on -dev packages. LP: #1038781
 -- Reinhard Tartler <email address hidden> Sun, 09 Dec 2012 19:09:54 +0100

Changed in libav (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Stefan Freyr (stefan-freyr) wrote :

Great news... are these packages available somewhere already?

Revision history for this message
Stefan Freyr (stefan-freyr) wrote :

...or maybe a better question is whether this will be made available on quantal?

Revision history for this message
Reinhard Tartler (siretart) wrote : Re: [Bug 1038781] Re: -dev packages are missing alternate depends on -extra packages

On Mo, Dez 10, 2012 at 01:52:45 (CET), Stefan Freyr wrote:

> ...or maybe a better question is whether this will be made available on
> quantal?

I'm not sure if this bug qualifies for an SRU:
https://wiki.ubuntu.com/StableReleaseUpdates?action=show#When

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

Revision history for this message
Chris Dellin (cdellin) wrote :

Due to some dev dependencies, I altered (and simplified) my script to produce separate debian packages for each broken package. The new script is attached below.

Revision history for this message
Florent Delayen (tnedel) wrote :

This actually is NOT fixed in Quantal...

Will we have a solution ?

Revision history for this message
Chris Dellin (cdellin) wrote :

Bump. From my reading of the SRU specs, I'd argue that this represents a "severe regression", since users simply cannot encode videos and develop software at the same time. I'd also argue that the patch [1] is "obviously safe" and does not affect critical infrastructure packages.

[1] https://launchpadlibrarian.net/122185300/control.patch)

Revision history for this message
Stefan Freyr (stefan-freyr) wrote :

I sort of understand that this may possibly not be an SRU candidate...

But wouldn't it be possible to set up a PPA with these packages? I mean, for those of us having problems with this this is _very_ annoying and I would personally put in a PPA and give it higher priority for this package just to get around it.

So here is my plea for some kindhearted soul with PPA and deb package building know-how, to set something like that up for us to get us through the nex 3 or so months (until 13.04 comes out). Pretty please? :-)

Revision history for this message
Chris Dellin (cdellin) wrote :

Stefan, you should try out my script from comment 22. It doesn't require sudo, and produces debian packages that you can then install on your system. Let me know how it goes.

Revision history for this message
Łukasz Semler (lukasz-semler) wrote :

Well
avlibformat was repaired but what's with:
libavdevice-dev
libavutil-dev
libavcodec-dev
libswscale-dev
They still cannot be instaled with -extra packages.

And I don't want round-way to get them to work - that will stop working & give more troubles after system packages updates.
I want them in repository - like any other package.
C'mon guys.

Revision history for this message
Łukasz Semler (lukasz-semler) wrote :

Chris Dellin (cdellin) - Your script did the job. But I think We need a permanent fix :/

Revision history for this message
astro (bernard-godard) wrote :

The script from cdellin is missing libpostproc-dev

Revision history for this message
Jacob Mischka (mischka) wrote :

Confirming fix is actually still not released on quantal. Hopefully it will be fixed by the official release of raring at least?

Revision history for this message
glennric (glennric) wrote :

It is rather sad that this is not fixed after several updates to the libav packages have been released. Particularly noting how easy it is to fix this. Updated libav packages were just added to quantal-updates yesterday, but still not fix.

Revision history for this message
Reinhard Tartler (siretart) wrote :

On Sa, Apr 06, 2013 at 16:42:04 (CEST), glennric wrote:

> It is rather sad that this is not fixed after several updates to the
> libav packages have been released. Particularly noting how easy it is
> to fix this. Updated libav packages were just added to quantal-updates
> yesterday, but still not fix.

The fix is available in raring. I've just tested that the command
'apt-get install libavcodec-extra-53 libavcodec-dev' succeeds without
problems.

The severity of this bug does not seem to qualify for a SRU, though,
cf. http://wiki.ubuntu.com/SRU

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.