Ubuntu – How to get WebEx fully working with Ubuntu 12.04

12.04javasoundwebex

I am trying to join a WebEx meeting from Ubuntu 12.04. I can join but I do not see the live chat messages, I hear no sound, and I cannot see the presentation. I have tried using Ubuntu 12.04 64-bit and 32-bit. The one time I was able to get it working, it was on 32-bit and the sound worked for a few minutes, but then stopped; I could see the presentation, but I could not see the chat messages. I have installed Oracle Java 7 from the webupd8 PPA and downloaded all Ubuntu updates as of today May 28th, 2013.

The WebEx system requirements page says they require Ubuntu 10.x or 11.x 32-bit. Does this mean in May of 2013 they do not support Ubuntu 12.04?!?

UPDATE May 29th: It seems I was looking at the old system requirements. It looks like these are the current WebEx system requirements. So, it says: "WebEx will support any Linux distribution as long as it meets the following minimum requirements:

  • Kernel: 2.6 or later
  • X Lib: X11R6 or later compatible
  • C++ Lib: libstdc++ 6
  • Desktop Environment, XFce 4.0 or later, KDE, Ximian, Gnome
  • GDK/GTK. version: 2.0 or later
  • Glib: 2.0 or later
  • Sun Java 1.5 or later"

I am stilling learning about Ubuntu and Linux, but I know that Ubuntu 12.04 comes with a newer kernel (3.2), uses the X11 window manager, Unity is based on Gnome, and I installed Oracle Java 7. When I search the software center for these other packages I am a bit confused since there are so many options. I am guessing that my problem is not having one or more of these packages and/or incompatible versions. Does anyone have any insight on this?

UPDATE May 30th 10am EST. I tried installing ia32-libs as recommended here; same problem. I enabled the java console; here is the output:

Java Plug-in 10.21.2.11
Using JRE version 1.7.0_21-b11 Java HotSpot(TM) 64-Bit Server VM
User home directory = /home/mrmccormack
----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
l:   dump classloader list
m:   print memory usage
o:   trigger logging
q:   hide console
r:   reload policy configuration
s:   dump system and deployment properties
t:   dump thread list
v:   dump thread stack
x:   clear classloader cache
0-5: set trace level to 
----------------------------------------------------
JDownload version 2009.03.03
Java version: 1.7.0_21
Java home: /usr/lib/jvm/java-7-oracle/jre
OS name: Linux
OS arch: amd64
OS version: 3.2.0-44-generic
[JDownload] Java Client Service home:https://join-test.webex.com/client/T27L10NSP25EP3/javaclient/webex/
[JDownload] Production home: /home/mrmccormack/.webex/1124
[MySystem version 2009.02.05.01]InitSystem ... 
###1 Runtime total memory: 78249984, free memory: 54440552
###2 Runtime total memory: 78249984, free memory: 68586336
###### try to load class DBR in MyCloassLoader2...
Loading native DBR...
java.lang.UnsatisfiedLinkError: /home/mrmccormack/.webex/1124/libdbr.so: /home/mrmccormack/.webex/1124/libdbr.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1838)
    at java.lang.Runtime.loadLibrary0(Runtime.java:845)
    at java.lang.System.loadLibrary(System.java:1084)
    at DBR.loadNativeDBR(DBR.java:22)
    at DBR.(DBR.java:93)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at java.lang.Class.newInstance0(Class.java:374)
    at java.lang.Class.newInstance(Class.java:327)
    at DB.reset(DB.java:192)
    at MySystem.InitSystem(MySystem.java:132)
    at JDownload.run(JDownload.java:253)
    at java.lang.Thread.run(Thread.java:722)
XXX[DBR]load native library failed
###1 Runtime total memory: 78249984, free memory: 67003992
###2 Runtime total memory: 78249984, free memory: 68922760
###### try to load class DBR in MyCloassLoader2...
Loading native DBR...
java.lang.UnsatisfiedLinkError: /home/mrmccormack/.webex/1124/libdbr.so: /home/mrmccormack/.webex/1124/libdbr.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1838)
    at java.lang.Runtime.loadLibrary0(Runtime.java:845)
    at java.lang.System.loadLibrary(System.java:1084)
    at DBR.loadNativeDBR(DBR.java:22)
    at DBR.(DBR.java:93)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at java.lang.Class.newInstance0(Class.java:374)
    at java.lang.Class.newInstance(Class.java:327)
    at DB.reset(DB.java:192)
    at MySystem.InitSystem(MySystem.java:132)
    at JDownload.run(JDownload.java:253)
    at java.lang.Thread.run(Thread.java:722)
