Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 328461 - media-plugins/gst-plugins-libpng-0.10.21 incompatibility with libpng-1.4
Summary: media-plugins/gst-plugins-libpng-0.10.21 incompatibility with libpng-1.4
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: GStreamer package maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-15 19:24 UTC by Denilson Sá Maia
Modified: 2010-08-03 02:56 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
config.log (config.log,97.76 KB, text/plain)
2010-07-19 19:10 UTC, Denilson Sá Maia
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Denilson Sá Maia 2010-07-15 19:24:09 UTC
PiTiVi 0.13.4 can't import any video. When I drag-n-drop any video onto the program interface, I get "An error occurred while importing" message, and the following error is printed at the terminal:

Traceback (most recent call last):
  File "/usr/lib64/pitivi/python/pitivi/discoverer.py", line 682, in _newDecodedPadCb
    self._newVideoPadCb(pad)
  File "/usr/lib64/pitivi/python/pitivi/discoverer.py", line 621, in _newVideoPadCb
    pngenc = gst.element_factory_make("pngenc")
gst.ElementNotFoundError: pngenc

I haven't tested other versions of pitivi.

Package versions installed on my system:
dev-python/gst-python-0.10.17
media-libs/gst-plugins-bad-0.10.18
media-libs/gst-plugins-base-0.10.28
media-libs/gst-plugins-good-0.10.21
media-libs/gst-plugins-ugly-0.10.13
media-libs/gstreamer-0.10.28
media-plugins/gst-plugins-a52dec-0.10.13
media-plugins/gst-plugins-alsa-0.10.28
media-plugins/gst-plugins-dvdread-0.10.13
media-plugins/gst-plugins-ffmpeg-0.10.9
media-plugins/gst-plugins-flac-0.10.21
media-plugins/gst-plugins-gconf-0.10.21
media-plugins/gst-plugins-jpeg-0.10.21
media-plugins/gst-plugins-libpng-0.10.21
media-plugins/gst-plugins-mad-0.10.13
media-plugins/gst-plugins-meta-0.10-r4
media-plugins/gst-plugins-mimic-0.10.18
media-plugins/gst-plugins-mpeg2dec-0.10.13
media-plugins/gst-plugins-ogg-0.10.28
media-plugins/gst-plugins-resindvd-0.10.18
media-plugins/gst-plugins-soup-0.10.21
media-plugins/gst-plugins-speex-0.10.21
media-plugins/gst-plugins-theora-0.10.28
media-plugins/gst-plugins-v4l-0.10.28
media-plugins/gst-plugins-v4l2-0.10.21
media-plugins/gst-plugins-vorbis-0.10.28
media-plugins/gst-plugins-x-0.10.28
media-plugins/gst-plugins-xvideo-0.10.28
Comment 1 Tommaso Pasini 2010-07-18 14:44:45 UTC
Same here, upgrading to media-plugins/gst-plugins-libpng-0.10.22 solves the issue.

