Wiring

| Supported Platforms Windows Mac OS X Linux Other Platforms Java Versions AVR Toolchain

| ### Supported Platforms The Wiring Development Environment (PDE) is "officially" tested with: Mac OS X 10.5 (PPC and Intel) Windows Vista & XP Fedora Core 8 (Linux) These are the operating systems that are on machines at the Wiring Release Testing. Builds usually get the most testing on OS X, and a cursory test on Windows and Linux. If you run into trouble, you've gotta let us know. |

| ### Windows Windows is by far the superior platform for running Java applications. It's not because we like Windows the best but that's just how it is. Windows 95/98/ME is a piece of crap, but since lots of people (are often forced to) use it, we'll do our best to support it. Windows 95 is not supported. Releases seem to often have trouble with 98/ME, so if possible, we strongly recommend using Windows 2000 or XP. We won't be testing on 95/98/ME or supporting it any more than we absolutely must. |

| ### Mac OS x Java on Mac OS X is steadily improving (especially when compared to Apple's previous efforts), but it's still far slower than Windows and even the older Java that ran on Mac OS Classic. We think OS X will be a great bet for the future, and Apple is putting all their feeble weight behind it, hopefully it will evolve somewhere. Java performance on the Intel Macs is improved significantly. Hopefully improvements in stability and keeping the releases up to date are not far behind. Unfortunately Apple seems to have a somewhat arrogant attitude about Java and wants everyone to code their applications using things like Cocoa, perhaps missing the point of their current marketshare. Like all applications that also support the Intel Macs, Wiring requires Mac OS X 10.3.9 or later. Unfortunately, we cannot support any earlier releases. OS X 10.2 and earlier are problematic and 10.3 should be updated to 10.3.9 anyways, if nothing else to take advantage of security updates. If you're using an earlier version of OS X than 10.3.9, Wiring will not run and you may get an error like this one in your Console.app: `dyld: Wiring 0010/Wiring 0010.app/Contents/MacOS/JavaApplicationStub can't open library: /usr/lib/libgcc_s.1.dylib (No such file or directory, errno = 2)`. The most current release is tested (and supported) only on the latest update of Mac OS X 10.4.x. Earlier versions of 10.4 include other nasty bugs. We will only fix bugs specific to 10.3.9 if there's a specific issue raised and it can be done without too much trouble. We still intend to support 10.3.9 for a while (but not earlier 10.3.x releases). If you're having trouble with Mac OS X, check the console. It's found in Applications → Utilities → Console.app. Information posted there may tell you what the problem is, or provide an error message that someone (perhaps from the discourse section of the Wiring site) can help with. Using Java 1.5 (J2SE 5.0) is not recommended, but is perhaps a losing battle. When using OS X 10.4, it's common to get errors in the console that read something like: `2006-03-30 15:27:47.118 java[1170] CFLog (0): CFMessagePort: bootstrap_register(): failed 1103 (0x44f), port = 0x11303, name = 'java.ServiceProvider' See /usr/include/servers/bootstrap_defs.h for the error codes. 2006-03-30 15:27:47.119 java[1170] CFLog (99): CFMessagePortCreateLocal(): failed to name Mach port (java.ServiceProvider)` This is an Apple bug that shows up any time that more than one instance of Java is running. Mac OS X 10.0, 10.1, and 10.2 won't run the Wiring environment. Make sure that Java is as up-to-date as possible (via Software Update). Notes about Wiring on Intel Macs: While older releases will run on the Mactel machines, starting with revision 0010, the Wiring application itself is a Universal Binary. Release 0010 adds serial support with a Universal version of the RXTX library. Java, thankfully, is already native on the new Intel Macs, so the improvement that comes from the faster bus/processor is a big help. The serial library included with releases 0010 and later is now a Universal Binary. You may need to re-run macosx_setup.command script to get serial working properly on your machine. After running the setup script, shutdown and restart your machine. More information about Java on OS X can be found at Apple's Java FAQ. |

