4

Colleagues would like to communicate in a videoconference using Cisco Webex. This requires the Java plugin for Firefox/Iceweasel. Based on this blog, I installed the web browser plugin based on OpenJDK 7 and IcedTea:

apt-get install icedtea-7-plugin

I have access to the webex audio menu, but there is no sound. Webex uses a proprietary 32 bit sound application, according to this page concerning Fedora the only fix to the sound issue seems to install a 32 bit version of Firefox / Iceweasel and of the java plugin.

I enabled Multiarch as explained in this Debian HowTo:

dpkg --add-architecture i386

I removed the 64 bit version of the java plugin (to avoid the error trying to overwrite shared '/usr/bin/policyeditor', which is different from other instances of package icedtea-netx:i386)

apt-get remove icedtea-7-plugin

Then I installed 32 bit version of packages:

apt-get install iceweasel:i386
apt-get install icedtea-7-plugin:i386
apt-get install binutils:i386 # required for flashplugin
apt-get install flashplugin-nonfree:i386
apt-get install flashplugin-nonfree-extrasound:i386

I tried installing a few other 32 bit packages without success.Fedora user negativo17 suggests installing Mesa’s libEG due to 2014 Mesa updates. I though It might help to install xserver-xorg-core for the 32 bit architecture. Somehow one of these steps broke the x-server:

apt-get install libegl1-mesa:i386 # suggested by Fedora user
apt-get install libepoxy0:i386 # for xorg
apt-get install xserver-xorg-core:i386 # because libegl1 reverse depends on it and I guessed the window system should also be in 32 bit for the above to work.

Now that iceweasel and the java plugin icedtea are installed in 32 bit. The Java webex interface starts but sound is still not working and I don't have access to the webex audio menu. Screen sharing is also not available.

Fedora user negativo17 suggests installing packages for the i386 architecture. What architecture is recommended, should it be i386 or i686?

  • It sounds like you have a solution. There is no issue with installing 32 bit applications on 64 bit Debian, and it looks like you know how to do that. What do you need help with? – fixer1234 Jun 9 '15 at 8:52
  • I need help with starting the 32 bit programs. the command "iceweasel" starts the 64 bit version of the program. And I might also need an alternative approach to install the non free 32 bit flash plugin as it is entering in conflict with the 64 bit version. – Paul Rougieux Jun 9 '15 at 13:38
  • 1
    An alternative may be to isolate the 32-bit programs and libraries in a chroot (this is the 'old-fashioned' pre-multiarch way). The schroot package may be of help with this. – Toby Speight Jun 9 '15 at 13:43
  • Just uninstall the 64 bit programs and install the 32 bit programs. – fixer1234 Jun 9 '15 at 19:15
  • @fixer1234 that is what I did, replacining 64 bit Iceseasel and the java plugin by the 32 bit version. Then adding more and more 32 bit libraries, until I finally broke my x server. Still without success concerning webex sound. – Paul Rougieux Jun 11 '15 at 8:24
0

As the comments suggest, the usual way is to replace your iceweasel:amd64 package with the iceweasel:i386 package and let the dependencies work through. This is fine if all the dependent libraries are correctly multiarch compatible, but in cases where this doesn't work, a chroot install may be the best option.

To set up such a chroot the Debian way:

  1. Ensure you are running a kernel that can execute IA32 ELF binaries.
  2. Install schroot and cdebootstrap.
  3. Create a directory of your choice (I'll use /usr/local/roots/i386) and run cdebootstrap -a i386 -f minimal --include "iceweasel" testing /usr/local/roots/i386 (replace testing with sid or jessie or your choice of Debian release; add any other options you need).
  4. Configure schroot to use this directory as a chroot (in /etc/schroot/chroot.d/i386):
    [i386]
    type=directory
    directory=/usr/local/roots/i386
    profile=default
    The default profile should already have bind mounts for /home etc - check in /etc/schroot/default/fstab to be sure.

Now you should be able to change into the schroot (schroot -c i386) and then start Iceweasel (or sudo aptitude install additional packages); you can start it in the chroot directory all in one command: schroot -c i386 iceweasel.

There's one caveat to all the above: iceweasel is actually a wrapper script, that looks for a running Iceweasel connected to $DISPLAY, and if so, uses its remote control protocol to open a new window. So if you're running the 64-bit Iceweasel, then that will be invoked even though you thought you were starting a new 32-bit instance. So you will need to close any native instances before starting the one in your chroot.

  • Thank you, I will try to install schroot over the summer and will comment back if it works. I have replaced the webex meeting by a phone meeting for the moment. – Paul Rougieux Jun 16 '15 at 7:32

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.