First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 81512
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gstreamer Herd <gstreamer@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Benjamin Otte <otte@gnome.org>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
registry.xml /var/lib/cache/gstreamer-0.8/registry.xml text/plain Tarmo Tänav 2005-03-09 06:14 0000 1.13 MB Details
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 81512 depends on: Show dependency tree
Bug 81512 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2005-02-10 09:14 0000
Many people use prelinking these days. Unfortunately this causes issues with
GStreamer's plugin linking method.

I'd expect the ebuild to check that GStreamer and its plugins are compiled with
prelinking disabled or at least emit a warning that it will most likely not
work and advise the user to disable prelinking.

Reproducible: Always
Steps to Reproduce:
1. make sure prelinking is enabled
2. emerge gstreamer and gst-plugins
3. run gst-inspect adder
Actual Results:  
You get this output:

** (process:31081): CRITICAL **: how to remove plugins?
GStreamer-CRITICAL **: Factory for `adder' has no type. This probably means the
plugin wasn't found because the registry is broken. The plugin GStreamer was
looking for is named 'adder' and is expected in file
'/usr/lib/gstreamer-0.8/libgstadder.so'. The registry for this plugin is
located
at '/var/lib/cache/gstreamer-0.8/registry.xml'

Followed by some normal output.

Expected Results:  
There should be output without these critical warnings, like when running
"gst-inspect fakesrc".

You can get the actual error (undefined symbols) by running "gst-inspect
--gst-debug=GST_PLUGIN_LOADING:5 adder" which will show the relevant debugging
output.

------- Comment #1 From foser (RETIRED) 2005-02-10 10:30:07 0000 -------
cc-ing prelink maintainer.

how to best save these libs from prelink cretin ?

------- Comment #2 From Stefan Jones (RETIRED) 2005-02-10 11:27:55 0000 -------
short answer:

set the PRELINK_PATH_MASK variable in /etc/env.d/

for example I have:

saj@saj ~ $ cat /etc/env.d/60prelink
PRELINK_PATH_MASK=/usr/lib/wine:/usr/lib/valgrind:/opt
PRELINK_PATH=""

Do an env-update and prelink will skip those directories.

------- Comment #3 From foser (RETIRED) 2005-02-11 05:01:22 0000 -------
added env mask to 0.8.9-r1 & a little postinst note. That should fix this over
time.

------- Comment #4 From Thomas Beinicke 2005-02-11 11:54:14 0000 -------
Is there another fix needed for that?
I reinstalled gstreamer many times and it's shown that it's not prelinked but I still get that error. Any ideas or something I might have forgotten?

------- Comment #5 From Tarmo Tänav 2005-03-08 21:24:48 0000 -------
I also get this error with gstreamer which is not prelinked (just compiled it)
and I do not use any strange flags in my make.conf (no LDFLAGS, just
CFLAGS="-O3 -march=i686 -O3" atm.). I have ACCEPT_KEYWORDS=~x86...

------- Comment #6 From Zaheer Abbas Merali (RETIRED) 2005-03-09 00:37:27 0000 -------
You get this error when running gst-inspect-0.8 adder ?


** (process:31081): CRITICAL **: how to remove plugins?
GStreamer-CRITICAL **: Factory for `adder' has no type. This probably means the
plugin wasn't found because the registry is broken. The plugin GStreamer was
looking for is named 'adder' and is expected in file
'/usr/lib/gstreamer-0.8/libgstadder.so'. The registry for this plugin is located
at '/var/lib/cache/gstreamer-0.8/registry.xml'

If so please attach your /var/lib/cache/gstreamer-0.8/registry.xml and your emerge info

------- Comment #7 From Tarmo Tänav 2005-03-09 06:11:18 0000 -------
# gst-inspect-0.8 adder

** (process:756): CRITICAL **: how to remove plugins?

