After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 684707 - Error while running gst-inspect or gst-launch: undefined symbol: g_mutex_lock
Error while running gst-inspect or gst-launch: undefined symbol: g_mutex_lock
Status: RESOLVED INVALID
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.10.36
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-09-24 12:15 UTC by viranjan
Modified: 2012-09-25 11:29 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Packages on my machine (9.74 KB, text/plain)
2012-09-25 08:57 UTC, viranjan
Details

Description viranjan 2012-09-24 12:15:25 UTC
I am currently using gstreamer version 0.10.36 and running on CentOS VM

I got this VM from somewhere with pre-installed gstreamer package (I dont remember the vesion but its older one). When I run the commands gst-launch or gst-inspect then they work fine on the this older version. 

However, when I updated the gstreamer to version 0.10.36 (as it was a mandatory requirement/dependency for building my standalone application and other modules), on running the commands gst-launch/gst-inspect I get the following error,

/usr/bin/gst-inspect-0.10: symbol lookup error: /usr/lib64/libgstreamer-0.10.so.0:  undefined symbol: g_mutex_lock

Is there anything which I have not installed properly? 
Please Help.

Thanks,
-Viranjan
Comment 1 André Klapper 2012-09-24 21:32:20 UTC
g_mutex_lock has been always available:
http://developer.gnome.org/glib/2.32/glib-Threads.html#g-mutex-lock

Which version of glib2 is on that system?
Comment 2 Tim-Philipp Müller 2012-09-24 22:17:55 UTC
It's almost certainly an issue on your end.. setting NEEDINFO for question in comment #2.
Comment 3 viranjan 2012-09-25 05:00:53 UTC
Thanks for the info.

I am using the glib version 2.32.4 which I have downloaded from the site
http://ftp.gnome.org/pub/gnome/sources/glib/2.32/glib-2.32.4.tar.xz

I have installed it manually through commands 
./configure --libdir=/usr/lib64 
make
make install

I could not install it using the following command on CentOS 
yum install glib 

now my /usr/lib64 have following five .so files namely
libgstreamer-0.10.so
libgstreamer-0.10.so.0
libgstreamer-0.10.so.0.25.0
libgstreamer-0.10.so.0.27.0
libgstreamer-0.10.so.0.30.0
Comment 4 André Klapper 2012-09-25 07:18:17 UTC
(In reply to comment #3)
> I could not install it using the following command on CentOS 
> yum install glib 

Because it is already installed and is probably called glib2 instead.
So you might have two colliding glib's around now.

You can find out which path and glib version you link against by running the commands

   pkg-config --modversion glib-2.0
   pkg-config --libs glib-2.0
Comment 5 viranjan 2012-09-25 08:57:06 UTC
Created attachment 225128 [details]
Packages on my machine

Packages on my machine.
Comment 6 viranjan 2012-09-25 08:58:03 UTC
Thanks Andre !
I have installed the proper updated version of glib and also there are no colliding glibs.
Please find the attached file which mention about the installed packages.
Comment 7 André Klapper 2012-09-25 09:30:25 UTC
(In reply to comment #5)
> Created an attachment (id=225128) [details]
> Packages on my machine

Not really interesting in this case, plus this doesn't include version information, plus your system packages don't matter if you link against something self-built anyway. See comment 4.
Comment 8 viranjan 2012-09-25 10:20:19 UTC
Andre, in the /usr/lib64 directory i have libraries of glib namely 
libglib-2.0.so
libglib-2.0.so.0
libglib-2.0.so.0.3200.4

I am seeing g_mutex_lock symbol in all the above libraries when I run the nm tool.
Comment 9 André Klapper 2012-09-25 10:48:19 UTC
I don't care. :) What about answering my questions in comment 4 instead?
Comment 10 viranjan 2012-09-25 10:58:46 UTC
I see this, 

[root@devweb00 src]# pkg-config --modversion glib-2.0
2.32.4
[root@devweb00 src]# pkg-config --libs glib-2.0
-lglib-2.0 

(Please note I am new to linux and gstreamer.)
Comment 11 André Klapper 2012-09-25 11:03:35 UTC
(In reply to comment #0)
> However, when I updated the gstreamer to version 0.10.36

How did you do that exactly, and which paths and parameters did you use? 
Exact commands and steps are very welcome.
Comment 12 Tim-Philipp Müller 2012-09-25 11:08:57 UTC
Please run the following commands and paste their output (without the '$' at the beginning):

  $ ldd /usr/bin/gst-inspect-0.10

  $ ldd /usr/lib64/libgstreamer-0.10.so
Comment 13 viranjan 2012-09-25 11:18:16 UTC
[root@devweb00 gst]# ldd /usr/bin/gst-inspect-0.10 
    linux-vdso.so.1 =>  (0x00007fff8e6c0000)
    libgstreamer-0.10.so.0 => /usr/lib64/libgstreamer-0.10.so.0 (0x00007f3c5ebf7000)
    libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00000039e2000000)
    libm.so.6 => /lib64/libm.so.6 (0x00000039d8800000)
    libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00000039d9000000)
    libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00000039da000000)
    libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00000039d9c00000)
    libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00000039d8000000)
    librt.so.1 => /lib64/librt.so.1 (0x00000039d7c00000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00000039d7000000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00000039d7800000)
    libc.so.6 => /lib64/libc.so.6 (0x00000039d7400000)
    libffi.so.5 => /usr/lib64/libffi.so.5 (0x00000035f6e00000)
    libz.so.1 => /lib64/libz.so.1 (0x00000039d8400000)
    /lib64/ld-linux-x86-64.so.2 (0x00000039d6c00000)