Maybe a reinstall was enough, I don't remember rebuilding gst-plugins-libpng after the libpng-1.4 upgrade.
Comment 2 Denilson Sá Maia 2010-07-18 15:01:25 UTC
(In reply to comment #1)
> Maybe a reinstall was enough, I don't remember rebuilding gst-plugins-libpng
> after the libpng-1.4 upgrade.

Here, it was the first time I emerged gst-plugins-libpng (and was version 0.10.21).

Updating to the following versions fixed this bug for me:

=media-plugins/gst-plugins-libpng-0.10.22
=media-libs/gst-plugins-base-0.10.29
=media-libs/gstreamer-0.10.29

Please add a dependency on >=media-plugins/gst-plugins-libpng-0.10.22 to the pitivi ebuild.
Comment 3 Mart Raudsepp gentoo-dev 2010-07-19 16:48:47 UTC
No, the error suggests pngenc element wasn't found in general. But gst-plugins-libpng has been shipping it since version 0.10.0. And so it should work fine with 0.10.21 as well, unless deeper debugging can explain why exactly gst.element_factory_make didn't find the element.
Comment 4 Arun Raghavan (RETIRED) gentoo-dev 2010-07-19 16:53:10 UTC
The plugin could have broken on a libpng 1.2->1.4 upgrade.
Comment 5 Mart Raudsepp gentoo-dev 2010-07-19 16:55:47 UTC
Just installed gst-plugins-libpng-0.10.21 for testing this in gst-python. That particular system is still at the previous gstreamer versions, so gstreamer-0.10.28, gst-plugins-good-0.10.21 and so on.

$ python
>>> import gst
>>> pngeng = gst.element_factory_make("pngenc")
>>> print pngenc
/GstPngEnc:pngenc0 (__main__.GstPngEnc)
>>> pngeng.get_factory().get_description()
'Encode a video frame to a .png image'

So appears to work fine in principle. Haven't tested inside pitivi though.
Really sure it isn't related to libpng-1.4 upgrade issues?
Comment 6 Denilson Sá Maia 2010-07-19 17:56:25 UTC
(In reply to comment #5)
> So appears to work fine in principle. Haven't tested inside pitivi though.
> Really sure it isn't related to libpng-1.4 upgrade issues?

I don't know, as I've discovered pitivi well after the libpng upgrade.
Comment 7 Mart Raudsepp gentoo-dev 2010-07-19 18:45:50 UTC
So, does rebuilding gst-plugins-libpng fix it?
Before that feel free to check what version of libpng gst-plugins-libpng is linking against:

readelf -d /usr/lib/gstreamer-0.10/libgstpng.so |grep libpng

If this reports 1.2 (e.g libpng12.so.0) instead of 1.4, and you have upgraded to libpng-1.4, then that was your problem.
Comment 8 Denilson Sá Maia 2010-07-19 19:10:03 UTC
Created attachment 239427 [details]
config.log

(In reply to comment #7)
> So, does rebuilding gst-plugins-libpng fix it?

Only updating to the new version (0.10.22). The old version (0.10.21) doesn't.

> readelf -d /usr/lib/gstreamer-0.10/libgstpng.so |grep libpng

With media-plugins/gst-plugins-libpng-0.10.21, I get NO results! There is no libpng in this output!

When trying to open ipython and running "import gst", I get:

(gst-plugin-scanner:19270): GStreamer-WARNING **: Failed to load plugin '/usr/lib64/gstreamer-0.10/libgstpng.so': /usr/lib64/gstreamer-0.10/libgstpng.so: undefined symbol: png_create_read_struct

revdep-rebuild shows nothing.

Looking at gst-plugins-libpng-0.10.21 build log, and also at the config.log (which I've attached to this bug), I find this:

configure:30985: *** checking feature: Portable Network Graphics library ***
configure:30989: *** for plug-ins: png ***
configure:31031: checking for LIBPNG
configure:31039: $PKG_CONFIG --exists --print-errors "$which"
Package libpng12 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libpng12.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libpng12' found
configure:31042: $? = 1
configure:31057: $PKG_CONFIG --exists --print-errors "$which"
Package libpng12 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libpng12.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libpng12' found
configure:31060: $? = 1
No package 'libpng12' found
configure:31088: result: no
configure:31092: result: no
configure:31097: No package 'libpng12' found
configure:31148: *** These plugins will not be built: png

I currently have two versions of libpng: 1.4.3 (slot 0) and 1.2.44 (slot 1.2).
Comment 9 Mart Raudsepp gentoo-dev 2010-07-19 20:40:44 UTC
Hmm, ok, I guess gst-plugins-libpng-0.10.21 didn't yet have patches to be happy with libpng-1.4 as well at configure time.
0.10.22 changed the package check from "libpng12" to "libpng >= 1.2".

So basically earlier than 0.10.22 does not build against libpng-1.4. And libpng-1.4 was made stable, while gst-plugins-libpng-0.10.22 isn't quite yet ready for that. I think I'll push the whole newer gstreamer core/base/good set (~32 packages) stable sooner than 30 days then. Though primarily because GNOME-2.30 stabling will benefit from that too. Though I'd prefer to wait until GNOME-2.30 is actually on its way to stable, to give newer gstreamer testing time as much as possible (it was added 3rd July)... I'll see what to do about this in relation to this libpng discovery.
Comment 10 Mart Raudsepp gentoo-dev 2010-08-03 02:56:39 UTC
gst-plugins-libpng-0.10.22, which is happy with libpng-1.4, is in the process of being stabilized in bug 329703 (already stable for x86/amd64), so we can consider this bug fixed