Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 326841

Summary: www-client/opera-10.60: flash videos fail when /usr/lib/nsbrowser/plugins/libflashplayer.so is a symlink
Product: Gentoo Linux Reporter: MickKi <michaelkintzios>
Component: Current packagesAssignee: Jeroen Roovers <jer>
Status: RESOLVED FIXED    
Severity: normal CC: a3li, desktop-misc, lack, mike, pacho, vapier
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 127200, 328639    
Bug Blocks:    
Attachments: Fix "Netscape" instead of Opera.

Description MickKi 2010-07-04 09:28:42 UTC
Flash videos will not play in Opera 10.60, they just buffer continuously.

Reproducible: Always

Actual Results:  
On youtube or other websites the embedded flash video displays the buffering symbol and the file downloads, but the flash download progress bar is not moving and when I looked in /tmp/FlashXXXX the file size is zero bytes.

Flash videos still play fine in Firefox.

Flash videos used to work OK in opera 10.11.  Launching with -debugplugin does not show anything on a terminal.


$ emerge -pDv opera

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] www-client/opera-10.60  USE="gstreamer kde -gtk" LINGUAS="en_GB -be -bg -cs -da -de -el -es_ES -es_LA -et -fi -fr -fr_CA -fy -hi -hr -hu -id -it -ja -ka -ko -lt -mk -nb -nl -nn -pl -pt -pt_BR -ro -ru -sk -sr -sv -ta -te -tr -uk -vi -zh_CN -zh_HK -zh_TW" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB


# emerge --info
Portage 2.1.8.3 (default/linux/amd64/10.0/desktop, gcc-4.4.3, glibc-2.11.2-r0, 2.6.33-gentoo-r2 x86_64)
=================================================================
System uname: Linux-2.6.33-gentoo-r2-x86_64-Intel-R-_Core-TM-_i7_CPU_Q_720_@_1.60GHz-with-gentoo-1.12.13
Timestamp of tree: Sun, 04 Jul 2010 08:15:03 +0000
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p37
dev-lang/python:     2.6.5-r2, 3.1.2-r3
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.3-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA AdobeFlash-10.1"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -msse4 -mcx16 -msahf -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=core2 -msse4 -mcx16 -msahf -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://10.10.10.5:1024/ http://gentoo.virginmedia.com/ http://gentoo.tiscali.nl/ http://de-mirror.org/distro/gentoo/ http://gentoo.mneisen.org/ http://mirror.mdfnet.se/mirror/gentoo http://gentoo.wheel.sk/ http://gentoo.mirror.pw.edu.pl/"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en_GB"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/efl /usr/local/portage"
SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 amr berkdb bluetooth branding bzip2 cairo cdda cddb cdparanoia cdr chroot cli consolekit cracklib crypt css cups cxx dbus dell dri dts dvd dvdr emboss encode exif faac fam firefox flac fortran fts3 gdbm gif gnutls gpm hal hddtemp hpijs iconv imagemagick ipv6 irda jpeg kde lcms ldap libnotify libv4l2 live lm_sensors logrotate mad mikmod mmx mmxext mng modules mp3 mp4 mpeg mudflap multilib ncurses network-cron new-hpcups nls nodrm nptl nptlonly nsplugin ogg opengl openmp pam pango pcre pdf perl png ppds pppd python qt3support qt4 quicktime readline redland reflection sdl session spell spl sqlite sse sse2 ssl ssse3 startup-notification svg sysfs tcpd tiff truetype udev unicode usb v4l2 vorbis wps x264 xcb xml xorg xulrunner xv xvid xvmc zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 MickKi 2010-07-04 09:39:15 UTC
This is the opera build details:

$ opera -full-version
Opera 10.60 Internal. Build 6386 for Linux.
Compiled on Jun 30 2010 by gcc 4.3.2 (ABI: 1002) for GNU libc 2.7.
Compositor active: No  Toolkit: Gtk 2.18.9

PS. I observed the same problem on a x86 box, so I'm not sure that this flash video problem is arch specific.
-- 
Regards,
Mick
Comment 2 karafeka 2010-07-04 12:42:56 UTC
Check this 
http://my.opera.com/community/forums/topic.dml?id=627212

Problem is probably in symbolic link in /usr/lib/nsbrowser/plugins.