XXX[DBR]load native library failed
###1 Runtime total memory: 78249984, free memory: 66904832
###2 Runtime total memory: 78249984, free memory: 68924592
###### try to load class DBR in MyCloassLoader2...
Loading native DBR...
java.lang.UnsatisfiedLinkError: /home/mrmccormack/.webex/1124/libdbr.so: /home/mrmccormack/.webex/1124/libdbr.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1838)
    at java.lang.Runtime.loadLibrary0(Runtime.java:845)
    at java.lang.System.loadLibrary(System.java:1084)
    at DBR.loadNativeDBR(DBR.java:22)
    at DBR.(DBR.java:93)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at java.lang.Class.newInstance0(Class.java:374)
    at java.lang.Class.newInstance(Class.java:327)
    at DB.reset(DB.java:192)
    at MySystem.InitSystem(MySystem.java:132)
    at JDownload.run(JDownload.java:253)
    at java.lang.Thread.run(Thread.java:722)
XXX[DBR]load native library failed
Begin of log initialization
initFileOutputStream() run ...
4
End of log initialization
Begin of WBXTracePallet initialization
1
End of WBXTracePallet initialization
Resource: svc
Resource: svc_en
Resource: svc_en_US

[SvcUI].................. SvcUI construct begin .................. 2010-05-02

[SvcUI].................. SvcUI construct end ..................

[SvcUI][init] type:0  IService:SvcUIService@326238b5  SVC component version 2010.07.27
###### try to load class JNRW in MyCloassLoader2...
java.lang.UnsatisfiedLinkError: /home/mrmccormack/.webex/1124/libatdv.so: /home/mrmccormack/.webex/1124/libatdv.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1838)
    at java.lang.Runtime.loadLibrary0(Runtime.java:845)
    at java.lang.System.loadLibrary(System.java:1084)
    at JNRW.(JNRW.java:45)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at java.lang.Class.newInstance0(Class.java:374)
    at java.lang.Class.newInstance(Class.java:327)
    at jDocView.CreateDocViewUI(jDocView.java:629)
    at jDocView.PDNewInstance(jDocView.java:4293)
    at MeetingClientFrame.(MeetingClientFrame.java:289)
    at jmeetingclient.constructMainFrame(jmeetingclient.java:325)
    at ConfMgr.connectToMeeting(ConfMgr.java:197)
    at jmeetingclient.init(jmeetingclient.java:275)
    at JDownload.run(JDownload.java:278)
    at java.lang.Thread.run(Thread.java:722)
XXX[JNRW]load native library failed
###1 Runtime total memory: 78249984, free memory: 44387408
###2 Runtime total memory: 78249984, free memory: 64752880
java.lang.UnsatisfiedLinkError: /home/mrmccormack/.webex/1124/libatdv.so: /home/mrmccormack/.webex/1124/libatdv.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1838)
    at java.lang.Runtime.loadLibrary0(Runtime.java:845)
    at java.lang.System.loadLibrary(System.java:1084)
    at JNRW.(JNRW.java:45)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at java.lang.Class.newInstance0(Class.java:374)
    at java.lang.Class.newInstance(Class.java:327)
    at jDocView.CreateDocViewUI(jDocView.java:629)
    at jDocView.PDNewInstance(jDocView.java:4293)
    at MeetingClientFrame.(MeetingClientFrame.java:289)
    at jmeetingclient.constructMainFrame(jmeetingclient.java:325)
    at ConfMgr.connectToMeeting(ConfMgr.java:197)
    at jmeetingclient.init(jmeetingclient.java:275)
    at JDownload.run(JDownload.java:278)
    at java.lang.Thread.run(Thread.java:722)