[root@devweb00 gst]# ldd /usr/lib64/libgstreamer-0.10.so
    linux-vdso.so.1 =>  (0x00007ffffe3ff000)
    libffi.so.5 => /usr/lib64/libffi.so.5 (0x00007f22dfc85000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f22dfa5a000)
    libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f22df80d000)
    libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007f22df60c000)
    libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f22df409000)
    libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f22df0ea000)
    libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f22ded99000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f22deb15000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f22de90c000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f22de708000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f22de376000)
    /lib64/ld-linux-x86-64.so.2 (0x00000039d6c00000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f22de15f000)
[root@devweb00 gst]# ldd /usr/lib64/libgstreamer-0.10.so.0
libgstreamer-0.10.so.0       libgstreamer-0.10.so.0.25.0  libgstreamer-0.10.so.0.27.0  libgstreamer-0.10.so.0.30.0
[root@devweb00 gst]# ldd /usr/lib64/libgstreamer-0.10.so.0
    linux-vdso.so.1 =>  (0x00007fff545ff000)
    libffi.so.5 => /usr/lib64/libffi.so.5 (0x00007f0463ee2000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0463cb7000)
    libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f0463a6a000)
    libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007f0463869000)
    libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f0463666000)
    libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f0463347000)
    libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f0462ff6000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f0462d72000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f0462b69000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f0462965000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f04625d3000)
    /lib64/ld-linux-x86-64.so.2 (0x00000039d6c00000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f04623bc000)
[root@devweb00 gst]#
Comment 14 André Klapper 2012-09-25 11:29:33 UTC
(In reply to comment #13)
> [root@devweb00 gst]# ldd /usr/bin/gst-inspect-0.10 
>     libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00000039d9000000)
>     libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00000039da000000)
>     libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00000039d9c00000)
>     libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00000039d8000000)
> [root@devweb00 gst]# ldd /usr/lib64/libgstreamer-0.10.so
>     libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f22df80d000)
>     libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007f22df60c000)
>     libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f22df409000)
>     libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f22df0ea000)

Mismatches in paths. Closing as INVALID.
Plus there is no reason to do this with your "root" account.