Downloads
Home
News
Tutorials
User Manual
Reference Manual
Developer Manual
Downloads
Forums
Team Members
Future Work
FAQ
Links

Installing Topographica using Subversion

Subversion (SVN) is the version control system used for managing Topographica development. SVN keeps track of every change made to any file, and can reconstruct the state of the software from any date and time in the history of Topographica development since 2004. The Topographica SVN repository is hosted by SourceForge.net. The essentials for using SVN at SourceForge are described below; see the SourceForge SVN documentation for more details or if you have any difficulties. You will need to run at least SVN 1.4 on your machine; SVN clients 1.3 and below will complain that they are too old to communicate with our repository. If you don't need the very latest updates, you can simply download a released version instead of using SVN.

In the instructions below, you will need to choose whether you want the very most recent version, with changes made daily, or only the most recent stable version. The very most recent version will be called "bleeding-edge" (or "trunk") below, while the stable version will be called LATEST_STABLE. Developers will want the very most recent version, as will those working closely with developers. Others will probably want to stick to the LATEST_STABLE version except to fix specific problems.

Downloading via Subversion

The SVN installation instructions differ on the various platforms, as outlined below. Regardless of platform, please note that the Topographica repository contains some very large files, and the SVN download process may appear to hang or freeze at various times while these files are downloaded. Unfortunately, SVN does not provide any sort of feedback that this is occurring, so please just be patient when downloading. Such pauses should be rare after the first SVN download, unless one of the large files has been updated.

The location (URL) of the Topographica repository is:

