Bug 147928 - graphics/gegl ffmpeg support broken
Summary: graphics/gegl ffmpeg support broken
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Pietro Cerutti
Depends on:
Reported: 2010-06-17 03:40 UTC by josh.carroll
Modified: 2010-06-21 13:10 UTC (History)
0 users

See Also:

file.diff (647 bytes, patch)
2010-06-17 03:40 UTC, josh.carroll
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description josh.carroll 2010-06-17 03:40:02 UTC
When the graphics/gegl port is built with ffmpeg support, running gimp results in:

** Message: Module '/usr/local/lib/gegl-0.1/ff-load.so' load error: /usr/local/lib/gegl-0.1/ff-load.so: Undefined symbol "avcodec_decode_video2"

gimp still loads, so it's non-fatal, but further analysis points to the upstream gegl expecting a newer ffmpeg with this symbol.

In our (ports) version of ffmpeg, this symbol/call does not exist:

% nm -D /usr/local/lib/libavcodec.so | grep avcodec_decode_video2

I happen to have a SVN (as of 6/16) version of ffmpeg built and I do see it on that:

# nm -D ~floyd/local/lib/libavcodec.so | grep avcodec_decode_video2
00000000002ab25d T avcodec_decode_video2

Even the change log for gegl indicates it is now using the newer API call:

# grep avcodec_decode_video2 /usr/ports/graphics/gegl/work/gegl-0.1.2/ChangeLog
    Use avcodec_decode_video2 which takes a packet directly instead of

I guess upstream gegl just expects to coexist with a newer ffmpeg.

Perhaps we can mark ffmpeg support broken until our ffmpeg version catches up? Or just remove ffmpeg support for now? I don't know the best way to handle this, but it's definitely not going to work with our version of ffmpeg in ports I'm afraid.

Fix: Here's a simple patch to mark the ffmpeg support as broken (also attached):

--- gegl/Makefile       2010-04-19 03:09:07.000000000 -0700
+++ gegl.new/Makefile   2010-06-16 19:26:45.000000000 -0700
@@ -19,7 +19,7 @@

 OPTIONS=       CAIRO           "Enable Cairo" on \
                ENSCRIPT        "Enable Enscript" on \
-               FFMPEG          "Enable videos through ffmpeg" on \
+               FFMPEG          "Enable videos through ffmpeg (**BROKEN**)" off \
                GRAPHVIZ        "Enable Graphviz" on \
                JPEG            "Enable JPEG format support" on \
                LUA             "Enable LUA" on \
@@ -54,6 +54,10 @@

 .include <bsd.port.pre.mk>

+.if defined(WITH_FFMPEG)
+BROKEN=        ffmpeg support is currently broken
 .if !defined(WITHOUT_CAIRO)
 LIB_DEPENDS+=  cairo.2:${PORTSDIR}/graphics/cairo

Patch attached with submission follows:
How-To-Repeat: - build/install graphics/gegl with ffmpeg support
- build/install graphics/gimp
- run gimp from an xterm or similar and observe the output
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2010-06-17 05:16:56 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gahr

Fix synopsis and assign.
Comment 2 Pietro Cerutti freebsd_committer 2010-06-21 13:08:00 UTC
State Changed
From-To: open->closed

Committed. Thanks!
Comment 3 dfilter service freebsd_committer 2010-06-21 13:08:13 UTC
gahr        2010-06-21 12:07:52 UTC

  FreeBSD ports repository

  Modified files:
    graphics/gegl        Makefile 
  - Mark ffmpeg support as broken and disable it as default
  PR:             147928
  Submitted by:   Josh Carroll <josh.carroll@gmail.com>
  Feature safe:   yes
  Revision  Changes    Path
  1.18      +2 -1      ports/graphics/gegl/Makefile
cvs-all@freebsd.org mailing list
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"