SmartFrog Download on SourceForge
SmartFrog is hosted on SourceForge. Please go to the SmartFrog download page to obtain your very own copy.
SmartFrog Supported Platforms
This is the official declaration of platform support.
We are regularly asked which platforms SmartFrog runs on; here is the answer.
SmartFrog is built by developers who use a mixture of Windows 7, 32-bit and 64-bit Linux, and MacOS X. These developers use Java 6. The command java -version will reveal the specific JVM in use:
If SmartFrog actually crashes a JVM, please file a defect with Sun and report it to us, so that we can track the problem ourselves.
What is our policy towards Non-Sun JVMs?
- Sun-derived JVMs are supported, included as the Apple, IBM and JRockit JVMs. We test wherever we can.
- Non-Sun JVMs, such as Kaffe and Apache Harmony are not (yet) supported. If you encounter problems trying to run SmartFrog on such JVMs, please get in touch on the Mailing Lists, show the problems and we can come up with solutions.
- There is a bit of code at startup to deal with interrupt handling; dynamic classloading is used to skip that code on Kaffe. However, it is needed at build time: we therefore only support Sun and Sun-derived JVMs to build SmartFrog.
- The XML components use some sun-only Base64 helper classes. This does not affect the rest of the system
- The RPM files do not explicitly declare any dependency on a JVM being installed. You merely need one on the path. Thus the RPMs do not contain any hard-coded JVM requirements.
- We have encountered some problems with the IBM JVM and the automatic proxy logic of Java5; this is one reason that we do not turn the feature on, though issues with Oracle's JDBC driver and the limited functionality of the proxy code under Linux were also significant.
We build and test on Windows 7.
We build and test on RedHat Enterprise Linux, and Ubuntu 10.x. The RPMs are targeted at RHEL, although SuSE support is something that we would also like to see, along with recent Fedora releases. The reason the RPMs are distribution specific are
- Every platform (and Linux Standard Base) has a different way of declaring/registering services above and beyond adding the scripts to /etc/init.d. The RPMs try the RHEL approach, falling back to LSB and then manual ln operations.
- We like to add scripts to /etc/profile.d to set up the appropriate environment variables; this is not available on Ubuntu systems.
One common problem with Linux systems is that X11 is not always present, and when it is absent, not only does the SmartFrog GUI not work, but some parts of java.awt fail. SmartFrog itself is designed to work headless; to force this mode, add -headless to the command line, or set (java.awt.headless} to true in default.ini.
System V Unix
Classic SysV Unix is supported. One interesting quirk here is that error codes on such systems are often 8 bit values; if an executable fails with a -1 error, Java may pick it up as the status code 255. This has been known to break tests that start external programs. We believe that all such points have now been identified and corrected.
As with Linux, headless operation is facilitated with the -headless mode.
Apple MacOS X
MacOS X is built and tested against. There are no known issues.