Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] mplayer still requires libpng-1.2
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
J00p
n00b
n00b


Joined: 06 Nov 2011
Posts: 4

PostPosted: Sun Nov 06, 2011 2:02 pm    Post subject: [SOLVED] mplayer still requires libpng-1.2 Reply with quote

When I remove libpng-1.2 from my system, mplayer fails with:
Code:
mplayer: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory


I had this problem while using libpng-1.4 and now with 1.5 it is still there.

I can compile libpng 1.5.5 as well as mplayer just fine:

Code:

[ebuild   R    ] media-libs/libpng-1.5.5  USE="apng -static-libs" 0 kB
[ebuild   R    ] media-video/mplayer-1.0_rc4_p20110322-r1  USE="3dnow X a52 alsa ass cdio dirac dts dv dvd dvdnav enca encode esd faac faad gif iconv jpeg live mad mmx mng mp3 network opengl osdmenu oss png quicktime rar real rtc samba schroedinger sdl shm speex sse sse2 theora toolame tremor truetype twolame unicode vorbis x264 xinerama xscreensaver xv xvid xvmc -3dnowext -aalib (-altivec) -amr (-aqua) -bidi -bindist -bl -bluray -bs2b -cddb -cdparanoia -cpudetection -custom-cpuopts -debug -dga -directfb -doc -dvb (-dxr3) -fbcon -ftp -ggi -gsm -ipv6 -jack -joystick -jpeg2k -ladspa -libcaca -libmpeg2 -lirc -lzo -md5sum -mmxext -mpg123 -nas -nut -openal -pnm -pulseaudio -pvr -radio -rtmp -ssse3 -tga -v4l -vdpau (-vidix) -vpx (-win32codecs) -xanim -zoran" VIDEO_CARDS="-mga -s3virge -tdfx -vesa" 0 kB


I'm able to use mplayer by keeping a copy of libpng-1.2 ( emerge -av --oneshot "=libpng-1.2.46" )
so this is not a high priority problem, but I'm curious as to what is wrong.


Last edited by J00p on Sun Nov 06, 2011 4:28 pm; edited 1 time in total
Back to top
View user's profile Send private message
SamuliSuominen
Retired Dev
Retired Dev


Joined: 30 Sep 2005
Posts: 2133
Location: Finland

PostPosted: Sun Nov 06, 2011 2:25 pm    Post subject: Reply with quote

mplayer or one of it's reverse dependencies needs to be rebuilt against libpng15:

Code:

# emerge gentoolkit
# emerge -C libpng:1.2
# revdep-rebuild --library libpng12.so.0


and if that doesn't help, check out what in the mplayer dependency tree is using libpng12 by:

Code:

# lddtree `which mplayer`
Back to top
View user's profile Send private message
J00p
n00b
n00b


Joined: 06 Nov 2011
Posts: 4

PostPosted: Sun Nov 06, 2011 3:41 pm    Post subject: Reply with quote

Thank you for your response,

Code:

> emerge -C libpng:1.2
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

 media-libs/libpng
    selected: 1.2.46
   protected: none
     omitted: 1.5.5

All selected packages: media-libs/libpng-1.2.46
...
>>> Unmerging media-libs/libpng-1.2.46...
 * GNU info directory index is up-to-date.
> revdep-rebuild --library libpng12.so.0
...
[ 100% ]                 
 * There are no dynamic links to libpng12.so.0... All done.


The results of the dependency tree:
Code:

