Bug 127994

Summary: multimedia/linux-realplayer lacks dependencies on multiple ports
Product: Ports & Packages Reporter: wilko <wilko>
Component: Individual Port(s)Assignee: Dmitry Marakasov <amdmi3>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description wilko freebsd_committer freebsd_triage 2008-10-10 11:40:00 UTC
        linux-realplayer lacks quite a few dependencies.  The port appears
     	to assume that the system it gets installed on has GNOME installed (??)
	On a plain xorg plus Windowmaker it refuses to run due to missing
 	shared libs it depends on.

Fix: 

[root@freebie ~]# realplay 
/usr/local/lib/RealPlayer/realplay.bin: error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file: No such file or directory

[root@freebie ~]# ldd /usr/local/lib/RealPlayer/realplay.bin
/usr/local/lib/RealPlayer/realplay.bin:
	libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x480ed000)
	libatk-1.0.so.0 => not found
	libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x4815c000)
	libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0x4816f000)
	libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0x48190000)
	libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x4819d000)
	libgobject-2.0.so.0 => not found
	libgmodule-2.0.so.0 => not found
	libdl.so.2 => /lib/libdl.so.2 (0x481d1000)
	libglib-2.0.so.0 => not found
	libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x481d5000)
	libpthread.so.0 => /lib/obsolete/linuxthreads/libpthread.so.0 (0x48429000)
	libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x4847d000)
	libm.so.6 => /lib/obsolete/linuxthreads/libm.so.6 (0x48536000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4855c000)
	libc.so.6 => /lib/obsolete/linuxthreads/libc.so.6 (0x48566000)
	libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x48685000)
	libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x48758000)
	libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x4875d000)
	libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x48765000)
	libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x48774000)
	libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x48787000)
	libfontconfig.so.1 => not found
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x4878f000)
	/lib/ld-linux.so.2 (0x480cf000)
	libgobject-2.0.so.0 => not found
	libgmodule-2.0.so.0 => not found
	libglib-2.0.so.0 => not found
	libgmodule-2.0.so.0 => not found
	libgobject-2.0.so.0 => not found
	libglib-2.0.so.0 => not found
	libfontconfig.so.1 => not found
	libgobject-2.0.so.0 => not found
	libgmodule-2.0.so.0 => not found
	libglib-2.0.so.0 => not found
	libatk-1.0.so.0 => not found
	libgobject-2.0.so.0 => not found
	libgmodule-2.0.so.0 => not found
	libglib-2.0.so.0 => not found
	libfontconfig.so.1 => not found
	libexpat.so.0 => not found
	libz.so.1 => /usr/lib/libz.so.1 (0x487fb000)

[root@freebie ~]# pkg_info | grep -i linux
linux-realplayer-10.0.9.809.20070726 Linux RealPlayer 10 from RealNetworks
linux-xorg-libs-6.8.2_5 Xorg libraries, linux binaries
linux_base-fc-4_13  Base set of packages needed in Linux mode (for i386/amd64)

linux-realplayer did not pull-in any other dependencies, while it obviously has quite a pile.  Note that I am not a GNOME or
KDE user, I only have xorg plus Windowmaker on my system.

After manual add of linux-glib2 things improve somewhat.

[root@freebie /usr/ports/devel/linux-glib2]# ldd /usr/local/lib/RealPlayer/realplay.bin
/usr/local/lib/RealPlayer/realplay.bin:
	libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x480ed000)
	libatk-1.0.so.0 => not found
	libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x4815c000)
	libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0x4816f000)
	libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0x48190000)
	libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x4819d000)
	libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x481d1000)
	libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x4820d000)
	libdl.so.2 => /lib/libdl.so.2 (0x48211000)
	libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x48215000)
	libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x4829e000)
	libpthread.so.0 => /lib/obsolete/linuxthreads/libpthread.so.0 (0x484f2000)
	libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x48545000)
	libm.so.6 => /lib/obsolete/linuxthreads/libm.so.6 (0x485ff000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x48625000)
	libc.so.6 => /lib/obsolete/linuxthreads/libc.so.6 (0x4862f000)
	libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4874e000)
	libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x48821000)
	libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x48825000)
	libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4882e000)
	libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x4883d000)
	libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x48850000)
	libfontconfig.so.1 => not found
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x48858000)
	/lib/ld-linux.so.2 (0x480cf000)
	libfontconfig.so.1 => not found
	libatk-1.0.so.0 => not found
	libfontconfig.so.1 => not found
	libexpat.so.0 => not found
	libz.so.1 => /usr/lib/libz.so.1 (0x488c2000)