https://topographica.svn.sourceforge.net/svnroot/topographica
In commands given on this page, $TOPOROOT is used to represent that URL, so please replace it in commands you enter. (For instance, linux users might first type export TOPOROOT=https://topographica.svn.sourceforge.net/svnroot/topographica, and then $TOPOROOT will be substituted for them in the commands below.)

Linux/UNIX:

Most Linux and other UNIX platforms already have all of the necessary programs and libraries required for Topographica. But if your distribution does not include svn or php by default, first obtain versions of those programs for your system and install them.

The Topographica files can be checked out by using the command:

svn co $TOPOROOT/tags/LATEST_STABLE/topographica topographica

This will create a topographica directory in your present working directory; omitting the final topographica will put the files directly into your present directory.

To get the bleeding-edge (trunk) version, replace tags/LATEST_STABLE with trunk. Note that the bleeding-edge version is not always usable due to work in progress (but you can check to see if the code currently builds on a specific platform (linux, Mac) and whether our code tests pass).

The checkout process will likely take several minutes (probably appearing to hang at certain points), as there are some extremely large files involved.

Mac OS X:

Topographica can be built on Mac OS X (or later) using the Linux instructions above, but you will likely first need to install several packages required by Topographica. These instructions also assume that you will be using Mac OS X 10.4 (Tiger); other OS X versions may require small changes to this procedure, to make sure that compatible libraries are available. On that version of the system, you would do:
  1. If an X11 Xwindows server is not already installed, install Apple's X11 for Mac (also available on the OS X installation DVD). (It is also possible to build Topographica using a native (Aqua) version of Python, which looks a bit nicer, but we have not yet documented how to do that.)
  2. If the X11 Software Development Kit (X11 SDK) is not already installed, add that too. (You'll know if it is missing if you get messages like 'error: X11/Xlib.h: No such file or directory'.)
  3. From the Apple developer web site, download Xcode 2.4.1 (which, among other development utilities, provides the required GCC C/C++ compiler). Other versions should also work, but have not necessarily been tested.
  4. Download and install the Fink 0.8.1 Binary Installer package. Again, other versions should work, but have not necessarily been tested.
  5. Start an X11 terminal and enter the following command: fink install cvs libpng3 freetype219. (These packages provide, respectively, the CVS program required to access the Topographica code repository, the PNG format handling, and the font handling for the matplotlib library used by Topographica.)
  6. If you want to compile a local copy of the documentation (e.g. for online help), use Fink to get imagemagick, transfig, php, and m4 (if these are not already installed): fink install php4 m4 tetex imagemagick transfig.

If you have trouble running fink, make sure the Fink installation is actually in your path (the default Fink path is /sw/bin/; the installer should have set this up for you). Also, if you prefer not to use the commandline, you can install FinkCommander, a GUI for Fink that allows you to search for the packages above and click to install them.

Once these programs are installed, simply follow the Linux instructions above.

Windows:

Please note that we have only recently moved from an older revision control system (CVS) to SVN, and the SVN setup on Windows is not yet complete. To get the SVN version to build on Windows as of 1/2008, you will probably need to update some of the included external packages.

Under Windows, we recommend installing TortoiseSVN (tested 01/2008 using TortoiseSVN 1.4.7), which comes as an easy-to-install executable. In general, TortoiseSVN users can easily translate commandline SVN instructions (e.g. those we give for linux users) by right clicking in an SVN-controlled directory and choosing the appropriate command from the TortoiseSVN submenu.

After installing TortoiseSVN if you do not already have it, open the Windows directory where you want the Topographica files to be located on your machine (you might first wish to create a 'topographica' folder), then right click, select SVN Checkout, and fill in the URL of repository with

https://topographica.svn.sourceforge.net/svnroot/topographica/tags/LATEST_STABLE/topographica
Ensure that the Checkout directory shows the location into which you want the files to be placed (e.g. c:\Documents and Settings\username\My Documents\topographica), then click OK. As the files download, you will be informed of the transfer speed and amount transferred; the total as of 01/2008 is about 85 MBytes.

Following this step, it is necessary to obtain the Windows versions of Topographica's support tools. In the folder that contains your new topographica folder (i.e. the parent folder of topographica), right click again and choose SVN Checkout as before. Edit the last part of URL of repository, changing topographica to topographica-win. The URL should then read:

https://topographica.svn.sourceforge.net/svnroot/topographica/tags/LATEST_STABLE/topographica-win
After clicking OK, you will have to wait longer than last time, since the Windows support tools are distributed as binaries (the total as of 01/2008 is about 125 MBytes).

Once the transfer has completed, move the topographica-win folder into the topographica folder (e.g. right click and hold down on topographica-win, drag over topographica, let go, then choose Move).

Now that you have TortoiseSVN installed, and the SVN version of Topographica, you can return to instructions for building Topographica.

Cygwin:

Cygwin is a set of Unix commands and libraries that make it possible to compile most Unix programs under Windows. In principle, it should be possible to use Topographica under Cygwin, because all of the core Topographica files are platform independent. However, some of the external packages included with Topographica (e.g. python's Tkinter) automatically detect that they are running under Windows, and install non-Cygwin versions of themselves. Users interested in modifying these makefiles so that Topographica can be installed under Cygwin should contact Jim for more details.

Updating using Subversion

Linux/UNIX/Mac users who have Topographica checked out via SVN can update their copy of Topographica by changing to the directory containing the Topographica files and then doing:
  svn update 
  make

If you previously checked out the LATEST_STABLE version of Topographica, this will update to the current LATEST_STABLE code. If you previously checked out the bleeding-edge (trunk) version of Topographica, this will update to the absolute most recent version of the code.

If you wish, you can switch your copy of Topographica to a different version of the code. For instance, if you currently have the trunk version, you can switch to the LATEST_STABLE version by typing:

svn switch $TOPOROOT/tags/LATEST_STABLE/topographica
To switch from the LATEST_STABLE version to the trunk version, replace tags/LATEST_STABLE with trunk. (Note that before deciding whether to update to the bleeding-edge (trunk) version, you can check its status.) Alternatively, to switch to a separate branch named 'some-branch', replace tags/LATEST_STABLE with branches/some-branch

You can discover if your copy is from the trunk or a particular branch or tag by typing svn info | grep URL. To see what other versions of the code are available, you can view the tags directory of the SVN repository in your web browser, or type svn ls --verbose $TOPOROOT/tags/.

Windows TortoiseSVN users can right click in the topographica directory and select SVN Update to get the new files.

Note that updating the external/ subdirectory sometimes takes a long time, if some of the external packages have been upgraded, and in that case "make" can also take some time to build.

Hosted by: SourceForge Logo James A. Bednar (jbednar@inf.ed.ac.uk) Last update: Thu Feb 21 15:17:03 UTC 2008.