XXX[JNRW]load native library failed
###1 Runtime total memory: 78249984, free memory: 64549200
###2 Runtime total memory: 78249984, free memory: 66873512
java.lang.UnsatisfiedLinkError: /home/mrmccormack/.webex/1124/libatdv.so: /home/mrmccormack/.webex/1124/libatdv.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1838)
    at java.lang.Runtime.loadLibrary0(Runtime.java:845)
    at java.lang.System.loadLibrary(System.java:1084)
    at JNRW.(JNRW.java:45)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at java.lang.Class.newInstance0(Class.java:374)
    at java.lang.Class.newInstance(Class.java:327)
    at jDocView.CreateDocViewUI(jDocView.java:629)
    at jDocView.PDNewInstance(jDocView.java:4293)
    at MeetingClientFrame.(MeetingClientFrame.java:289)
    at jmeetingclient.constructMainFrame(jmeetingclient.java:325)
    at ConfMgr.connectToMeeting(ConfMgr.java:197)
    at jmeetingclient.init(jmeetingclient.java:275)
    at JDownload.run(JDownload.java:278)
    at java.lang.Thread.run(Thread.java:722)
XXX[JNRW]load native library failed

[SvcUI][onMessageFromService] SET_ROSTER_CHANGED:220  change:1  SvcUI:743824904

[SvcUI][setRosterChanged] index:-1  change:1  userID:16781313  attendeeID:3  userID:16781313  userName:Kevin U12 Desktop  isHost:false  isPresenter:false
chat component version = 2010.05.18.1040
Resource: atlchat
Resource: atlchat_en
Resource: atlchat_en_US
notes component version = 2010.04.27.0001
Resource: atnotes
Resource: atnotes_en
Resource: atnotes_en_US
Exception in thread "AWT-EventQueue-3" java.lang.IllegalStateException: This function should be called while holding treeLock
    at java.awt.Component.checkTreeLock(Component.java:1196)
    at java.awt.Container.validateTree(Container.java:1682)
    at WbxComboBox.matchItemFont(WbxComboBox.java:188)
    at WbxComboBox.setSelectedItem(WbxComboBox.java:170)
    at ChatUI.setNonListItem(ChatUI.java:1142)
    at ChatUI.updateSendToItems(ChatUI.java:1099)
    at ChatUI.updateSendTo(ChatUI.java:895)
    at simpleChat$1.run(simpleChat.java:310)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:688)
    at java.awt.EventQueue$3.run(EventQueue.java:686)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Exception in thread "AWT-EventQueue-3" java.lang.IllegalStateException: This function should be called while holding treeLock
    at java.awt.Component.checkTreeLock(Component.java:1196)
    at java.awt.Container.validateTree(Container.java:1682)
    at ChatControlPane.access$100(ChatControlPane.java:61)
    at ChatControlPane$1$1.run(ChatControlPane.java:120)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:688)
    at java.awt.EventQueue$3.run(EventQueue.java:686)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Exception in thread "AWT-EventQueue-3" java.lang.IllegalStateException: This function should be called while holding treeLock
    at java.awt.Component.checkTreeLock(Component.java:1196)
    at java.awt.Container.validateTree(Container.java:1682)
    at ChatControlPane.access$100(ChatControlPane.java:61)
    at ChatControlPane$1$1.run(ChatControlPane.java:120)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:688)
    at java.awt.EventQueue$3.run(EventQueue.java:686)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Exception in thread "AWT-EventQueue-3" java.lang.IllegalStateException: This function should be called while holding treeLock
    at java.awt.Component.checkTreeLock(Component.java:1196)
    at java.awt.Container.validateTree(Container.java:1682)
    at ChatControlPane.access$100(ChatControlPane.java:61)
    at ChatControlPane$1$1.run(ChatControlPane.java:120)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:688)
    at java.awt.EventQueue$3.run(EventQueue.java:686)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

Best Answer

For those of you who are still struggling with this...

I have tried many steps and recommendations from other posts and nothing has worked for me in Firefox (Ubuntu 16.04 64bit).

The only way for me to get Webex fully working was to install VirtualBox and then install Windows as a virtual OS. Yes, it's a bit inconvenient to run a virtual OS each time you need Webex, but you can be 100% certain that it will work perfectly (voice, video, screen sharing).

Good luck!