woensdag 13 februari 2013

Running Webex under 12.04 Ubuntu 64-bit

After following many other tutorials around and bumping always into problems I finally found a way to get Webex running fine (meaning with sound) in my Ubuntu 12.04 64-bit box.

The problem is due to the fact that webex needs java 32-bit which not compatible with a 64 bit running firefox nor java.

The typical non invasive solution found in the net in many different flavors is to install Sun's Java 32 bit and a 32 bit version of firefox (another alternative is to patch the wrapper such that firefox 64 bit is able to call java 32 bit... a rather tricky business). This however fails to start the sound system due to, apparently, an issue between Sun's java and pulseaudio. It gives the error "Audio device is unaccessible now"...

It turns out that the IcedTea7 java plugin which is packaged with Ubuntu does not suffer from this audio issue and works fine with pulseaudio and webex. So this made the trick and it is much easier to install. We just need the 32 bit version of it, which Ubuntu also offers.
Here come the steps to make it work:

1.- Get a 32 bit firefox.
One could do:
sudo apt-get install firefox:i386
but this removes the 64 bit firefox which, well, we want to keep. So, don't need to do that.
What I did was to download firefox from their website (be sure it is a 32 bit one) and decompress it. I had this done few times already, so I just took an older firefox I had lying around. I guess if you have been trying to get webex to work you have few as well otherwise there is lots of sources where to get this from. Ah! before I forget, you need to do:
sudo apt-get install ia32-libs
to have the basic 32 bit libraries.

2.- Install java and the plugin:
sudo apt-get install icedtea-7-plugin:i386
This will install a bunch of 32-bit packages to get this version of java running in 32 bit. 

3.- Tell our 32 bit firefox to use the 32 bit java.
Go to the directory where we decompressed firefox in step 1 and do in the plugins subdirectory:
ln -s /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/IcedTeaPlugin.so

4.- Run your 32bit firefox using MyFirefoxInstallDir/firefox from the command line and... off you go!
Surely you can make a small shell script that does the launching, or get an icon on your desktop. Lots of info on how to do this around.

This worked for me on 2 different machines with sound and ppt/application sharing. I hope it works for you as well and it spares you the many hours I spent in getting this hell sorted out. I hope it is clear enough as well...
Well, I'm sure it will work at most until the next release of any of the components when it surely everything will fail again.

It is possible that things fail if you do other java stuff, I'm not sure. I just start this 32bit firefox to get to webex and do nothing else with it.  The times I have tested I didn't have another firefox (64-bit) running (you should pass the flag "--no-remote" as people describe for these 2 firefox not to interfere).

I also had to remove the ~/.webex directory every now and then (this happened also with a 32 bit fedora virtual box I typically used to get to webex) otherwise webex wouldn't even start. 

dinsdag 6 mei 2008

Multiple compilation using vim latex-suite and pdf

OOOooops... my first blog, my first crap message... good start. I write this down since I already forgot once... no will to research again... hopefully it helps someone as well...

I've been annoyed by the fact that (at least by default) the latex suite in vim does not perform multiple compilation when the target is set to pdf. It compiles just once and bye bye! using dvi it works nicely.

I repaired that once, but when I updated Ubuntu to Hardy the changes in the file were overwritten...

The solution I found was brute force:
Edit the file: compile.vim (which in Ubuntu is in the /usr/share/vim/addons/ftplugin/latex-suite/ directory).

This file contains (line 183):
if Tex_GetVarValue('Tex_MultipleCompileFormats') =~ '\<'.s:target.'\>'
call Tex_Debug("Tex_RunLaTeX: compiling file multiple times via Tex_CompileMultipleTimes", "comp")
call Tex_CompileMultipleTimes()
else
call Tex_Debug("Tex_RunLaTeX: compiling file once via Tex_CompileLatex", "comp")
call Tex_CompileLatex()
endif

I just commented the if statement and the whole else clause leaving to:
call Tex_Debug("Tex_RunLaTeX: compiling file multiple times via Tex_CompileMultipleTimes", "comp")
call Tex_CompileMultipleTimes()


and that's it. It does the trick. Surely there is a better way to do that... so if you know just let me know... by now I'll go on like that.

Have a nice day!
Ruben