But I don't think this is a gentoo bug, because with opera build <=6347 flash is playing fine. 
Comment 3 MickKi 2010-07-04 14:39:44 UTC
(In reply to comment #2)

> Problem is probably in symbolic link in /usr/lib/nsbrowser/plugins.
> 
> But I don't think this is a gentoo bug, because with opera build <=6347 flash
> is playing fine. 

This is what /usr/lib/nsbrowser/plugins shows:

$ ls -la /usr/lib/nsbrowser/plugins
total 327
drwxr-xr-x 2 root root      7 Jul  3 11:34 .
drwxr-xr-x 3 root root      3 Jun 10 08:26 ..
-rwxr-xr-x 1 root root   1224 Jun 28 14:38 libvlcplugin.la
-rwxr-xr-x 1 root root  90568 Jun 28 14:31 libvlcplugin.so
-rwxr-xr-x 1 root root 117784 Jul  3 11:34 npwrapper.libflashplayer.so
-rwxr-xr-x 1 root root 117784 Jul  3 11:34 npwrapper.npica.so
lrwxrwxrwx 1 root root     52 Jul  3 11:34 npwrapper.so -> /usr/lib64/nspluginwrapper/x86_64/linux/npwrapper.so

and this is what /usr/lib/nsbrowser/plugins/ contains:

$ ls -la /usr/lib/nsbrowser/plugins/
total 327
drwxr-xr-x 2 root root      7 Jul  3 11:34 .
drwxr-xr-x 3 root root      3 Jun 10 08:26 ..
-rwxr-xr-x 1 root root   1224 Jun 28 14:38 libvlcplugin.la
-rwxr-xr-x 1 root root  90568 Jun 28 14:31 libvlcplugin.so
-rwxr-xr-x 1 root root 117784 Jul  3 11:34 npwrapper.libflashplayer.so
-rwxr-xr-x 1 root root 117784 Jul  3 11:34 npwrapper.npica.so
lrwxrwxrwx 1 root root     52 Jul  3 11:34 npwrapper.so -> /usr/lib64/nspluginwrapper/x86_64/linux/npwrapper.so

On my system libflashplayer.so exists in the following:

$ locate libflashplayer.so
/opt/netscape/plugins32/libflashplayer.so
/usr/lib32/nsbrowser/plugins/libflashplayer.so
/usr/lib64/nsbrowser/plugins/npwrapper.libflashplayer.so

of which the second is a symlink to the first.

Some guy in the link you quoted suggested to:

# cp /usr/lib/nsbrowser/plugins/libflashplayer.so /usr/lib/opera/plugins

Well, since I do not have /usr/lib/nsbrowser/plugins/libflashplayer.so in my system, I copied:

# cp /opt/netscape/plugins32/libflashplayer.so /usr/lib/opera/plugins/

and can confirm that this does not work either.  :-(

So, something in the opera paths is borked, or incompatible with a default Gentoo setup (in the sense that I have not messed about with default paths as set by emerging nspluginwrapper and adobe-flash).
-- 
Regards,
Mick
Comment 4 karafeka 2010-07-04 15:07:37 UTC
Ok, you have 64bit system, so location for flashplayer is different.

Check in opera plugin options, what folders you have there and in which folder does it find flash library. It is probably good idea to select only folder /usr/lib32/nsbrowser/plugins/  in opera plugin settings for flash. In this folder is probably sym link to /opt/netscape/plugins32/libflashplayer.so (I am speculating because i have 32bit system). Replace that sym link with actual file from /opt/netscape/plugins32/libflashplayer.so .

Bottom line, your setting in opera have to point to actual libflashplayer.so and not to sym link. 
This worked on my system and based on comments on opera forum it is also working for others. 
Comment 5 MickKi 2010-07-04 15:49:15 UTC
(In reply to comment #4)

> Bottom line, your setting in opera have to point to actual libflashplayer.so
> and not to sym link. 

Thanks, 

I copied /opt/netscape/plugins32/libflashplayer.so to /usr/lib32/nsbrowser/plugins/libflashplayer.so which was previously a symlink.  This fixed the problem.  :-)

I am not sure if opera will not follow symlinks for security purposes or some other reason.  In any case, it is still a bug and as a minimum the ebuild should have an enotice saying something to this effect and suggesting a solution.  In my mind, the correct solution is of course to fix opera so that it can use symlinks as the previous version was.
-- 
Regards,
Mick
Comment 6 avx 2010-07-04 19:36:32 UTC
Mh, this is strange.

I'm on x86_64 here, Youtube/Vimeo/... did not work (always buffered), but flashgames and -banners worked.

Copied the .so to my ~/.opera/plugins and it works again. Can someone explaint to me, what exactly the difference between banners/games and video is in this context?

Anyway, solved for me, thanks.
Comment 7 SpanKY gentoo-dev 2010-07-05 06:52:35 UTC
similar issue on x86_64 with 64bit flash -- my opera actually hangs for quite a long time whenever i try to view any page with flash

as in comment #5, turning the flash symlink into a hard link fixes things:
 rm /usr/lib64/nsbrowser/plugins/libflashplayer.so
 ln /opt/netscape/plugins/libflashplayer.so /usr/lib64/nsbrowser/plugins/libflashplayer.so
Comment 8 Jeroen Roovers gentoo-dev 2010-07-05 17:16:06 UTC
Created attachment 237611 [details]
Fix "Netscape" instead of Opera.
Comment 9 Jeroen Roovers gentoo-dev 2010-07-05 18:27:09 UTC
What I had found before I discovered this bug report (apart from the attached hack, which I also proposed as illegal in bug #127200 comment #7)...

This is the old <=10.11 patch reimplemented (as well as some cosmetic changes), only it does not fix 10.60 the way it does fix 10.11:

Index: opera-10.60.ebuild
===================================================================
RCS file: /var/cvsroot/gentoo-x86/www-client/opera/opera-10.60.ebuild,v
retrieving revision 1.7
diff -u -B -r1.7 opera-10.60.ebuild
--- opera-10.60.ebuild  2 Jul 2010 21:59:40 -0000       1.7
+++ opera-10.60.ebuild  5 Jul 2010 18:15:51 -0000
@@ -137,14 +137,16 @@
                "${D}"/usr/share/applications/opera-browser.desktop \
                "${D}"/usr/share/applications/opera-widget-manager.desktop || die "sed 
failed"                                                                                 
-       # Sed libdir in opera script
+       # Change libdir in opera script
        sed "${FILESDIR}"/opera \
                -e "s|OPERA_LIBDIR|${OPREFIX}|g" > opera \
                || die "sed opera script failed"
 
-       # Sed libdir in defaults/pluginpath.ini
+       # Change libdir in defaults/pluginpath.ini and
+       # stop Opera from using /opt/netscape/plugins
        sed -i \
                -e "s|/usr/lib32|${OPREFIX}|g" \
+               -e "s|/opt/netscape/plugins=1|/opt/netscape/plugins=2|g" \
                "${D}"/usr/share/opera/defaults/pluginpath.ini \
                || die "sed pluginpath.ini failed"
 

Comment 10 Christopher Head 2010-07-08 04:37:43 UTC
I have an instance of the "moved file OK, symlink not OK" issue, also on x86 (so another point against this being AMD64-specific).
Comment 11 Jeroen Roovers gentoo-dev 2010-07-08 04:44:38 UTC
(In reply to comment #10)
> (so another point against this being AMD64-specific).

It never was...
Comment 12 MickKi 2010-07-08 05:22:52 UTC
Arjan advised in the opera.linux mailing list that:

"It's a known problem in Flash. When the path contains 'netscape', Flash  
assumes that it is running in a Netscape-derived browser, and it won't  
work from other browsers like Opera or Chrome. Annoying but true. You can  
try it for yourself - if you change the path to anything that doesn't  
contain the word 'netscape' it will work."

Is this an Adobe Flash bug then?
-- 
Regards,
Mick 
Comment 13 Jeroen Roovers gentoo-dev 2010-07-08 13:57:16 UTC
(In reply to comment #12)
> Is this an Adobe Flash bug then?

Comment 14 Christopher Head 2010-07-09 06:57:15 UTC
(In reply to comment #11)
> (In reply to comment #10)
> > (so another point against this being AMD64-specific).
> 
> It never was...
> 

My comment was posted a few minutes before 04:44:38UTC, when the bug metadata was changed to say All instead of AMD64.
Comment 15 MickKi 2010-07-11 17:30:08 UTC
Jeroen, are we meant to run the script manually or is it something which will be called by the ebuild?

BTW, I noticed another plugin problem:

Opera will not play .wmv videos.  It will neither load VLC multimedia plugin nor load /usr/bin/smplayer when I set it to do so.
-- 
Regards,
Mick
Comment 16 SpanKY gentoo-dev 2010-07-11 19:17:37 UTC
"another problem" is code for "file a different bug".  this is only about flash.
Comment 17 MickKi 2010-07-11 19:44:21 UTC
(In reply to comment #16)
> "another problem" is code for "file a different bug".  this is only about
> flash.

Sure, unless the cause (opera not reading symlinks of plugins) is common and therefore the title of the bug ought to be changed?

I'll start another bug as you suggest and refer to this just in case.
-- 
Regards,
Mick
Comment 18 Jeroen Roovers gentoo-dev 2010-07-20 17:24:48 UTC
Fixed through bug #328639. Do note that I still disable /opt/netscape/plugins in pluginpath. We'll see whether that will ever cause bugs on its own.