(process:756): GStreamer-CRITICAL **: Factory for `adder' has no type. This probably means the plugin wasn't found because the registry is broken. The plugin GStreamer was looking for is named 'adder' and is expected in file '/usr/lib/gstreamer-0.8/libgstadder.so'. The registry for this plugin is located at '/var/lib/cache/gstreamer-0.8/registry.xml'
couldn't construct element for some reason
Plugin Details:
  Name:         adder
  Description:  Adds multiple streams
  Filename:     /usr/lib/gstreamer-0.8/libgstadder.so
  Version:      0.8.7
  License:      LGPL
  Package:      GStreamer source release
  Origin URL:   http://gstreamer.freedesktop.org/

  adder: Adder

  1 features:
  +-- 1 elements

------- Comment #8 From Tarmo Tänav 2005-03-09 06:13:24 0000 -------
Portage 2.0.51.19 (default-linux/x86/2004.2/gcc34, gcc-3.4.3,
glibc-2.3.4.20050125-r0, 2.6.11-cko1 i686)
=================================================================
System uname: 2.6.11-cko1 i686 Intel(R) Pentium(R) M processor 1.50GHz
Gentoo Base System version 1.6.9
Python:              dev-lang/python-2.3.5 [2.3.5 (#1, Feb 17 2005, 21:36:43)]
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[enabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.5
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.7.9-r1, 1.8.5-r3, 1.6.3, 1.5, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r4
sys-devel/libtool:   1.5.10-r5
virtual/os-headers:  2.6.8.1-r1, 2.6.8.1-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -mcpu=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -mcpu=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distcc distlocks sandbox sfperms"
GENTOO_MIRRORS="http://ftp.linux.ee/pub/gentoo/distfiles/"
LANG="C"
LC_ALL="C"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/root/overlay /root/fluid /root/overlay2"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="x86"
Unset:  ASFLAGS, CBUILD, CTARGET, LDFLAGS

------- Comment #9 From Tarmo Tänav 2005-03-09 06:14:24 0000 -------
Created an attachment (id=53008) [details]
/var/lib/cache/gstreamer-0.8/registry.xml

------- Comment #10 From Tarmo Tänav 2005-03-10 18:50:11 0000 -------
I'm unsure what exactly fixed my issue but after (again) re-emerging all
gstreamer packages, this time using normal CFLAGS="-O3 -march=pentium-m
-mtune=pentium-m -pipe -ftracer", everything seems to work fine.

------- Comment #11 From Alvin A ONeal Jr 2005-05-09 19:39:02 0000 -------
*** Bug 91880 has been marked as a duplicate of this bug. ***

------- Comment #12 From foser (RETIRED) 2005-05-17 07:29:53 0000 -------
*** Bug 92849 has been marked as a duplicate of this bug. ***

------- Comment #13 From Alvin A ONeal Jr 2005-05-17 13:52:22 0000 -------
I'm not sure what I haven't done, but I'm running circles around this and
nothing is changing the fact that it doesn't work for me. I've tried emerging
without prelinking, LDFLAGS, using only standard CFLAGS, double checked my alsa
config. mpg123 works fine, /dev/sound has everything it should. Utterly stumped...

Additional info: http://bugs.gentoo.org/show_bug.cgi?id=91880

------- Comment #14 From Mike Auty 2005-05-20 15:20:45 0000 -------
I'm also seeing this, I do prelink, but I followed the procedure to remove all
prelinking and re-prelink with /usr/lib/gstreamer-0.8 in the PRELINK_PATH_MASK
environment variable.  Still no luck.

I have yet to try compiling without a hardened gcc, however, it seems that may
do the trick from Bug 85018 (which may be a duplicate of this) and from
http://forums.gentoo.org/viewtopic-p-2389234.html.  Since this bug is still
happening to people, would it be possible to mark it as open?  It's much easier
to track it down if it's still open than hunting through all the bugs marked as
resolved...

Also, has anyone determined precisely why this no longer works with the hardened
kernel, whether it ever did, and if it's possible to fix upstream so that it
doesn't do it anymore.  I've been having headaches all day with the ati driver
and my hardened toolchain, I feel like I'm being punished for trying to make my
software slightly more secure...

Perhaps just adding a check in the ebuild, that if gcc has the hardened flag set
to bring up another ewarn or an ebeep or whatever saying that it's unlikely to
work?  Any suggestions to make it more intuitive to users why the media system
embedded throughout their system just stops (with error messages that point to
the registry rather than the compilation method) would be a big help.  Thanks...

Mike  5:\

------- Comment #15 From Johan Tibell 2006-03-27 09:59:44 0000 -------
The mask does not exclude: /usr/lib/libgstreamer-0.8.so.1.4.0
media-libs/gstreamer-0.8.11
I'm still having stuttering problems.

------- Comment #16 From foser (RETIRED) 2006-03-27 12:41:00 0000 -------
I might be wrong on this, but I think the prelinking is a problem with seperate
gst plugins, not with the actual main libs.

As far as I've been able to reproduce this, it was fixed with making the plugin
dirs prelink safe.

First Last Prev Next    No search results available      Search page      Enter new bug