|HowTo: Upgrade Your Cygwin Environment
Last updated: February 25, 2005
This page explains how to upgrade your cygwin to
be compatible with TinyOS versions 1.1.11 and above.
Beginning with TinyOS 1.1.11, the Cygwin DLL and packages distributed with TinyOS 1.1.0 are no longer compatible. If you have not upgraded your Cygwin environment since installing 1.1.0, you must upgrade before 1.1.11 can be installed.
We felt that it was time to upgrade for several reasons:
- The old cygwin package release dated to 04/16/2003. There have been many improvements and upgrades made to the available packages since then.
- We are migrating the entire toolchain forward to recent versions for TinyOS 1.2. Upgrading cygwin environments now will make the toolchain upgrade easier later.
- Some TinyOS features didn't work with old cygwin package versions.
We have put online the cygwin packages that we've confirmed to be compatible with TinyOS. The instructions below use those packages. You can also upgrade your cygwin environment according to the instructions at www.cygwin.com and your environment will most likely work. A large number of TinyOS users, including most of the Berkeley developers, upgrade their cygwin packages at least monthly from cygnus. However, since we can't test what packages are compatible as they become available daily, we can't confirm that today's set will work.
- Download the confirmed-compatible cygwin packages from the tinyos web site here.
- In a cygwin shell, unzip the above package into some directory. In these instructions the directory is /cygdrive/c/newcygpkgs.
$ cd /cygdrive/c/newcygpkgs
$ tar zxvf cygwin-1.2a.tgz
This unzips the packages.
- In Windows Explorer, navigate to /cygdrive/c/newcygpkgs and click on the file setup.exe. Setup.exe is the setup program distributed by Cygnus Solutions.
- Follow these steps when the Cygwin Setup windows appears:
- Opt to disable the virus scanner (it will be enabled when you're finished).
- Opt to Install from Local Directory.
- Specify the Root directory to be where your current cygwin installation is. This would be the directory that directories like 'opt' and 'usr' are in. For example, mine is rooted at c:\tinyos\cygwin, so I enter that.
- Select to Install for All Users
- Select the Unix file type (very important!)
- For the Local Packages Directory, specify where you unzipped the cygwin packages tarfile. For example, I would specify c:\newcygpkgs. (The setup.exe program will probably select the right default directory.)
- The next window will allow you to select packages to install. You should see that most of the packages have an X-ed box next to them; these are the packages that are to be upgraded. Some packages might say 'Keep' next to them; these are packages that do not differ between your current environment and the package directory.
- Click install. Some notes:
- You might see a message explaining that you need to reboot because some files are in use. This most likely means that your cygwin DLL is loaded and in-use and, therefore, cannot be replaced. When you reboot, the new DLL will be loaded.
- Related to the above warnings, if you see warnings about the cygwin1.dll not being found, don't worry. All will be well once you reboot and the right DLL is loaded.