Now blogging at diego's weblog. See you over there!

clevercactus palm synchronization

I had tested Palm's CDK a while ago, and it seemed to work properly. So, to integrate the feature into clevercactus, yesterday I dusted off those files, reinstalled the CDK in the new machine (after a painful 4 hour download), and went from there. Everything appears to be fine. Then I start to integrate the code into the cactus codebase. Compile. Sync.



This was working just a minute ago...

So I start to poke around and I find that JDK is complaining that the classfiles have the wrong minor/major version number. I check and sure enough JSync, the Java part of the conduit, is using a JRE installed in the Palm directory.

Version of the JRE: 1.3.

Okay, so I rename the directory that JSync is looking at, hoping that jsync13.dll will find the JDK 1.4 on its own.

Reload Hotsync Manager. Sync.

"jvm.dll not found".

At that point I suddenly ask myself: can they be so stupid as to completely hardwire their implementation to a single JDK release?

Yes, they can.

The registry is littered with references to that particular JDK. Furthermore, I changed the directories and copied, by hand, the JRE directories from 1.4.1_02 into the directory where JSync was expecting to find the JRE. Still no dice: JSync is even looking for jvm.dll in the bin\hotspot directory, and since 1.4 Hotspot is installed either in bin\client or bin\server. No problem, I say, rename "client" to "hotspot".


"Too many files." says Hotsync Manager. And dies. WTF?

Request a verbose output of the error from Hotsync, and what do I get? Sure enough "Invalid version."

So, the exact same code that runs on 1.3 doesn't run on JDK 1.4 because some genius hardwired the DLL to look exactly for version 1.3, or fail otherwise.

Google provides no help on the matter, nor do Palm's own forums (the only message in their developer forum for conduits that has to do with this is from February this year, and has received no replies). Apparently no one noticed that JDK 1.4 has been out for about a year (since the beta versions). Too bad, because the JSync suite is pretty well done, including installers that you can deploy with your application and so on. Back to a COM-based solution it seems.

Categories: clevercactus
Posted by diego on May 4 2003 at 2:22 PM

Copyright © Diego Doval 2002-2011.
Powered by
Movable Type 4.37