Skip to main content

Tinkering with Nasa's WorldWind on Fedora 14

I've been wanting to drop the Nasa WorldWind SDK on my notebook so I can explore it a bit more on my own time. My notebook is a bit more unconventional than the lab systems. I keep the lab systems as close to standard as possible to minimize any installation or runtime issues. My notebook is more of a personal sandbox, a personal spot to tinker.

Up to this point everything's been run on Windows and 32-bit Linux. But this installation of Fedora 14 is 64-bit, and it introduced a few little quirks that had to be settled. Nothing major, but they need to be documented in one spot.

First is an SDK ant build quirk. I want to be able to run ant in the SDK folder if necessary from the command line and have the SDK re-build. When I tried a build right after unpacking the SDK I got a log of  "unmappable character for encoding UTF8" error message because somebody decided to include the degree symbol as part of a comment, and Java 6u29's javac decided it didn't like it. That tickled an old memory about some obscure javac command line arguments, so after looking up javac's documentation (again) I modified the stock build.xml's javac section and added the highlighted line:
              <pathelement location="jogl.jar"/>
              <pathelement location="gluegen-rt.jar"/>
              <pathelement location="gdal.jar"/>
              <pathelement location="${java.home}/lib/plugin.jar"/>
Once you add the encoding argument the Java classes will build. One other little gotcha. There is no simple clean. The target "clean.all" will clean everything. You should read the build.xml file for all the individual clean targets.

The next little quirk concerns the native libraries required by Jogl. The shared libraries under Linux are,, and, and they're located in the root folder where you unpack the SDK. They're compiled for a 32-bit Intel class processor, and you need the 64-bit versions. There's a page that explains what the problem is and the solution but it's a little obtuse, so I'm going to spell it out. To replace these libraries you need to go to and download gluegen-rt-natives-linux-amd64.jar and jogl-natives-linux-amd64.jar. Un-jar them and move the resultant shared object files to the SDK folder to replace the 32-bit versions.

You need to make one more minor modification, this time to the script run_demo.bash. On the line executing java, add the following additional argument: -Djava.library.path=.
This will tell java to look for the library files in the location where it's executed from, which in this case is the SDK's base folder. You can make this more elaborate if you wish, but the bash script assumes you're going to run it out of the SDK folder. The classpath is already set up to look for the jar files in the same base folder the script is executed in.

And that's about it. All the java files build and the demo executes. Now I'm to the point where I can begin a bit of experimentation. The next task I want to perform is to install the Android library version of WorldWind and see if I can get something up and running on the Asus Transformer, and then begin to create the ability to share between the notebook version and the table version. I have some ideas...


Popular posts from this blog

cat-in-a-box channels greta garbo

So I'm sitting at my computer, when I start to notice a racket in back. I ignore it for a while until I hear a load "thump!", as if something had been dropped on the floor, followed by a lot of loud rattling. I turn around and see Lucy in the box just having a grand old time, rolling around and rattling that box a good one. I grab the GX1 and snap a few shots before she notices me and the camera, then leaps out and back into her chair (which used to be my chair before she decided it was her chair).

Just like caring for Katie my black Lab taught me about dogs, caring for Lucy is teaching me about cats. She finds me fascinating, as I do her. And she expresses great affection and love toward me without coaxing. I try to return the affection and love, but she is a cat, and she takes a bat at me on occasion, although I think that's just her being playful. She always has her claws in when she does that.

She sits next to me during the evening in her chair while I sit in mi…

vm networking problem fixed

Over the weekend I upgraded to Windows 8.1, then discovered that networking for the virtual machines wouldn't work. Then I tried something incredibly simple and fixed the problem.

Checking the system I noticed that three VMware Windows services weren't running; VMnetDHCP, VMUSBArbService, and VMwareNatService. VMware Player allows you to install, remove, or fix an existing installation. I chose to try fixing the installation, and that fixed the problem. The services were re-installed/restarted, and the virtual machines had networking again.

Once network connectivity was established there was exactly one updated file for Ubuntu 13.10, a data file. This underscores how solid and finished the release was this time. Every other version of every other Linux installation I've ever dealt with has always been succeeded by boatloads of updates after the initial installation. But not this time.

Everything is working properly on my notebook. All's right with the world.

sony's pivotal mirrorless move

I'm a died-in-the-wool technologist, even when it comes to photography. I have always been fascinated with the technology that goes into manufacturing any camera, from the lenses (optics) through the mechanical construction, the electronics involved, and especially the chemistry of the film and the sophistication of the digital sensor. It's amazing that the camera can do all it's asked of it, regardless of manufacturer.

Of all the types of cameras that I've really taken an interest in, contemporary mirrorless (again, regardless of manufacturer) are the most interesting because of the challenging problems the scientists and engineers have had to solve in order to build a compact but highly functional camera. In particular I've followed the sensor advances over the years and watched image quality climb (especially with μ4:3rds) to exceed film and rival one another such that there's very little difference any more as you move from the smaller sensors such as 4:3r…