Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 08 Oct 2006 14:38:18 -0700
From:      Sean McNeil <sean@mcneil.com>
To:        Robert Gilaard <zouk@tiscali.nl>
Cc:        freebsd-java@freebsd.org, freebsd-eclipse@freebsd.org
Subject:   Re: Eclipse SWT question
Message-ID:  <1160343498.38490.26.camel@triton.mcneil.com>
In-Reply-To: <1160299304.809.14.camel@zouk.tiscali.nl>
References:  <1160299304.809.14.camel@zouk.tiscali.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Robert,

On Sun, 2006-10-08 at 11:21 +0200, Robert Gilaard wrote:
> Hi folks,
>=20
> I've been trying to run pentaho's design report wizard (Pentaho being
> the sourceforge project of the month and very popular open source
> Business Intelligence platform) on my freebsd amd64 system running
> freebsd 6 where I've installed diablo-jdk.
>=20
> The report design wizard seems to use some SWT stuff and I can't start
> the application. I've asked the pentaho people and they have responded
> like this:
>=20
> Quote from pentaho mailinglist
> Hi,
>=20
> the problem lies within the SWT. That thing is not Java - its plain C/C
> ++ with all the ugly dependencies that come with it. So "run anywhere"
> works only, as long as no SWT is involved. (Say thanks to IBM (and its
> war against Sun) for that.)
>=20
> The most likely cause is, that FreeBSD is not Linux. It may smell like
> Linux - but it uses a different library layout. You will have to replace
> the linux-specific libraries against FreeBSD libs.
>=20
> Now you have two choices:
>=20
> (a) If there's an Linux-compatiblity-layer, you can try that one.=20
> (b) If that fails, you have to compile the libraries yourself. (Or try
> to find a precompiled version. Eclipse.org ignores FreeBSD, so there are
> no official builds from them)
>=20
> The ReportDesigner works, as that one is 100%-Pure Java with no SWT
> involved.
>=20
> Regards,
> Thomas
> Unquote

This is slightly misleading.  Yes, you have the Linux SWT libraries in
your environment, but SWT is compiled and works for Eclipse just fine.
In particular, the library that shows the problem below is in the
org.eclipse.osgi bundle.  I'm not sure why pentaho isn't just an
extension to eclipse and then use the bundled OSGI. It appears they have
their own.  In my environment, I have

/usr/local/eclipse/configuration/org.eclipse.osgi/bundles/18/1/.cp/libswt-p=
i-gtk-3139.so

At this point, I am unsure if it is from an older installation of
Eclipse or not.  This would be the one you want to use, though.  You
have to match environments. Check with the "file" command:

/usr/local/eclipse/configuration/org.eclipse.osgi/bundles/18/1/.cp/libswt-p=
i-gtk-3139.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (FreeBSD=
), stripped

I'm certain you will find the other library is not for FreeBSD.

The other possibility (option (a) above) is that pentaho is complete
with it's own eclipse environment and built for Linux.  In that case,
you could build a FreeBSD kernel with Linux compatibility, install
appropriate ports, and run with a Linux Java version such as
linux-sun-jdk15.

> Now I want to know how to proceed. Am I on a dead end or is there a way
> out?
>=20
> The error I was reporting is:
>=20
> My reportwizard_linux.sh file looks like:
>=20
> #!/bin/sh
>=20
> if [ "$LD_LIBRARY_PATH" =3D "" ]; then
> LD_LIBRARY_PATH=3D/usr/X11R6/lib/mozilla
> export LD_LIBRARY_PATH
> fi
>=20
> if [ "$MOZILLA_FIVE_HOME" =3D "" ]; then
> MOZILLA_FIVE_HOME=3D/usr/X11R6/lib/mozilla
> export MOZILLA_FIVE_HOME
> fi
>=20
> java
> -cp ./resources:./bin:./classes:./lib/pentaho-reporting-1.2.0.jar:./lib/a=
ctivation.jar:./lib/asm- attrs.jar:./lib/bsf-2.3.0.jar:./lib/bsh-1.3.0.jar:=
./lib/castor-1.0.1.jar:./lib/commons-logging.jar: ./lib/commons-collections=
-3.1.jar:./lib/commons-dbcp-1.2.1.jar:./lib/commons-pool-1.2.jar:./lib/ dom=
4j-1.6.1.jar:./lib/eigenbase-properties.jar:./lib/eigenbase-resgen.jar:./li=
b/eigenbase-xom.jar:./ lib/itext-1.4.jar:./lib/javacup.jar:./lib/jaxen.jar:=
./lib/jcommon-logging-log4jlog-1.0.2.jar:./lib/ jcommon-1.0.5.jar:./lib/jco=
mmon-xml-1.0.5.jar:./lib/jfreereport-0.8.7-6.jar:./lib/js.jar:./lib/jug- lg=
pl-2.0.0.jar:./lib/libfonts-0.1.9.jar:./lib/log4j-1.2.8.jar:./lib/mondrian.=
jar:./lib/pentaho.jar: ./lib/pixie-0.8.6.jar:./lib/poi-3.0-alpha1-20050704.=
jar:./lib/libloader-0.1.2.jar:./lib/saxon8.jar: ./lib/saxon8-dom.jar:./lib/=
saxon8-jdom.jar:./lib/saxon8-sql.jar:./lib/saxon8-xom.jar:./lib/saxon8- xpa=
th.jar:./lib/simple-jndi-0.11.1.jar:./lib/xercesImpl.jar:./lib/xml-apis.jar=
:./lib/ org.eclipse.core.runtime_3.1.0.jar:./lib/swt-linux/linux-swt.jar:./=
lib/nicky.jar:./lib/jfreechart- 1.0.1.jar:./lib/commons-httpclient-3.0-rc4.=
jar:./lib/commons-fileupload-1.0.jar:./lib/commons-codec- 1.3.jar:./lib/com=
mons-math-1.0.jar -Djava.library.path=3D./lib/swt-linux/:/usr/X11R6/lib/moz=
illa org.pentaho.jfreereport.wizard.ReportWizard
>=20
> Here I've changed the LD_LIBRARY_PATH and MOZILLA_FIVE_HOME environment
> vars and I dropped my postqresql jdbc driver in the lib/jdbc folder as
> the documentation suggested but after I issue sh reportdesigner_linux.sh
> I get the following error message:
>=20
> [rgilaard@zouk /usr/home/rgilaard/RDW]$ sh reportwizard_linux.sh
> Exception in thread "main"
> java.lang.UnsatisfiedLinkError: /usr/home/rgilaard/RDW/lib/swt-linux/libs=
wt-pi-gtk-3232.so: /usr/home/rgilaard/RDW/lib/swt-linux/libswt-pi-gtk-3232.=
so: unsupported file layout
> at java.lang.ClassLoader$NativeLibrary.load(Native Method)
> at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
> at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
> at java.lang.Runtime.loadLibrary0(Runtime.java:822)
> at java.lang.System.loadLibrary(System.java:992)
> at org.eclipse.swt.internal.Library.loadLibrary(Library.java:123)
> at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:22)
> at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
> at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
> at org.eclipse.swt.widgets.Display.<clinit>(Display.java:126)
> at
> org.pentaho.jfreereport.wizard.ReportWizard.<clinit>(ReportWizard.java:12=
2)
> [rgilaard@zouk /usr/home/rgilaard/RDW]$
>=20
> So what can I do now?
>=20
>=20
>=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1160343498.38490.26.camel>