Bug 6809 - gstreamer0.10-ffmpeg cannot be installed
Summary: gstreamer0.10-ffmpeg cannot be installed
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal major
Target Milestone: ---
Assignee: Olivier Blin
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 6141
  Show dependency treegraph
 
Reported: 2012-07-18 00:11 CEST by Barry Jackson
Modified: 2012-09-23 03:03 CEST (History)
4 users (show)

See Also:
Source RPM: gstreamer0.10-ffmpeg-0.10.13-3.mga2.src.rpm
CVE:
Status comment:


Attachments
proposed patch for ffmpeg (1.27 KB, patch)
2012-07-28 16:21 CEST, Barry Jackson
Details | Diff

Description Barry Jackson 2012-07-18 00:11:08 CEST
Description of problem:
# urpmi clementine
A requested package cannot be installed:
gstreamer0.10-ffmpeg-0.10.13-3.mga2.i586 (due to unsatisfied libavformat.so.53)

gstreamer0.10-ffmpeg-0 needs to be built against new ffmpeg-0.11.1 which now provides libavformat.so.54

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
Manuel Hiebel 2012-07-18 00:12:40 CEST

Blocks: (none) => 6141
Assignee: bugsquad => shlomif

Comment 1 Shlomi Fish 2012-07-18 11:52:17 CEST
Hi Barry,

(In reply to comment #0)
> Description of problem:
> # urpmi clementine
> A requested package cannot be installed:
> gstreamer0.10-ffmpeg-0.10.13-3.mga2.i586 (due to unsatisfied libavformat.so.53)
> 
> gstreamer0.10-ffmpeg-0 needs to be built against new ffmpeg-0.11.1 which now
> provides libavformat.so.54
> 
> Version-Release number of selected component (if applicable):
> 

I seem to be able to install gstreamer0.10-ffmpeg and clementine fine. What is your mirror?
Comment 2 Shlomi Fish 2012-07-19 10:45:45 CEST
(In reply to comment #1)
> Hi Barry,
> 
> (In reply to comment #0)
> > Description of problem:
> > # urpmi clementine
> > A requested package cannot be installed:
> > gstreamer0.10-ffmpeg-0.10.13-3.mga2.i586 (due to unsatisfied libavformat.so.53)
> > 
> > gstreamer0.10-ffmpeg-0 needs to be built against new ffmpeg-0.11.1 which now
> > provides libavformat.so.54
> > 
> > Version-Release number of selected component (if applicable):
> > 
> 
> I seem to be able to install gstreamer0.10-ffmpeg and clementine fine. What is
> your mirror?

After some investigations, we found out that Barry did not have the tainted repository (while I did), which still appears to carry libavformat.so.53. So this package needs to be removed from there.

Regards,

-- Shlomi Fish
Christiaan Welvaart 2012-07-28 14:53:21 CEST

CC: (none) => cjw

Comment 3 Barry Jackson 2012-07-28 16:21:11 CEST
Created attachment 2587 [details]
proposed patch for ffmpeg

Tainted still has 
libavcodec53-0.10.3-1.mga2.tainted.i586.rpm
libavformat53-0.10.3-1.mga2.tainted.i586.rpm

Looking at the ffmpeg spec I see a typo which is responsible for one of these:-
Obsoletes:	%{_lib}avformats53 < %{version}-%{release}
                               ^
The other seems to be missing a correct Obsoletes: altogether.

Attached is a patch for ffmpeg. i would like a second opinion before I jump in with both feet ;)
Also can anyone explain the existing provides and obsoletes here as they don't look right to me

%package -n %{avclibname}
Group:          System/Libraries
Summary:        Shared library part of ffmpeg
Provides:       libffmpeg = %{version}-%{release}
Obsoletes:	%{_lib}ffmpeg53 < 0.8.2-2
Comment 4 Christiaan Welvaart 2012-07-28 17:27:05 CEST
Library packages have different names using a number at the end specifically so different (major) versions can be installed at the same time. So no, libavformat54 should not obsolete libavformat53. That is actually the workaround for this bug: just install the "old" ffmpeg libs from mga2, until gstreamer0.10-ffmpeg is finally updated. The obsoletes are most likely for cases where the package was renamed (while the major library version staid the same) or split.

See https://wiki.mageia.org/en/Libraries_policy if you want to know more about this.
Comment 5 Barry Jackson 2012-07-28 18:43:57 CEST
(In reply to comment #4)
> Library packages have different names using a number at the end specifically so
> different (major) versions can be installed at the same time. So no,
> libavformat54 should not obsolete libavformat53. That is actually the
> workaround for this bug: just install the "old" ffmpeg libs from mga2, until
> gstreamer0.10-ffmpeg is finally updated. The obsoletes are most likely for
> cases where the package was renamed (while the major library version staid the
> same) or split.
> 
> See https://wiki.mageia.org/en/Libraries_policy if you want to know more about
> this.

Thanks Christiaan - I now agree, that's why I was checking ;)
I found the reason for the apparent typo - it is correct, and covers an earlier error corrected in revision 149857.

So there is no issue with ffmpeg, it is gstreamer0.10-ffmpeg that needs a rebuild.
Shlomi Fish 2012-08-05 09:46:07 CEST

Summary: gstreamer0.10-ffmpeg cannot be installed => gstreamer0.10-ffmpeg cannot be installed with Tainted repository disabled

Comment 6 Shlomi Fish 2012-08-05 09:46:39 CEST
I'm setting this as ASSIGNED to me.

Status: NEW => ASSIGNED

Comment 7 Shlomi Fish 2012-08-05 10:01:43 CEST
OK, I've ran into a problem. It turns out that I cannot install ffmpeg-devel:

[root@telaviv1 ~]# urpmi ffmpeg-devel
The following package cannot be installed because it depends on packages
that are older than the installed ones:
lib64ffmpeg-devel-0.11.1-1.mga3
Continue installation anyway? (Y/n) n
[root@telaviv1 ~]# 

I have disabled the tainted repository for this build.
Comment 8 Shlomi Fish 2012-08-05 10:50:20 CEST
OK, after I rebuilt the "ffmpeg" package (and submitted it in r278609 ), I am able to install ffmpeg-devel. But now the build of gstreamer0.10-ffmpeg fails with some compile errors. Apparently, it does not like the new ffmpeg, which broke backwards compatibility. Morever, there is not any update to the gst-ffmpeg-0.10 packages and gst-ffmpeg-0.11.x appears to require gstreamer0.11.

So this bug will have to be placed on hold.

Regards,

-- Shlomi Fish
Olivier Blin 2012-08-05 15:20:40 CEST

CC: (none) => mageia
Summary: gstreamer0.10-ffmpeg cannot be installed with Tainted repository disabled => gstreamer0.10-ffmpeg cannot be installed

Comment 9 Olivier Blin 2012-08-05 15:23:24 CEST
gstreamer-ffmpeg currently does not have support for building with ffmpeg 0.11 or libav 0.9 (which have similarly updated APIs)
It is quite a lot of work to port it to the new APIs.

We could enable again the internal ffmpeg (actually libav) build, but the included snpashot (in gst-ffmpeg 0.10.13) does not build with gcc 4.7.

We could then also upgrade to gst-ffmpeg git, which does include a newer snapshot of libav.

CC: (none) => shlomif
Assignee: shlomif => mageia

Comment 10 Funda Wang 2012-09-23 03:03:51 CEST
I think it is fixed.

Status: ASSIGNED => RESOLVED
CC: (none) => fundawang
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.