Bug 1123078 - opencv: Please build against GStreamer 1 on F21 and Rawhide
Summary: opencv: Please build against GStreamer 1 on F21 and Rawhide
Alias: None
Product: Fedora
Classification: Fedora
Component: opencv
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Rex Dieter
QA Contact: Fedora Extras Quality Assurance
Depends On:
Blocks: KDE-GStreamer1
TreeView+ depends on / blocked
Reported: 2014-07-24 19:21 UTC by Kevin Kofler
Modified: 2014-08-13 00:14 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2014-08-13 00:14:55 UTC

Attachments (Terms of Use)

Description Kevin Kofler 2014-07-24 19:21:56 UTC
Description of problem:
The opencv package in Fedora is currently built against GStreamer 0.10. Upstream has been defaulting to GStreamer 1.x since December 2013:

Starting from Fedora 21, we are building the Qt 4 stack (Phonon, QtGStreamer, QtWebKit, Telepathy-Qt4, and the applications using them: ktp-call-ui, kipi-plugins, Kamoso) against GStreamer 1. So the only dependency on GStreamer 0.10 that is left for some KDE applications is through OpenCV.

In addition, those applications now end up with both GStreamer 0.10 and 1.x linked, which is likely to crash&burn. Thus, we need OpenCV to be built with the upstream default GStreamer 1 on Fedora 21 and newer.

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

How reproducible:

Steps to Reproduce:
1. repoquery --repoid=rawhide --requires opencv

Actual results:
Contains GStreamer 0.10 libraries:

Expected results:
Contains GStreamer 1.x libraries (libgst*-1.0.so.*) instead.

Additional info:
All that should be needed is to change (or conditionalize) this line:
%{!?_without_gstreamer:BuildRequires:  gstreamer-devel gstreamer-plugins-base-devel}
in the specfile (use gstreamer1-* instead). The version of GStreamer to use is automatically detected (with 1.x being preferred in current releases of OpenCV).

Comment 1 Nicolas Chauvet (kwizart) 2014-07-24 20:50:38 UTC
Is there a tested patch ?

Comment 2 Nicolas Chauvet (kwizart) 2014-07-24 20:56:06 UTC
I've though opencv was using gstreamer1 already, please Fix as needed.

Comment 3 Rex Dieter 2014-07-24 21:24:39 UTC
Boo, checking upstream looks like GST1 support only landed in master branch (presumably tracking opencv-3.0).

opencv 2.4 branch doesn't have it yet. :(

I'll see if there's any chance to backport it reasonably...

Comment 4 Rex Dieter 2014-07-24 21:40:56 UTC
Looks like most gstreamer-related support was easy to pick out and apply against 2.4 branch, now to decide if it's a good idea or not:

Or to go with some sort of opencv-3.0 prerelease... I noticed a couple of git tags:

Probably time to ask upstream.

Comment 5 Kevin Kofler 2014-07-25 12:01:10 UTC
I'd go with backporting the GStreamer 1 support to 2.4, unless we have other reasons to want 3.0 now. Prerelease versions of libraries are always a risk due to ABI/API compatibility issues, both with the previous stable release and with the upcoming final release.

Comment 6 Rex Dieter 2014-07-25 12:10:52 UTC
* Fri Jul 25 2014 Rex Dieter <rdieter@fedoraproject.org> 2.4.9-2
- backport support for GStreamer 1 (#1123078)

built only for rawhide yet, to allow some extra time for review/testing.

Comment 7 Kevin Kofler 2014-08-12 22:09:28 UTC
Almost 3 weeks later, where are we at?

Comment 8 Rex Dieter 2014-08-12 22:13:36 UTC
OK, I'll merge/build today.

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