1.0.7b cannot find "libgmtk.so.1"

62 views
Skip to first unread message

Wolfgang Knauf

unread,
Oct 11, 2012, 3:27:34 PM10/11/12
to gnome-...@googlegroups.com
Hi Kevin,

I think I solved my problem myself (see end of message) but I post it
here anyway, because the problem did not occur with previous versions.
Maybe there is something wrong with the build process.

So here is the problem:
========================
Downloaded and built 1.0.7b (OpenSuse 12.2x64). gnome-mplayer does not
start:

gnome-mplayer: error while loading shared libraries: libgmlib.so.1:
cannot open shared object file: No such file or directory


Those files are at /usr/local/lib64 (after deletion of the files from a
1.0.6 version)
ll /usr/local/lib64/*gmt*
-rw-r--r-- 1 root root 679702 11. Okt 21:13 /usr/local/lib64/libgmtk.a
-rwxr-xr-x 1 root root 1173 11. Okt 21:13 /usr/local/lib64/libgmtk.la
lrwxrwxrwx 1 root root 16 11. Okt 21:13 /usr/local/lib64/libgmtk.so
-> libgmtk.so.1.0.7
lrwxrwxrwx 1 root root 16 11. Okt 21:13
/usr/local/lib64/libgmtk.so.1 -> libgmtk.so.1.0.7
-rwxr-xr-x 1 root root 351503 11. Okt 21:13
/usr/local/lib64/libgmtk.so.1.0.7



The gnome-mplayer Makefile seems to contain the correct path:
GMLIB_CFLAGS = -I/usr/local/include/gmtk
GMLIB_LIBS = -L/usr/local/lib64 -lgmlib

A few days ago, I built 1.0.6 using the same steps as for 1.0.7b, and
this worked.


========================

My solution was: run "ldconfig" and now it works.

But why is this necessary?

Best regards

Wolfgang

==================
A bonus warning for you ;-): when watching the test videos at
http://fredrik.hubbe.net/plugger/test.html , I see this console output
in Firefox:

(gnome-mplayer:16885): GLib-GObject-WARNING **: invalid unclassed
pointer in cast to `GmtkMediaPlayer'

Kevin DeKorte

unread,
Oct 11, 2012, 6:29:27 PM10/11/12
to gnome-...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 10/11/2012 01:27 PM, Wolfgang Knauf wrote:
> Hi Kevin,
>
> I think I solved my problem myself (see end of message) but I post
> it here anyway, because the problem did not occur with previous
> versions. Maybe there is something wrong with the build process.
>
> So here is the problem: ======================== Downloaded and
> built 1.0.7b (OpenSuse 12.2x64). gnome-mplayer does not start:
>
> gnome-mplayer: error while loading shared libraries:
> libgmlib.so.1: cannot open shared object file: No such file or
> directory
>
>
> Those files are at /usr/local/lib64 (after deletion of the files
> from a 1.0.6 version) ll /usr/local/lib64/*gmt* -rw-r--r-- 1 root
> root 679702 11. Okt 21:13 /usr/local/lib64/libgmtk.a -rwxr-xr-x 1
> root root 1173 11. Okt 21:13 /usr/local/lib64/libgmtk.la
> lrwxrwxrwx 1 root root 16 11. Okt 21:13
> /usr/local/lib64/libgmtk.so -> libgmtk.so.1.0.7 lrwxrwxrwx 1 root
> root 16 11. Okt 21:13 /usr/local/lib64/libgmtk.so.1 ->
> libgmtk.so.1.0.7 -rwxr-xr-x 1 root root 351503 11. Okt 21:13
> /usr/local/lib64/libgmtk.so.1.0.7


Wolfgang,

I don't know when I install the gmtk on my RHEL 6 machine I get the
following files

ls -la /usr/lib64/libgmtk*
- -rw-r--r--. 1 root root 569152 Oct 11 16:26 /usr/lib64/libgmtk.a
- -rwxr-xr-x. 1 root root 1205 Oct 11 16:26 /usr/lib64/libgmtk.la
lrwxrwxrwx. 1 root root 16 Oct 11 16:26 /usr/lib64/libgmtk.so ->
libgmtk.so.1.0.7
lrwxrwxrwx. 1 root root 16 Oct 11 16:26 /usr/lib64/libgmtk.so.1 ->
libgmtk.so.1.0.7
- -rwxr-xr-x. 1 root root 296169 Oct 11 16:26 /usr/lib64/libgmtk.so.1.0.7


And ldconfig actually runs as part of the install.

libtool: install: /usr/bin/install -c .libs/libgmtk.so.1.0.7T
/usr/lib64/libgmtk.so.1.0.7
libtool: install: (cd /usr/lib64 && { ln -s -f libgmtk.so.1.0.7
libgmtk.so.1 || { rm -f libgmtk.so.1 && ln -s libgmtk.so.1.0.7
libgmtk.so.1; }; })
libtool: install: (cd /usr/lib64 && { ln -s -f libgmtk.so.1.0.7
libgmtk.so || { rm -f libgmtk.so && ln -s libgmtk.so.1.0.7 libgmtk.so;
}; })
libtool: install: /usr/bin/install -c .libs/libgmtk.lai
/usr/lib64/libgmtk.la
libtool: install: /usr/bin/install -c .libs/libgmlib.a
/usr/lib64/libgmlib.a
libtool: install: chmod 644 /usr/lib64/libgmlib.a
libtool: install: ranlib /usr/lib64/libgmlib.a
libtool: install: /usr/bin/install -c .libs/libgmtk.a /usr/lib64/libgmtk.a
libtool: install: chmod 644 /usr/lib64/libgmtk.a
libtool: install: ranlib /usr/lib64/libgmtk.a
libtool: finish: PATH="/sbin:/bin:/usr/sbin:/usr/bin:/sbin" ldconfig
- -n /usr/lib64


so I am unsure why you are seeing what you are seeing.


Kevin




- --
Get my public GnuPG key from
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x7D0BD5D1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlB3SEYACgkQ6w2kMH0L1dHOBgCfXxcqK+val92QqHU2t+QLdj6d
0KcAn2uBhMG5jXEHdPPmqPEbOG8WTOzm
=5cxB
-----END PGP SIGNATURE-----

Kevin DeKorte

unread,
Oct 11, 2012, 6:52:09 PM10/11/12
to gnome-...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 10/11/2012 01:27 PM, Wolfgang Knauf wrote:
> A bonus warning for you ;-): when watching the test videos at
> http://fredrik.hubbe.net/plugger/test.html , I see this console
> output in Firefox:
>
> (gnome-mplayer:16885): GLib-GObject-WARNING **: invalid unclassed
> pointer in cast to `GmtkMediaPlayer'
>

Confirmed, not a huge problem. The code is just shutting itself down
and an event is getting flushed out late. The code checks for these
null pointers and won't crash. The message is just annoying as it is
hard to duplicate reliably under the debugger.

Kevin


- --
Get my public GnuPG key from
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x7D0BD5D1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlB3TZkACgkQ6w2kMH0L1dFe6ACfYn8F+mlVf7703YS8mZ2/CZ4t
h1wAn1SZZ7N1EsEO/edSiXEFXOs8lAo6
=CWcz
-----END PGP SIGNATURE-----

Wolfgang Knauf

unread,
Oct 12, 2012, 4:07:36 PM10/12/12
to gnome-...@googlegroups.com
Hi Kevin,

>>
>> gnome-mplayer: error while loading shared libraries:
>> libgmlib.so.1: cannot open shared object file: No such file or
>> directory
>>
>>

> And ldconfig actually runs as part of the install.
>

> libtool: finish: PATH="/sbin:/bin:/usr/sbin:/usr/bin:/sbin" ldconfig
> - -n /usr/lib64
>

it seems to be a problem of the "-n" switch. I can reproduce the issue
by deleting the files in /usr/local/lib64 and re-running "make install".

A "ldconfig -n" executed by myself does not help either, only a
"ldconfig" without arguments. Seems that OpenSuse uses a cache.

Best regards

Wolfgang

Kevin DeKorte

unread,
Oct 12, 2012, 5:13:41 PM10/12/12
to gnome-...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

ldconfig is actually run by install, I don't do anything to call it I
don't think.

I reran autoreconf -fiv and committed that change to the code, but it
didn't appear to touch install-sh. I guess you could try that on your
setup and see if that helps.

The -n option to ldconfig is only supposed to process the directory
specified. So that should work.

Can you run "make install" as root or under sudo and attach the output?

Kevin


- --
Get my public GnuPG key from
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x7D0BD5D1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iEYEARECAAYFAlB4iAUACgkQ6w2kMH0L1dHnyQCfaOvbp6TDJa7nEnzYDiCqPIH4
/lEAn0wAoAy28SSAf132A/RPz3t3PAQ7
=Zizb
-----END PGP SIGNATURE-----

Wolfgang Knauf

unread,
Oct 15, 2012, 3:44:48 PM10/15/12
to gnome-...@googlegroups.com
Hi Kevin,

>>
>
> ldconfig is actually run by install, I don't do anything to call it I
> don't think.
>
> I reran autoreconf -fiv and committed that change to the code, but it
> didn't appear to touch install-sh. I guess you could try that on your
> setup and see if that helps.
>
> The -n option to ldconfig is only supposed to process the directory
> specified. So that should work.
>
> Can you run "make install" as root or under sudo and attach the output?
>
> Kevin
>

did not make a difference (all run as root).
Attached is the log file of "make install" from SVN. Before, I deleted
/usr/lib/local64/libgmtk* and ran "ldconfig" once.

Though writing output to a file, I see one output line:
libtool: install: warning: relinking `libgmtk.la'

A "ldconfig --help" shows this for the switch "-n" (german text, I tried
to translate):
-n Process only the directories from arguments. Don't create a cache.
-N Dont' create a cache.

See also http://linux.die.net/man/8/ldconfig -> "-n" implies "-N".

============================

And bonus: I saw this error message of "make" only ONCE (after pulling
the files from SVN to clean directory - but not after a "make distclean"):
.../gmtk-svn/missing: Zeile 52: automake-1.11: Kommando nicht gefunden.
WARNING: `automake-1.11' is missing on your system. You should only
need it if
you modified `Makefile.am', `acinclude.m4' or `configure.ac'.
You might want to install the `Automake' and `Perl' packages.
Grab them from any GNU archive site.

If have automake version 1.12.1-1.2.1" here.

Is this just a warning to be ignored?

Best regards

Wolfgang
gmtk_makeinstall.log

Kevin DeKorte

unread,
Oct 15, 2012, 11:11:31 PM10/15/12
to gnome-...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 10/15/2012 01:44 PM, Wolfgang Knauf wrote:
> did not make a difference (all run as root). Attached is the log
> file of "make install" from SVN. Before, I deleted
> /usr/lib/local64/libgmtk* and ran "ldconfig" once.
>
> Though writing output to a file, I see one output line: libtool:
> install: warning: relinking `libgmtk.la'

I don't think this is a big deal. I personally have not seen this one,
but I run make distclean pretty often. So it is possible that is why I
have not seen it.


>
> A "ldconfig --help" shows this for the switch "-n" (german text, I
> tried to translate): -n Process only the directories from
> arguments. Don't create a cache. -N Dont' create a cache.
>

I have been reading the ldconfig options and while they are confusing
it should work...

So I removed gmtk (using make uninstall) and then ran ldconfig as
root. I checked that gmtk was no longer present in /etc/ld.so.cache
and then I ran make install and checked to see if gmtk was present in
the ld.so.cache and it was not. BUT

When I do ldd /usr/bin/gnome-mplayer | grep gmtk

ldd /usr/bin/gnome-mplayer | grep gmtk
libgmtk.so.1 => /usr/lib64/libgmtk.so.1 (0x00007ff64ab48000)


It finds it and the code works... I believe the -n parameter may
ignore the /usr/lib and /usr/lib64 directories even if they are
specified. But the code still knows where it is so perhaps the fact
that you are putting it in /usr/local is where the confusion is happening.

Running ldconfig -v | grep gmtk does find the code and update the
cache. Maybe your LD_LIBRARY_PATH needs to have /usr/local/lib64 in it
or a file in /etc/ld.so.conf.d

Kevin


- --
Get my public GnuPG key from
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x7D0BD5D1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlB80GMACgkQ6w2kMH0L1dGkPgCbB0lT4rFSNRNOSPLIPeIijFCL
VBUAn3zULTlx3eeYBfbY/lMzxR+7TjM6
=Pi2q
-----END PGP SIGNATURE-----

Wolfgang Knauf

unread,
Oct 17, 2012, 4:55:06 PM10/17/12
to gnome-...@googlegroups.com
Hi Kevin,
"/etc/ld.so.conf" contains this:
/usr/local/lib64
/usr/local/lib
include /etc/ld.so.conf.d/*.conf
# /lib64, /lib, /usr/lib64 and /usr/lib gets added
# automatically by ldconfig after parsing this file.
# So, they do not need to be listed.

A variable "LD_LIBRARY_PATH" is not existent.


But as it works for me with a workaround. I think we can close this
question. I don't have enough linux knowlegde to be much help. If you
are still trying to track it down, I will whatever you request ;-)


Best regards

Wolfgang
Reply all
Reply to author
Forward
0 new messages