Flash Plugin on FreeBSD
Problem to solve
Make a recent flash player plugin work in firefox on FreeBSD 6.
Update
There is a new article on enabling the linux-flash7 plugin with native browsers.
With the release of FreeBSD 6.2 and the update on linuxpluginwrapper this tutorial has become obsolete. It’s only recommended if you need to stick with an older version of freebsd and/or flashplugin.
Solution
First thing to do is get this patch for /usr/src/libexec/rtld-elf/rtld.c, copy it in /usr/src and do the following: (you must have the source tree in /usr/src and the version of the sources must be the same with the version of the installed world, if they are different or you are not sure it’s probably best to rebuild your world ( FreeBSD world that is
) and kernel )
-
-
root#cd /usr/src
-
root#patch -p0 < rtld_dlsym_hack.diff
-
root#cd libexec/rtld-elf/
-
root#make && make install
-
After successfully installing the patch you need to fetch and unpack the linuxflashplayer7:
-
-
root#cd /usr/ports/www/linux-flashplugin7/
-
root#make fetch
-
root#cd /usr/local/lib/firefox/plugins/
-
root#tar zxvf /usr/ports/distfiles/flashplugin/7.0r68/install_flash_player_7_linux.tar.gz
-
root#cp install_flash_player_7_linux/libflashplayer.so libflashplayer.so
-
root#cp install_flash_player_7_linux/flashplayer.xpt flashplayer.xpt
-
Now make sure you have the plugin files ( libflashplayer.so and flashplayer.xpt ) in /usr/local/lib/firefox/plugins.You now need to install the linuxpluginwrapper:
-
-
root#cd /usr/ports/www/linuxpluginwrapper/ && make install clean
-
Finally you have to change /etc/libmap.conf:
-
-
[/usr/local/lib/firefox/plugins/libflashplayer.so]
-
libpthread.so.0 libpthread.so.2
-
libdl.so.2 pluginwrapper/flash7.so
-
libz.so.1 libz.so.3
-
libm.so.6 libm.so.4
-
libc.so.6 pluginwrapper/flash7.so
-
Now open your browser and go to about:plugins. Flash 7 plugins is active.
(this is my first tutorial post so be gentle with the comments
)
Tags:bsd, flash, flash7, FreeBSD, install, ports, solution
Related:Topics: FreeBSD



Works under FreeBSD 7-current two
If the dependency on linux-base is removed from linux-flashplugin ( the dependency is not needed ) the it souled be enough to just install the port as usually and not manually extract the files.
First of all, the plugins directory seems to be /usr/X11R6/lib/firefox/plugins instead of /usr/local/lib.
Firefox/mozilla crash (both native and linux versions) when loading a flash object
I get this error when visiting a Flash site:
The program ‘Gecko’ received an X Window System error.
This probably reflects a bug in the program.
The error was ‘BadMatch (invalid parameter attributes)’.
(Details: serial 84 error_code 8 request_code 145 minor_code 3)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the –sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Hi Rixk
The pugins directory was /usr/X11R6/lib until a recent update ( about 1 week ago ) when it was moved to /usr/local/lib ( see recent /usr/ports/UPDATING )
I have never seen your error so there is not much i can say about it. I’ve seen older firefox crash with older linux plugin versions … so if it’s an option try updating to more recent src / ports .
The sound seems to be woking also on regular swf files but still does not work on flv files like the ones from youtube.com
Flash 9 beta for linux is out.
Now the challenge is to make it work on freebsd. I’ve manage to have native firefox load the plugin but it crashes on any flash object. The crash seems to happen in libflashplugin.so with is the binary file from adobe and does not contain debug information. I’ve tried it with libpthread and also with libthr but nothing changed.
I’ll try installing the linux-firefox to see if the plugin works, but i don’t feel very comfortable installing the hole linux emulation layer.
PS: Its strange that i go to all this trouble just to have the flash plugin in freebsd’s native firefox and also use the noscript extension to block flash. In the end i guess it’s just the challenge that drives me.
On linux-firefox the plugin worked from the first shot but without sound. I was able so play an youtube movie but without sound.
Yep… I’m watching an youtube movie WITH sound on FreeBSD using linux emulation layer, linux-firefox and linux flashplugin 9 beta and libflashsupport ( for OSS sound ). It’s not very stable ( I’m experiencing crashes on youtube ) and being linux binaries i don’t feel like installing debugging tools for them, but anyway it’s a start. To bad it’s with the linux emulation. I’ll keep trying to make the plugin work with the native firefox.
Flash plugin on FreeBSD conclusion
I’ve managed to get the linux flash plugin 9 beta to work with linux-firefox. It plays anything including youtube movies with sound. It’s not rock stable as it crashed a few times … but only on youtube.
As for the native version of firefox i decided to stick with flash 7 because the flash 9 plugin even if recognized keeps crashing on any flash object without useful debugging information. It seems to crash when initializing the plugin and the crash always occurs in the same place but i have no more ideas on what to try. I’ve managed to get it recognized by the native firefox by extending linuxpluginwrapper and adding a flash9.so object that has all the flash7.so symbols and adding stdout,stderr,stdin and get_current_dir_name symbols. The flash9 plugin does not need the rtld patch.
I have nothing against linux-firefox and the linux emulation layer, but at least for me it does not feel right to run a linux binary when i can run a native one and thinking that i don’t need flash that much I’ll keep the linux-firefox around but use the native browser for daily browsing.
Thanks very much for your tutorial! It works great on my FreeBSD 6.1 install and using Firefox 2.0
I’ve just installed version 7.0r69 and works out of the box. Still waiting for updates on flash 9.
It works on 6.0 & 6.2
It works on 6.0 & 6.2f