pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Error building "mplayer" and "mencoder": "missing library: libutil.so.7"



>   1) save the build output, and grep it for -lutil, libutil, etc.   If you
>   can find where in the build it is even trying to look for a library
>   named util, that will help a lot.

No "-lutil" neither "libutil" search hits.

>   2) look at the binary that was produced for mplayer, and use whatever
>   tool is appropriate to see if there is anything named util.  (On
>   NetBSD this is ldd.)

The compiled "mplayer" binary has these dependencies:

"""
--<root@PkgSrc>-(/data/chroot/dev-2020Q1-x86_64)-</home/pbulk/build/multimedia/mplayer/work/MPlayer-1.4>--
-> ldd mplayer
        libkstat.so.1 =>         /lib/64/libkstat.so.1
        libsocket.so.1 =>        /lib/64/libsocket.so.1
        libnsl.so.1 =>   /lib/64/libnsl.so.1
        libiconv.so.2 =>         /opt/local/lib/libiconv.so.2
        libncurses.so.6 =>       /opt/local/lib/libncurses.so.6
        librt.so.1 =>    /lib/64/librt.so.1
        libpng16.so.16 =>        /opt/local/lib/libpng16.so.16
        libz.so.1 =>     /opt/local/lib/libz.so.1
        libjpeg.so.8 =>  /opt/local/lib/libjpeg.so.8
        libgif.so.7 =>   /opt/local/lib/libgif.so.7
        libutil.so.7 =>  (file not found)
        libbluray.so.2 =>        /opt/local/lib/libbluray.so.2
        libdvdread.so.7 =>       /opt/local/lib/libdvdread.so.7
        libfreetype.so.6 =>      /opt/local/lib/libfreetype.so.6
        libfontconfig.so.1 =>    /opt/local/lib/libfontconfig.so.1
        libfribidi.so.0 =>       /opt/local/lib/libfribidi.so.0
        libass.so.9 =>   /opt/local/lib/libass.so.9
        libenca.so.0 =>  /opt/local/lib/libenca.so.0
        libbz2.so.0 =>   /opt/local/lib/libbz2.so.0
        liblzo2.so.2 =>  /opt/local/lib/liblzo2.so.2
        libmad.so.0 =>   /opt/local/lib/libmad.so.0
        libvorbisenc.so.2 =>     /opt/local/lib/libvorbisenc.so.2
        libvorbis.so.0 =>        /opt/local/lib/libvorbis.so.0
        libogg.so.0 =>   /opt/local/lib/libogg.so.0
        libspeex.so.1 =>         /opt/local/lib/libspeex.so.1
        libtheoradec.so.1 =>     /opt/local/lib/libtheoradec.so.1
        libfaad.so.2 =>  /opt/local/lib/libfaad.so.2
        libopus.so.0 =>  /opt/local/lib/libopus.so.0
        libswscale.so.5 =>       /opt/local/lib/ffmpeg4/libswscale.so.5
        libswresample.so.3 =>    /opt/local/lib/ffmpeg4/libswresample.so.3
        libavformat.so.58 =>     /opt/local/lib/ffmpeg4/libavformat.so.58
        libavcodec.so.58 =>      /opt/local/lib/ffmpeg4/libavcodec.so.58
        libavutil.so.56 =>       /opt/local/lib/ffmpeg4/libavutil.so.56
        libpostproc.so.55 =>     /opt/local/lib/ffmpeg4/libpostproc.so.55
        libdv.so.4 =>    /opt/local/lib/libdv.so.4
        libdvdnav.so.4 =>        /opt/local/lib/libdvdnav.so.4
        libpthread.so.1 =>       /lib/64/libpthread.so.1
        libm.so.2 =>     /lib/64/libm.so.2
        libx264.so.157 =>        /opt/local/lib/libx264.so.157
        libxvidcore.so =>        /opt/local/lib/libxvidcore.so
        libXext.so.0 =>  /opt/local/lib/libXext.so.0
        libX11.so.6 =>   /opt/local/lib/libX11.so.6
        libXss.so.1 =>   /opt/local/lib/libXss.so.1
        libXv.so.1 =>    /opt/local/lib/libXv.so.1
        libXvMC.so.1 =>  /opt/local/lib/libXvMC.so.1
        libXvMCW.so.1 =>         /opt/local/lib/libXvMCW.so.1
        libvdpau.so.1 =>         /opt/local/lib/libvdpau.so.1
        libXinerama.so.1 =>      /opt/local/lib/libXinerama.so.1
        libXxf86vm.so.1 =>       /opt/local/lib/libXxf86vm.so.1
        libXxf86dga.so.1 =>      /opt/local/lib/libXxf86dga.so.1
        libSDL-1.2.so.0 =>       /opt/local/lib/libSDL-1.2.so.0
        libGL.so.1 =>    /opt/local/lib/libGL.so.1
        libEGL.so.1 =>   /opt/local/lib/libEGL.so.1
        libpulse.so.0 =>         /opt/local/lib/libpulse.so.0
        libumem.so.1 =>  /lib/64/libumem.so.1
        libssp.so.0 =>
/opt/local/gcc7/x86_64-sun-solaris2.11/lib/amd64/libssp.so.0
        libc.so.1 =>     /lib/64/libc.so.1
        libmp.so.2 =>    /lib/64/libmp.so.2
        libmd.so.1 =>    /lib/64/libmd.so.1
        libgcc_s.so.1 =>
/opt/local/gcc7/x86_64-sun-solaris2.11/lib/amd64/libgcc_s.so.1
        libxml2.so.2 =>  /opt/local/lib/libxml2.so.2
        liblzma.so.5 =>  /opt/local/lib/liblzma.so.5
        libexpat.so.1 =>         /opt/local/lib/libexpat.so.1
        libuuid.so.1 =>  /opt/local/lib/libuuid.so.1
        libintl.so.8 =>  /opt/local/lib/libintl.so.8
        libharfbuzz.so.0 =>      /opt/local/lib/libharfbuzz.so.0
        libglib-2.0.so.0 =>      /opt/local/lib/libglib-2.0.so.0
        libgraphite2.so.3 =>     /opt/local/lib/libgraphite2.so.3
        libtheora.so.0 =>        /opt/local/lib/libtheora.so.0
        libssl.so.1.1 =>         /opt/local/lib/libssl.so.1.1
        libcrypto.so.1.1 =>      /opt/local/lib/libcrypto.so.1.1
        libvpx.so.1 =>   /opt/local/lib/libvpx.so.1
        libopencore-amrwb.so.0 =>
/opt/local/lib/libopencore-amrwb.so.0
        libaom.so.0 =>   /opt/local/lib/libaom.so.0
        libmp3lame.so.0 =>       /opt/local/lib/libmp3lame.so.0
        libopencore-amrnb.so.0 =>
/opt/local/lib/libopencore-amrnb.so.0
        libtheoraenc.so.1 =>     /opt/local/lib/libtheoraenc.so.1
        libx265.so.179 =>        /opt/local/lib/libx265.so.179
        libxcb.so.1 =>   /opt/local/lib/libxcb.so.1
        libXau.so.6 =>   /opt/local/lib/libXau.so.6
        libXdmcp.so.6 =>         /opt/local/lib/libXdmcp.so.6
        libdl.so.1 =>    /lib/64/libdl.so.1
        libXrandr.so.2 =>        /opt/local/lib/libXrandr.so.2
        libXrender.so.1 =>       /opt/local/lib/libXrender.so.1
        libglapi.so.0 =>         /opt/local/lib/libglapi.so.0
        libdrm.so.2 =>   /opt/local/lib/libdrm.so.2
        libxcb-glx.so.0 =>       /opt/local/lib/libxcb-glx.so.0
        libX11-xcb.so.1 =>       /opt/local/lib/libX11-xcb.so.1
        libxcb-dri2.so.0 =>      /opt/local/lib/libxcb-dri2.so.0
        libXfixes.so.3 =>        /opt/local/lib/libXfixes.so.3
        libXdamage.so.1 =>       /opt/local/lib/libXdamage.so.1
        libxcb-dri3.so.0 =>      /opt/local/lib/libxcb-dri3.so.0
        libxcb-present.so.0 =>   /opt/local/lib/libxcb-present.so.0
        libxcb-sync.so.1 =>      /opt/local/lib/libxcb-sync.so.1
        libxshmfence.so.1 =>     /opt/local/lib/libxshmfence.so.1
        libgbm.so.1 =>   /opt/local/lib/libgbm.so.1
        libxcb-xfixes.so.0 =>    /opt/local/lib/libxcb-xfixes.so.0
        libpulsecommon-13.0.so =>
/opt/local/lib/pulseaudio/libpulsecommon-13.0.so
        libSM.so.6 =>    /opt/local/lib/libSM.so.6
        libICE.so.6 =>   /opt/local/lib/libICE.so.6
        libXtst.so.6 =>  /opt/local/lib/libXtst.so.6
        libXi.so.6 =>    /opt/local/lib/libXi.so.6
        libsndfile.so.1 =>       /opt/local/lib/libsndfile.so.1
        libFLAC.so.8 =>  /opt/local/lib/libFLAC.so.8
        libdbus-1.so.3 =>        /opt/local/lib/libdbus-1.so.3
        libbsm.so.1 =>   /lib/64/libbsm.so.1
        libgdbm.so.5 =>  /opt/local/lib/libgdbm.so.5
        libpcre.so.1 =>  /opt/local/lib/libpcre.so.1
        libstdc++.so.6 =>
/opt/local/gcc7/x86_64-sun-solaris2.11/lib/amd64/libstdc++.so.6
        libsecdb.so.1 =>         /lib/64/libsecdb.so.1
        libtsol.so.2 =>  /lib/64/libtsol.so.2
        libinetutil.so.1 =>      /lib/64/libinetutil.so.1
        libscf.so.1 =>   /lib/64/libscf.so.1
        libuutil.so.1 =>         /lib/64/libuutil.so.1
        libgen.so.1 =>   /lib/64/libgen.so.1
        libnvpair.so.1 =>        /lib/64/libnvpair.so.1
        libsmbios.so.1 =>        /usr/lib/64/libsmbios.so.1
        libdevinfo.so.1 =>       /lib/64/libdevinfo.so.1
        libsec.so.1 =>   /lib/64/libsec.so.1
        libavl.so.1 =>   /lib/64/libavl.so.1
        libidmap.so.1 =>         /usr/lib/64/libidmap.so.1
        libofmt.so.1 =>  /lib/64/libofmt.so.1

"""

