Matt Ingenthron's Stream of Consciousness

All | Automotive Enthusiasm | General | Java | Music | Net Culture | OpenSolaris | PhonePics
« Walking!?! in L.A.?!... | Main | April LA Java Users... »
20050329 Tuesday March 29, 2005

A brief experience with SWT

Okay, so one of the reasons I've not blogged a whole lot lately is that I've not been reading blogs very much lately. Mostly that was due to a large workload, but it was also because I'd never really settled on an RSS/Atom newsreader.

So I poked at the search engine with "java RSS newsreader atom" and it came back with RSSOwl. Hmmm.... This is weird-- it's written in Java and has different packaging for different platforms. Ah well-- let's grab the Solaris one. One quick download later, I fire it up and.... man is this thing ugly. It's using the Motif look and feel. Why did they code that in as the default. No big deal. I need to modify the startup script it came with to use Tiger anyway.

vi the run.sh, add in -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel, set the path to Tiger and run it. It still looks horrid. What's with this?

Well, you've probably figured it out from the title. It was written with SWT, so the "Solaris" version they distribute is really "Solaris SPARC using Motif". Had I tried to download the same Solaris build on my laptop, it would have, of course, failed.

Besides that, Sun's been shipping Gnome since Solaris 9! C'mon guys, if you're going to decide to code for each platform specifically (which you've done as soon as you decided on SWT), at least make good use of what the platform gives you.

Ah well, I could hack with the source, or I can go find another newsreader. I'll go for the latter....

( Mar 29 2005, 12:07:21 PM PST ) Permalink Comments [10]

Trackback URL: http://blogs.sun.com/mingenthron/entry/a_brief_experience_with_swt
Comments:

Yeah, what are they thinking with that Motif stuff. That really ticks me off. Eclipse for Solaris is crap for the very same reason.

Posted by Dave Johnson on March 29, 2005 at 01:01 PM PST #

Eclipse folks have been shipping GTK2 version of SWT for Solaris since first builds of Eclipse 3.1. It's an eye candy. RSSOwl uses 3.1 based SWT. No clue why they chose Motif. By the way Gnome on Solaris 9 is quite broken (pretty good on 10 though). But then at the same time, who cares about Solaris outside of Sun as a development platform? :-)

Posted by 69.156.124.77 on March 29, 2005 at 05:22 PM PST #

Thanks for the info, RSSOwl 1.1.1 will use SWT for Solaris GTK2. Meanwhile its easy to use RSSOwl 1.1 with GTK2. Just download the sources, place the SWT JARs into the lib-Folder and run "ant deploy" using the supplied build.xml. Make sure to have the native libs of SWT in the same dir the rssowl.jar is located. Ben

Posted by Benjamin Pasero on March 30, 2005 at 04:24 AM PST #

I have just uploaded a RSSOwl 1.1 build that makes use of Solaris GTK2 version of SWT: http://www.rssowl.org/dl/Integration_Build/rssowl_1_1_solaris_gtk2.tar.gz Please let me know if its working. Ben

Posted by Benjamin Pasero on March 30, 2005 at 04:43 AM PST #

To: 69.156.124.77

When Sun first released Gnome on Solaris 9, the stability was on GTK 1.2 and the developers were on GTK 2.0. The other unfortunate reality is that there are a bunch of interdependencies in Gnome that make it hard for any app developer to consider GTK similar to any other stable, forward compatible libraries you might find in Unix.

With regard to the comment about people caring about Solaris outside Sun... In less than 60 days, more than 1M licenses have been registered Solaris 10 from the website. And before you say that's a reflection on the SPARC installed base, the stats show that more downloads are for x64/X86 than for SPARC. Besides, most SPARC systems are currently running other stuff in production.

Posted by Matt Ingenthron on March 30, 2005 at 01:29 PM PST #

Unfortunately, it didn't work. This is on a patched up Solaris 9 system. You can see from the ldd that it is finding nearly all of the libraries.

solaris9:/home/matt/tmp/rssowl_1_1_solaris_gtk2:$ ./run.sh Exception in thread "main" java.lang.UnsatisfiedLinkError: /var/tmp/matt/rssowl_1_1_solaris_gtk2/libswt-pi-gtk-3123.so: ld.so.1: java: fatal: libgcc_s.so.1: open failed: No such file or directory at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1473) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1397) at java.lang.Runtime.loadLibrary0(Runtime.java:788) at java.lang.System.loadLibrary(System.java:832) at org.eclipse.swt.internal.Library.loadLibrary(Library.java:123) at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:19) 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:121) at net.sourceforge.rssowl.controller.RSSOwlLoader.<init>(Unknown Source) at net.sourceforge.rssowl.controller.RSSOwlLoader.main(Unknown Source)

solaris9:/home/matt/tmp/rssowl_1_1_solaris_gtk2:!$ ldd libswt-pi-gtk-3123.so libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 libXtst.so.1 => /usr/openwin/lib/libXtst.so.1 libgcc_s.so.1 => (file not found) libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 libm.so.1 => /usr/lib/libm.so.1 libc.so.1 => /usr/lib/libc.so.1 libthread.so.1 => /usr/lib/libthread.so.1 libXext.so.0 => /usr/openwin/lib/libXext.so.0 libX11.so.4 => /usr/openwin/lib/libX11.so.4 libdl.so.1 => /usr/lib/libdl.so.1 libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 libsocket.so.1 => /usr/lib/libsocket.so.1 libnsl.so.1 => /usr/lib/libnsl.so.1 libmp.so.2 => /usr/lib/libmp.so.2 /usr/platform/SUNW,Sun-Fire-V440/lib/libc_psr.so.1

(sorry for the poor formatting)

I believe that's an indication that your libswt-pi-gtk-3123.so was compiled with GCC 3.1 on Solaris. I don't know if there's any solution other than recompiling it without those external dependencies-- or installing the GCC libs. There might be another solution-- I just don't know what it is.

Posted by Matt Ingenthron on March 30, 2005 at 01:36 PM PST #

Matt, it was more of a humorous post on my part (about not caring about Solaris as a development platform). Since Solaris 10 is what I use. :-) However, the truth of the matter is that literally everybody is developing on Windows. And that is a sad reality.

Posted by 67.68.33.69 on March 30, 2005 at 05:11 PM PST #

Yes, SWT for Solaris GTK2 seems to have a dependancy to libgcc. I have searched for a bugreport and found one, dealing with the removal of this dependancy. I hope it will be fixed for upcoming SWT versions. Maybe voting for it will help. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=82206 Ben

Posted by Benjamin Pasero on March 31, 2005 at 02:56 AM PST #

Ah, sorry for misreading the comment. Perhaps I'm a bit overly sensitive. Sometimes it seems like people take whatever they want to read and believe out of the press and state it as fact. A quick read of the /. threads on OpenSolaris will show you a number of people saying something to the effect 'too little too late', which I think is pretty far from reality.

Sorry for assuming you were jumping to that same conclusion.

Posted by Matt Ingenthron on March 31, 2005 at 08:46 AM PST #

Hi Matt, I briefly tried snownews a while back, which is console-based -- has the look-n-feel of a plain text usenet or mail-reader (read *fast*, and well-suited to those of hopelessly addicted to vi and command-line computing). I think you can find pre-compiled binaries at sunfreeware.com and/or blastwave. Eric

Posted by Eric Boutilier on April 01, 2005 at 08:56 AM PST #

Post a Comment:

Name:
E-Mail:
URL:

Your Comment:

HTML Syntax: NOT allowed

Calendar

RSS Feeds

Search

Links

Navigation

Referers