ports/147928: gegl ffmpeg support broken
Josh Carroll
josh.carroll at gmail.com
Thu Jun 17 02:40:03 UTC 2010
>Number: 147928
>Category: ports
>Synopsis: gegl ffmpeg support broken
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Jun 17 02:40:02 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Josh Carroll
>Release: 8.1-RC1
>Organization:
n/a
>Environment:
FreeBSD pflog.net 8.1-RC1 FreeBSD 8.1-RC1 #0 r208898M: Mon Jun 14 23:20:35 PDT 2010 root at pflog.net:/usr/obj/usr/src/sys/PFLOG amd64
>Description:
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.
>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
>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
+.endif
+
.if !defined(WITHOUT_CAIRO)
LIB_DEPENDS+= cairo.2:${PORTSDIR}/graphics/cairo
PLIST_SUB+= CAIRO=""
Patch attached with submission follows:
--- 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
+.endif
+
.if !defined(WITHOUT_CAIRO)
LIB_DEPENDS+= cairo.2:${PORTSDIR}/graphics/cairo
PLIST_SUB+= CAIRO=""
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list