| ### Linux For the Linux version, you guys can support yourselves. If you're enough of a hacker weenie to get a linux box set up, you oughta know what's going on. For lack of time, we won't be testing extensively under linux, but would be really happy to hear about any bugs or issues you might run into. Actually, we don't get happy that you're having issues, but if you're going to have issues, we're happy that you tell us about them, so we can fix them. The Wiring application is just a shell script, you can use this as a guide to getting Wiring to run with your specific configuration, because who knows what sort of setup you have. this release was tested on a Fedora Core 6, and Sun's Java Runtime Environment 1.4.2 is included with the download. Replacing (or making a symlink to) the contents of the ‘java’ folder will let you tie in a preferred Java VM for your machine. Getting Wiring to run on Linux can be tricky, mostly because of the avr toolchain. Some information on getting it to work can be found here under the Linux section. Using Fedora Core 6, I had to install libXp in order to get things to run properly with the current distribution. |

| ### Other Platforms Because Wiring is written in Java, C and C++, it should run on any platform that supports Java 1.4. If you'd like to get it running on BSD, Irix, AmigaOS, BeOS... whatever, do the following: 1. Download the Linux version, and replace the “java” folder and jikes application with versions that support your platform. The files can by symbolic links to your Java Runtime installation (note how the folder hierarchy works to make sure you're linking the right thing) or Jikes executable. 2. Download build the AVR toolchain for your platform (binutils, avr-gcc, avr-libc, uisp), make the installation prefix to be /tools/avr, and then replace the tools directory in wiring directory for your platform. (more details on how to build the toolchain will come soon) 3. Next, mess with the shell script if necessary to get things up and running. 4. If you have success, share the details for others. |

| ### Java Versions There are several versions of Java, each with a different story. The versions from 1.2 to 1.4 are also referred to with names like "Java 2 SDK 1.2" or "J2SE 1.4" (Java 2 Standard Edition 1.4). J2SE is different from the trimmed-down J2ME ("Micro Edition") which runs on mobile devices, and J2EE ("Enterprise Edition") which contains more "enterprise" related bloat. In a moment of further anti-user marketing genius, Sun recently decided to call the latest release "Java 5.0" when promoting, but it's Java 1.5 to developers. Java 1.0 — a long, long time ago in 1995… Java 1.1 — this was the first truly usable version of Java. It's the last version of Java that was supported by Microsoft, but has since been discontinued because of a lawsuit by Sun. Informal estimates show that about 40% of web users that are using Java are still using Java 1.1. As of beta, Wiring does not support 1.1 (it requires 1.3) but we hope that this is only a temporary change, because 1.1 support is obviously important. Java 1.2 — was a mess, and was mercifully replaced by 1.3. Java 1.3 — took all the features added in 1.2 and made them usable. Java 1.3 (and 1.4) is installed on all Mac OS X machines. Windows users must download from java.com. Because the Java plug-in on Windows urges people to upgrade to 1.4 or 1.5, very few people appear to be using 1.3 on the web any more. Java 1.4 — this is required for running the Wiring environment itself, and the one that receives the most testing from us. It is the version of Java that is included with the Windows download of Wiring. Java 1.4 is also installed by default on Mac OS X. Windows users must download from java.com. It's used by about a 30% of the people with Java installed. Most Linux users will have Java 1.4 or later if it is installed. Java 1.5 — the very latest version of Java. We don't support it and recommend that you avoid using it, as we don't test with it and it appears that it may be the slowest (certainly most bloated) release of Java yet. |

| ### Avr Toolchain The AVR toolchain is a set of tools included in the Wiring distribution that are needed to build programs that can run in the Wiring i/O board. There are several versions of each tool. The latest Wiring release include the following: binutils 2.17— GNU Binutils for the AVR target. avr-gcc 4.1.2 — GNU C, C++ compiler for the AVR target. avr-libc 1.4.5 — C library for use with GCC on Atmel AVR microcontrollers. uisp 20050207 — a tool for AVR microcontrollers which can interface to many hardware in-system programmers. |