Note this line:         libutil.so.7 =>  (file not found)

Here you are!.

I use "ldd -v" to identify what library is creating that dependency:

"""
   find object=libutil.so.7; required by mplayer
        libutil.so.7 =>  (file not found)
"""

It looks like "mplayer" has a direct dependency, no thru a dynamic
library. Interesting...

I went to the ".buildlink" directory and tried:

"""
--<root@PkgSrc>-(/data/chroot/dev-2020Q1-x86_64)-</home/pbulk/build/multimedia/mplayer/work/.buildlink>--
-> find . -name "*.so" -exec ldd {} \; -print|grep libutil
--<root@PkgSrc>-(/data/chroot/dev-2020Q1-x86_64)-</home/pbulk/build/multimedia/mplayer/work/.buildlink>--
"""

Looks like there is no dependencies in the libraries.

>   3) Look in your entire system with find, after you have built the
>   package but before you have deleted the work directory, for anything
>   named libutil*, as in
>     find / -type f -name libutil\*

Under SmartOS, pkgsrc build is done inside a CHROOT environment.

"""
--<root@PkgSrc>-(/data/chroot/dev-2020Q1-x86_64)-</data/pkgsrc/multimedia/mplayer>--
-> find / -type f -name libutil\*
find: cycle detected for /data/chroot/dev-2020Q1-x86_64/
--<root@PkgSrc>-(/data/chroot/dev-2020Q1-x86_64)-</data/pkgsrc/multimedia/mplayer>--
->
"""

No hits.

I have compiled mplayer with "truss" (Solaris equivalent to linux
strace) to see if I can see any reference to "*libutil*" in the
syscalls. No luck.

I suppose that next step would be to try to link "mplayer" in small
steps to determine who is injecting the dependency. 3:46 AM, bedtime.

Thanks for your help. Suggestions welcomed.

-- 
Jesús Cea Avión                         _/_/      _/_/_/        _/_/_/
jcea%jcea.es@localhost - https://www.jcea.es/    _/_/    _/_/  _/_/    _/_/  _/_/
Twitter: @jcea                        _/_/    _/_/          _/_/_/_/_/
jabber / xmpp:jcea%jabber.org@localhost  _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz

Attachment: signature.asc
Description: OpenPGP digital signature



Home | Main Index | Thread Index | Old Index