Difference between revisions of "BIRT/FAQ/Linux"
Revision as of 11:13, 10 July 2006
Back to BIRT FAQ Index
Mozilla Browser on Linux
Q: BIRT doesn't work on Debian Linux. What can I do?
BIRT uses a browser for report preview. Eclipse works with a specific version of the Mozilla browser. See the SWT Linux Browser FAQ for details.
If you have an incorrect version, an error message similar to the following may appear in your log file:
!MESSAGE No more handles (java.lang.UnsatisfiedLinkError: ... /org.eclipse.swt.gtk_3.0.1/os/linux/x86/libswt-mozilla-gtk-3063.so: undefined symbol: _ZN9nsCStringC1Ev
That is, different versions of the Mozilla browser may not be binary compatible with the version used by Eclipse, resulting in the undefined symbol errors.
Check your browser version:
# mozilla -version Mozilla 1.7.6, Copyright (c) 2003-2004 mozilla.org, build 2005032401
If it is incorrect (according to the FAQ above), switch to the correct version. Here's how to do this on Debian Linux:
Uninstall your current Mozilla browser.
Fetch mozilla-1.6-xft-gtk2-pc-linux.tar.bz2 from mozilla.org and install it in /usr/local/mozilla/mozilla
Add /usr/local/mozilla/mozilla to /etc/ld.so.conf and run ldconfig to get the libpath updated.
Check that Eclipse uses your new Mozilla installation by issuing the following command:
ldd <path to eclipse>/eclipse/plugins/org.eclipse.swt.gtk_3.0.1/os/linux/x86/libswt-mozilla-gtk-3063.so libxpcom.so => /usr/local/mozilla/mozilla/libxpcom.so .....
If libxpcom.so points to your newly installed Mozilla, you are on the right track. But if you start Eclipse and run BIRT you may now get the following new error:
org.eclipse.swt.SWTError: No more handles [Unknown mozilla path]
To resolve this error, add the following to the .bashrc file in your home directory:
MOZILLA_FIVE_HOME=/usr/local/mozilla/mozilla export MOZILLA_FIVE_HOME
To be sure the new environment variable is sourced, open a console and type:
Now run Eclipse from the same terminal. cd to you eclipse home and type ./eclipse and you should be home free.