Version Mismatch on BIRT Report Viewer
My BIRT report viewer which is deployed on a Tomcat server used to work without any problem. Lately I have been getting the following error:
Exception
version mismatch
and "show exception stack trace" link.
When I clicked on the link "show exception stack trace" I got an empty stack trace. This was strange because nothing was changed on the server which runs the database or the BIRT report viewer. The only thing that did changed was my operating system. I upgraded my Ubuntu Linux to Ubuntu Hardy Heron 8.04 LTS which comes with Firefox 3 beta. It appears that the BIRT report viewer version mismatch problem is somehow related to Firefox 3. This version mismatch problem does not exists when using a different browser.
BIRT is an open source Eclipse-based Java reporting system.
This problem has been fixed in BIRT 2.3
Thursday, May 29, 2008 | 0 Comments
libstdc++2.10-glibc2.2 on Linux Ubuntu Hardy 8.04
The libstdc++2.10-glibc2.2 package is not on the Ubuntu Hardy 8.04 Linux repositories so it can't be installed using apt-get or synaptic package manager.
$ sudo apt-get install libstdc++2.10-glibc2.2
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libstdc++2.10-glibc2.2 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source
E: Package libstdc++2.10-glibc2.2 has no installation candidate
In order to install libstdc++2.10-glibc2.2 on Ubuntu hardy 8.04 Linux, you need to download libstdc++2.10-glibc2.2_2.95.4-24_i386.deb and install it using dpkg:
wget mirrors.kernel.org/ubuntu/pool/universe/g/gcc-2.95/libstdc++2.10-glibc2.2_2.95.4-24_i386.deb
sudo dpkg --install libstdc++2.10-glibc2.2_2.95.4-24_i386.deb
libstdc++2.10-glibc2.2 contains libstdc++-libc6.2-2.so.3 which is required by Eclipse tptp agent controller, Eclipse based Java profiler.
The upgrade from Ubuntu Gutsy 7.10 Linux to Ubuntu Hardy 8.04 Linux removes the package. Because of this the Eclipse tptp Agent Controller fails to start.
$ ./ACStart.sh
Starting Agent Controller.
ACServer: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory
ACServer failed to start.
Monday, April 28, 2008 | 1 Comments
Eclipse DbUnit Plugin
The eclipse DbUnit plugin in eclipse 3.3 is a shell project and is missing the DbUnit jars.
Because of this, the DbUnit Test Case wizard fails with the following error:
Creation of element failed.
java.lang.reflect.InvocationTargetException
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:383)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:313)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:934)
at org.eclipse.ui.internal.progress.ProgressManager$5.run(ProgressManager.java:1149)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.progress.ProgressManager.runInUI(ProgressManager.java:1142)
at org.eclipse.datatools.enablement.jdt.dbunit.internal.wizards.DbUnitWizard.finishPage(DbUnitWizard.java:69)
at org.eclipse.datatools.enablement.jdt.dbunit.internal.wizards.NewTestCaseCreationWizard.performFinish(NewTestCaseCreationWizard.java:63)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:742)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:373)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:618)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1101)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3319)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2971)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
at org.eclipse.jface.window.Window.open(Window.java:796)
at org.eclipse.ui.internal.actions.NewWizardShortcutAction.run(NewWizardShortcutAction.java:135)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:546)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1101)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3319)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2971)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
Caused by: java.lang.NoClassDefFoundError
at org.eclipse.datatools.enablement.jdt.dbunit.internal.wizards.NewDbUnitTestCaseWizardPage1.class$(NewDbUnitTestCaseWizardPage1.java:674)
at org.eclipse.datatools.enablement.jdt.dbunit.internal.wizards.NewDbUnitTestCaseWizardPage1.createGetDataSet(NewDbUnitTestCaseWizardPage1.java:673)
at org.eclipse.datatools.enablement.jdt.dbunit.internal.wizards.NewDbUnitTestCaseWizardPage1.createTypeMembers(NewDbUnitTestCaseWizardPage1.java:520)
at org.eclipse.jdt.ui.wizards.NewTypeWizardPage.createType(NewTypeWizardPage.java:2053)
at org.eclipse.jdt.ui.wizards.NewTypeWizardPage$7.run(NewTypeWizardPage.java:2543)
at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:68)
at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:101)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:113)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:369)
... 46 more
Caused by: java.lang.ClassNotFoundException: org.dbunit.dataset.IDataSet
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:434)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:369)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:357)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
... 56 more
In order to fix the problem we need to fetch the missing DbUnit jars by running the fetch-lib.xml ANT script in the DbUnit plugin directory (plugins/org.dbunit_2.2.0.200706071).
<?xml version="1.0"?>
<project default="main" basedir=".">
<target name="main">
<mkdir dir="libs" />
<property name="base.url" value="http://superb-west.dl.sourceforge.net/sourceforge/dbunit"/>
<get usetimestamp="true" src="${base.url}/dbunit-2.2.jar" dest="libs/dbunit-2.2.jar" />
<get usetimestamp="true" src="${base.url}/dbunit-2.2.jar" dest="libs/dbunit-2.2-javadoc.jar" />
<get usetimestamp="true" src="${base.url}/dbunit-2.2.jar" dest="libs/dbunit-2.2-sources.jar" />
<eclipse.refreshLocal resource="org.dbunit" depth="4"/>
</target>
</project>
Another options is to download the DbUnit jar manually to the DbUnit libs plugin directory. We will need to copy the file to libs/dbunit-2.2.jar, libs/dbunit-2.2-javadoc.jar and libs/dbunit-2.2-sources.jar.
Sunday, April 06, 2008 | 0 Comments
Deploying BIRT to J2EE Server
Eclipse BIRT report viewer can be deployed on a J2EE Server
In order to use a JDBC driver in the BIRT viewer, the driver jar file needs to be in the viewer drivers directory. On BIRT 2.2.2 it is:
/WEB-INF/platform/plugins/org.eclipse.birt.report.data.oda.jdbc_2.2.2.r22x_v20071206/drivers
On BIRT 2.3 it is:
/WEB-INF/platform/plugins/org.eclipse.birt.report.data.oda.jdbc_2.3.0.v20080610/drivers
If you are using Firefox 3 you might have noticed the Version Mismatch error. In this case you will need to use a different browser or to upgrade your BIRT version to 2.3
Thursday, March 20, 2008 | 0 Comments
TPTP Agent Controller on Ubuntu 7.10
Prerequisites:
The Eclipse tptp Agent Controller is compiled using libstdc++-libc6.2-2.so.3. If we don't have it under /usr/lib, then we need to install it:
sudo apt-get install libstdc++2.10-glibc2.2
Using Ubuntu Hardy 8.04? take a look here on how to install libstdc++2.10-glibc2.2
Agent Controller Installation:
$ sudo mkdir /opt/agntctrl.linux_ia32-TPTP-4.4.1
$ sudo ln -s /opt/agntctrl.linux_ia32-TPTP-4.4.1 /opt/tptpAC
$ cd /opt/tptpAC/
$ sudo unzip /home/shimi/agntctrl.linux_ia32-TPTP-4.4.1.zip
Run the configuration script. The script will create the Eclipse tptp Agent Controller configuration file /opt/tptpAC/config/serviceconfig.xml
$ cd bin
$ sudo SetConfig.sh
Add the following lines to ~/.bashrc
PATH=$PATH:/opt/tptpAC/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/tptpAC/lib
TEMP=/tmp
Change the first line in the scripts ACStart.sh and ACStop.sh from#!/bin/sh
to#!/bin/bash
Thursday, March 13, 2008 | 1 Comments