> lddtree `which mplayer`
mplayer => /usr/local/bin/mplayer (interpreter => /lib64/ld-linux-x86-64.so.2)
    libXext.so.6 => /usr/lib64/libXext.so.6
    libX11.so.6 => /usr/lib64/libX11.so.6
        libxcb.so.1 => /usr/lib64/libxcb.so.1
            libXau.so.6 => /usr/lib64/libXau.so.6
            libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6
    libpthread.so.0 => /lib64/libpthread.so.0
    libXss.so.1 => /usr/lib64/libXss.so.1
    libXv.so.1 => /usr/lib64/libXv.so.1
    libXinerama.so.1 => /usr/lib64/libXinerama.so.1
    libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1
    libGL.so.1 => /usr/lib32/opengl/nvidia/lib/libGL.so.1
        libnvidia-tls.so.275.09.07 => /usr/lib32/opengl/nvidia/lib/libnvidia-tls.so.275.09.07
        libnvidia-glcore.so.275.09.07 => /usr/lib64/libnvidia-glcore.so.275.09.07
    libdl.so.2 => /lib64/libdl.so.2
    libSDL-1.2.so.0 => /usr/lib64/libSDL-1.2.so.0
    libesd.so.0 => /usr/lib64/libesd.so.0
        libaudiofile.so.0 => /usr/lib64/libaudiofile.so.0
    libfaac.so.0 => /usr/lib64/libfaac.so.0
    libmp3lame.so.0 => /usr/lib64/libmp3lame.so.0
    libncurses.so.5 => /lib64/libncurses.so.5
    libsmbclient.so.0 => /usr/lib64/libsmbclient.so.0
        libtalloc.so.2 => /usr/lib64/libtalloc.so.2
        libtdb.so.1 => /usr/lib64/libtdb.so.1
        libresolv.so.2 => /lib64/libresolv.so.2
        libnsl.so.1 => /lib64/libnsl.so.1
        libldap-2.4.so.2 => /usr/lib64/libldap-2.4.so.2
            libgnutls.so.26 => /usr/lib64/libgnutls.so.26
                libtasn1.so.3 => /usr/lib64/libtasn1.so.3
                libgcrypt.so.11 => /usr/lib64/libgcrypt.so.11
                    libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0
        liblber-2.4.so.2 => /usr/lib64/liblber-2.4.so.2
    libpng12.so.0 => /usr/lib32/libpng12.so.0                                      <---- !! ?
    libz.so.1 => /lib64/libz.so.1
    libjpeg.so.7 => /usr/lib64/libjpeg.so.7
    libgif.so.4 => /usr/lib64/libgif.so.4
    libasound.so.2 => /usr/lib64/libasound.so.2
    libcdda_interface.so.0 => /usr/lib64/libcdda_interface.so.0
    libcdda_paranoia.so.0 => /usr/lib64/libcdda_paranoia.so.0
    libfreetype.so.6 => /usr/lib64/libfreetype.so.6
    libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1
        libexpat.so.1 => /usr/lib64/libexpat.so.1
    libenca.so.0 => /usr/lib64/libenca.so.0
    libbz2.so.1 => /lib64/libbz2.so.1
    libmad.so.0 => /usr/lib64/libmad.so.0
    libspeex.so.1 => /usr/lib64/libspeex.so.1
    libtheora.so.0 => /usr/lib64/libtheora.so.0
    libogg.so.0 => /usr/lib64/libogg.so.0
    libliveMedia.so.3 => /usr/lib64/libliveMedia.so.3
    libgroupsock.so.3 => /usr/lib64/libgroupsock.so.3
    libUsageEnvironment.so.3 => /usr/lib64/libUsageEnvironment.so.3
    libBasicUsageEnvironment.so.3 => /usr/lib64/libBasicUsageEnvironment.so.3
    libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/libstdc++.so.6
    libdv.so.4 => /usr/lib64/libdv.so.4
    libxvidcore.so.4 => /usr/lib64/libxvidcore.so.4
    libm.so.6 => /lib64/libm.so.6
    libdirac_encoder.so.0 => /usr/lib64/libdirac_encoder.so.0
    libdirac_decoder.so.0 => /usr/lib64/libdirac_decoder.so.0
    libschroedinger-1.0.so.0 => /usr/lib64/libschroedinger-1.0.so.0
        liborc-0.4.so.0 => /usr/lib64/liborc-0.4.so.0
    liboil-0.3.so.0 => /usr/lib64/liboil-0.3.so.0
    librt.so.1 => /lib64/librt.so.1
    libgcc_s.so.1 => /lib64/libgcc_s.so.1
    libc.so.6 => /lib64/libc.so.6


So one of these libraries still uses libpng 1.2, but how do I know which one?
Do I need to revdep-rebuild all of these one by one?


edit: point out libpng12 in the listing
Back to top
View user's profile Send private message
J00p
n00b
n00b


Joined: 06 Nov 2011
Posts: 4

PostPosted: Sun Nov 06, 2011 4:08 pm    Post subject: Reply with quote

I now get how to interpret this tree,
if one of the libraries that mplayer uses was still using libpng1.2 then it should show up like:
Code:

libsomelib.so.x => /someliblocation
      libpng1.2.so.0 => /libpnglocation


since libpng1.2 shows up at the 1st level, it is mplayer itself that uses it, not one of its dependencies.
So i should rebuild mplayer,...

But I allready know that that doesn't help..


edit:typo
Back to top
View user's profile Send private message
SamuliSuominen
Retired Dev
Retired Dev


Joined: 30 Sep 2005
Posts: 2133
Location: Finland

PostPosted: Sun Nov 06, 2011 4:21 pm    Post subject: Reply with quote

Quote:

Code:

> lddtree `which mplayer`
mplayer => /usr/local/bin/mplayer



Why do you have mplayer in /usr/local/bin? You have built and installed mplayer by yourself at some point. I would remove it from /usr/local/bin and use the version from Portage.
Back to top
View user's profile Send private message
J00p
n00b
n00b


Joined: 06 Nov 2011
Posts: 4

PostPosted: Sun Nov 06, 2011 4:28 pm    Post subject: Reply with quote

Haha and also :oops:

Thanks for your help, I can't remember building mplayer myself in the past, but removing it
from the local dir was all that needed to be done.
Back to top
View user's profile Send private message
slowdive
n00b
n00b


Joined: 01 May 2005
Posts: 41

PostPosted: Tue Jan 29, 2013 2:02 am    Post subject: Super helpful! Reply with quote

Thanks for a helpful debug session.

I had a similar problem later with gnutls and claws-mail. Even after rebuilding claws-mail, it still failed to find libgnutls.so.28, even though it had found .26. Turns out libetpan needed 0.28 (needed a rebuild), which lddtree showed me. Incidentally, a full revdep-rebuild didn't find libetpan, but a revdep-rebuild --library libgnutls.so.28 found it.

Short version: thanks, i'll definitely add lddtree to my toolbox.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum