Closed bruceauyeung closed 8 years ago
Since library load is required to probe a plugin, that slows down startup time. That's why Firefox caches information about plugins in pluginreg.dat
file in your Firefox profile directory. (I think in your case it would be /home/bruce/.mozilla/firefox/x6eklphf.default/pluginreg.dat
.) Failed load attempts are cached in that file too, so Firefox don't even try next time. Remove that file and restart the browser. Then it will try to load every plugin again.
You can also use touch
command to "renew" file libfreshwrapper-flashplayer.so
. Then Firefox at the next start will notice that file is updated, and will try to load it again.
thanks for your reply!
i deleted /home/bruce/.mozilla/firefox/x6eklphf.default/pluginreg.dat
, and then run strace -y /usr/bin/firefox 2>&1 | grep acces | grep -v search | grep plugins
strace -y /usr/bin/firefox 2>&1 | grep acces | grep -v search | grep plugins access("/home/bruce/.mozilla/firefox/x6eklphf.default/extensions/support@lastpass.com/plugins", F_OK) = -1 ENOENT (No such file or directory) access("/home/bruce/.mozilla/firefox/x6eklphf.default/plugins", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib64/browser-plugins", F_OK) = 0 access("/usr/lib64/browser-plugins/skypebuttons.so", F_OK) = 0 access("/usr/lib64/browser-plugins/libfreshwrapper-flashplayer.so", F_OK) = 0 access("/usr/lib64/browser-plugins/packagekit-plugin.so", F_OK) = 0 access("/home/bruce/.mozilla/plugins", F_OK) = 0 access("/home/bruce/.mozilla/plugins/libaliedit64.so", F_OK) = 0 access("/usr/lib64/firefox/browser/plugins", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib64/mozilla/plugins", F_OK) = -1 ENOENT (No such file or directory) access("/home/bruce/.mozilla/firefox/x6eklphf.default/extensions/support@lastpass.com/plugins", F_OK) = -1 ENOENT (No such file or directory) access("/home/bruce/.mozilla/firefox/x6eklphf.default/plugins", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib64/browser-plugins", F_OK) = 0 access("/home/bruce/.mozilla/plugins", F_OK) = 0 access("/usr/lib64/firefox/browser/plugins", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib64/mozilla/plugins", F_OK) = -1 ENOENT (No such file or directory)
now there is a line related to freshplayer
access("/usr/lib64/browser-plugins/libfreshwrapper-flashplayer.so", F_OK) = 0
but still there is no flash plugin in about:plugins
I don't know why it happens.
I've just tried to test it on openSUSE Leap. Installed Firefox, downloaded freshwrapper source snapshot, installed dependencies, built, and copied resulting library into /usr/lib64/browser-plugins/. Then in started Firefox I've seen it in about:plugins page. There were also messages in the console, about missing libpepflashplayer.so — I didn't install nor Chrome, neither PepperFlash.
So it could be something related to unix file permissions. If you launch ldd /usr/lib64/browser-plugins/libfreshwrapper-flashplayer.so
from your user (not root), does it say something about missing libraries or inability to open file?
the following is ldd command's outout, i dont know linux c programming, please help.
ldd /usr/lib64/browser-plugins/libfreshwrapper-flashplayer.so linux-vdso.so.1 (0x00007fffd0bff000) libasound.so.2 => /usr/lib64/libasound.so.2 (0x00007fd70624d000) libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007fd705ecd000) libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007fd705cbd000) libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007fd705aad000) libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fd70576d000) libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007fd70555d000) libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007fd7052c5000) libevent_pthreads-2.0.so.5 => /usr/lib64/libevent_pthreads-2.0.so.5 (0x00007fd7050bd000) libevent-2.0.so.5 => /usr/lib64/libevent-2.0.so.5 (0x00007fd704e6d000) libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x00007fd704c5d000) libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007fd704935000) libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x00007fd70471d000) libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007fd7044cd000) libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007fd704275000) libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007fd703f65000) libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007fd703ccd000) libcrypto.so.1.0.0 => /lib64/libcrypto.so.1.0.0 (0x00007fd7038d5000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fd7036cd000) librt.so.1 => /lib64/librt.so.1 (0x00007fd7034c5000) libm.so.6 => /lib64/libm.so.6 (0x00007fd7031bd000) libgtk-x11-2.0.so.0 => /usr/lib64/libgtk-x11-2.0.so.0 (0x00007fd702b7d000) libgdk-x11-2.0.so.0 => /usr/lib64/libgdk-x11-2.0.so.0 (0x00007fd7028c5000) libpulse.so.0 => /usr/lib64/libpulse.so.0 (0x00007fd702675000) libjack.so.0 => /usr/lib64/libjack.so.0 (0x00007fd70242d000) libsoxr.so.0 => /usr/lib64/libsoxr.so.0 (0x00007fd7021c5000) libv4l2.so.0 => /usr/lib64/libv4l2.so.0 (0x00007fd701fb5000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd701d95000) libc.so.6 => /lib64/libc.so.6 (0x00007fd7019ed000) /lib64/ld-linux-x86-64.so.2 (0x000056465d3be000) libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007fd7017e5000) libz.so.1 => /lib64/libz.so.1 (0x00007fd7015cd000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fd7013a5000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fd70118d000) libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007fd700f75000) libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fd700d55000) libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007fd700b4d000) libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007fd70091d000) libglapi.so.0 => /usr/lib64/libglapi.so.0 (0x00007fd7006ed000) libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007fd7004e5000)
libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007fd7002dd000)
libxcb-glx.so.0 => /usr/lib64/libxcb-glx.so.0 (0x00007fd7000c5000)
libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0 (0x00007fd6ffebd000)
libxcb-dri3.so.0 => /usr/lib64/libxcb-dri3.so.0 (0x00007fd6ffcb5000)
libxcb-present.so.0 => /usr/lib64/libxcb-present.so.0 (0x00007fd6ffaad000)
libxcb-sync.so.1 => /usr/lib64/libxcb-sync.so.1 (0x00007fd6ff8a5000)
libxshmfence.so.1 => /usr/lib64/libxshmfence.so.1 (0x00007fd6ff69d000)
libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00007fd6ff495000)
libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007fd6ff285000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007fd6ff045000)
libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007fd6fed95000)
libEGL.so.1 => /usr/lib64/libEGL.so.1 (0x00007fd6feb6d000) libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007fd6fe92d000) libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007fd6fe725000) libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007fd6fe515000) libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007fd6fe2b5000) libffi.so.4 => /usr/lib64/libffi.so.4 (0x00007fd6fe0a5000) libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007fd6fde3d000) libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007fd6fdc2d000) libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00007fd6fda05000) libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x00007fd6fd7dd000) libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007fd6fd5d5000) libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007fd6fd3c5000) libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007fd6fd1bd000) libpulsecommon-7.0.so => /usr/lib64/pulseaudio/libpulsecommon-7.0.so (0x00007fd6fcf3d000) libjson-c.so.2 => /usr/lib64/libjson-c.so.2 (0x00007fd6fcd2d000) libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007fd6fcae5000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fd6fc75d000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fd6fc545000) libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x00007fd6fc31d000) libv4lconvert.so.0 => /usr/lib64/libv4lconvert.so.0 (0x00007fd6fc0a5000) libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fd6fbe9d000) libxcb-xfixes.so.0 => /usr/lib64/libxcb-xfixes.so.0 (0x00007fd6fbc95000) libgbm.so.1 => /usr/lib64/libgbm.so.1 (0x00007fd6fba85000) libwayland-client.so.0 => /usr/lib64/libwayland-client.so.0 (0x00007fd6fb875000) libwayland-server.so.0 => /usr/lib64/libwayland-server.so.0 (0x00007fd6fb65d000) libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007fd6fb42d000) libsystemd.so.0 => /usr/lib64/libsystemd.so.0 (0x00007fd6fb1fd000) libsndfile.so.1 => /usr/lib64/libsndfile.so.1 (0x00007fd6faf8d000) libjpeg.so.8 => /usr/lib64/libjpeg.so.8 (0x00007fd6fad35000) liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007fd6fab0d000) libgcrypt.so.20 => /usr/lib64/libgcrypt.so.20 (0x00007fd6fa825000) libFLAC.so.8 => /usr/lib64/libFLAC.so.8 (0x00007fd6fa5e5000) libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2 (0x00007fd6fa115000) libspeex.so.1 => /usr/lib64/libspeex.so.1 (0x00007fd6f9ef5000) libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x00007fd6f9ced000) libogg.so.0 => /usr/lib64/libogg.so.0 (0x00007fd6f9ae5000) libvorbis.so.0 => /usr/lib64/libvorbis.so.0 (0x00007fd6f98b5000)
From ldd
output I can tell that all dependencies are fine, it should work.
Just to be sure, try to run from root:
touch /usr/lib64/browser-plugins/libfreshwrapper-flashplayer.so
That will update timestamp on that file. Then try to restart Firefox and look into about:plugins
again.
after i touch /usr/lib64/browser-plugins/libfreshwrapper-flashplayer.so
, flashplayerplugin works now!
but why delete pluginreg.bat
does not work ? doesn't delete pluginreg.bat
force firefox to rescan all plugins ?
but why delete pluginreg.bat does not work?
There could a more sophisticated checks inside source code. Or it could be you removed some other file, or perhaps, from another profile.
my openSUSE Leap 42.1 and my firefox are totally fresh installations. i didn't remove any files, maybe there is a more sophisticated check we don't know, as you said. thanks again!
i installed
freshplayerplugin-0.3.4-18.1.x86_64.rpm
. this package's contents:firefox detect plugins in the following directories, including
/usr/lib64/browser-plugins
plz refer to https://developer.mozilla.org/en-US/docs/Plugins/Guide/Plug-in_Basics if needed.
the question is : by default, firefox can not detect flash player plugin, (checked through
about:plugins
), although flashplayer plugin is supposed to be detected. but when i copy/usr/lib64/browser-plugins/libfreshwrapper-flashplayer.so
into~/.mozilla/plugins
, it CAN detect flash player plugin, (checked throughabout:plugins
) and if i make a symlink to/usr/lib64/browser-plugins/libfreshwrapper-flashplayer.so
in~/.mozilla/plugins
, it also CAN NOT detect flash player plugin, (checked throughabout:plugins
) can you please tell me why ? many thanks!firefox:45 os:openSUSE Leap 42.1 64bit