Updating D2 to r22043 in Linux

NOTE: This affects only Linux installations. D2 on Windows machines is fine.

If you are updating your D2 in Linux from r20232-b to the latest, you will very likely encounter the following problem:

$ mono Update.exe
Using download link http://metaverseink.com/download/diva-r22043.zip
Your current release is diva-r20232-b. Available release is diva-r22043
New release available. Updating…
Downloading new release from http://metaverseink.com/download/diva-r22043.zip to /tmp/diva-r22043.zip. This may take a few minutes.
……………………………………………………………:-)
Extracting new release to /home/opensim
* Unable to unzip. Please try updating later. (Reason: Path is empty)
*********************************************************************
Your installation has been updated. The new release is in
>> /home/opensim/diva-r22043 <<
Your regions have been migrated.
Please read the RELEASENOTES to know what changed.
If you made changes to OpenSim.ini, please copy that file over
or change the new one.
*********************************************************************

<Press return to exit>

In other words, the Update tool fails to unzip the new package.

This is due to a bug in a library included in OpenSim 0.7.4, on which diva-r20232-b is based. The offending library is called Ionic.Zip.dll. Here is what you need to do in order to get past this issue.

1 – Download this version of that library and place it in your current d2 bin folder, diva-r20232-b/bin. You can overwrite  the one that’s there, or move it somewhere before placing the new version there. Note that some download tools (e.g. wget) don’t overwrite files and instead give them new names. Make sure the new version has the right name.

2 – Run the Update tool again.
$ mono Update.exe

Voila! Problem solved.

The latest D2 release has the correct version of Ionic.Zip.dll, so hopefully this won’t happen next time you need to update.