But we need more:

[root@freebie /usr/ports/x11-fonts/linux-fontconfig]# # adding pkg_add -r linux-fontconfig
[root@freebie /usr/ports/x11-fonts/linux-fontconfig]# Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/Latest/ linux-fontconfig.tbz... Done.
[root@freebie /usr/ports/x11-fonts/linux-fontconfig]# Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/All/lin ux-expat-1.95.8.tbz... Done.

[root@freebie /usr/ports/x11-fonts/linux-fontconfig]# ldd /usr/local/lib/RealPlayer/realplay.bin
/usr/local/lib/RealPlayer/realplay.bin:
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x480ed000)
        libatk-1.0.so.0 => not found
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x4815c000)
        libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0x4816f000)
        libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0x48190000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x4819d000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x481d1000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x4820d000)
        libdl.so.2 => /lib/libdl.so.2 (0x48211000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x48215000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x4829e000)
        libpthread.so.0 => /lib/obsolete/linuxthreads/libpthread.so.0 (0x484f2000)
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x48545000)
        libm.so.6 => /lib/obsolete/linuxthreads/libm.so.6 (0x485ff000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x48625000)
        libc.so.6 => /lib/obsolete/linuxthreads/libc.so.6 (0x4862f000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4874e000)
        libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x48821000)
        libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x48825000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4882e000)
        libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x4883d000)
        libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x48850000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x48858000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x48882000)
        /lib/ld-linux.so.2 (0x480cf000)
        libatk-1.0.so.0 => not found
        libexpat.so.0 => /usr/lib/libexpat.so.0 (0x488eb000)
        libz.so.1 => /usr/lib/libz.so.1 (0x4890a000)

Still not there

Now add: pkg_add -r linux-atk
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/Latest/linux-atk.tbz... Done.

Finally realplay runs..

But it spits out errors and does not properly display its buttons
until one also adds: 

linux-gtk2

Which as a dependency pulled in 
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/All/linux-jpeg-6b.34.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/All/linux-tiff-3.7.1.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/All/linux-cairo-1.0.2.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/All/linux-pango-1.10.2.tbz... Done.

(argh..)
How-To-Repeat: 
       install linux-realplayer on system with only xorg.  See transcript
	below for detailed run.
Comment 1 Dmitry Marakasov freebsd_committer freebsd_triage 2008-10-10 15:42:43 UTC
Responsible Changed
From-To: freebsd-ports-bugs->amdmi3

I'll take it.
Comment 2 Dmitry Marakasov freebsd_committer freebsd_triage 2008-10-10 22:45:45 UTC
Responsible Changed
From-To: amdmi3->freebsd-ports-bugs

Back to pool
Comment 3 Dmitry Marakasov freebsd_committer freebsd_triage 2008-10-12 18:50:54 UTC
Responsible Changed
From-To: freebsd-ports-bugs->amdmi3

Take it, after all.
Comment 4 Dmitry Marakasov freebsd_committer freebsd_triage 2008-10-12 18:52:56 UTC
State Changed
From-To: open->closed

All mentioned linux-* ports are in RUN_DEPENDS of linux-realplayer. See 
`cd ports/multimedia/linux-realplayer && pretty-print-run-depends-list' 
=> "linux-atk-1.9.1 linux-cairo-1.0.2 linux-expat-1.95.8 
linux-fontconfig-2.2.3_7 linux-glib2-2.6.6 linux-gtk2-2.6.10 
linux-jpeg-6b.34 linux-pango-1.10.2 linux-png-1.2.8_2 linux-tiff-3.7.1 
linux-xorg-libs-6.8.2_5 linux_base-fc-4_13". Installs with all required 
depends for me as well.