Mac Attack 2012

Goals

Primary

To create a 64-bit freesurfer build on Mountain Lion (machine 'hima') for release v5.2 by December 2012.

Secondary

To retain a 32-bit freesurfer build on Leopard (machine 'sleet').

Problems

Approach

Summary

Primary: Upgrade hima to mountain lion, build and test 64b freesurfer build of non-gui tools. Build freeview and qdec tools by building vtk libs using native Tcl/Tk libs. Attempt to build tcl/tk/tix/blt libs using the 'standard' source package, but failing that, attempt build blt and tix libs against native Tcl/Tk libs, and failing that, just distribute the existing 32b tktools and dont build those tools in the 64b build enviro (essentially freezing the state of the tools.. no updates). Secondary: Downgrade sleet to leopard, and recreate the 32b freesurfer build as it currently exists on hima.

Steps

  1. FSIssues - the Redmine FSIssues tracker (http://hima:3000/reports/issue_report/freesurfer) is setup on hima, but hima will get new hard disks for its mountain lion install, and since FSIssues is the only thing that needs to be retained, then a backup of FSIssues and Redmine needs to be created so that it can be recreated afresh on the mountain lion install.

  2. Buy Mountain Lion - purchase a copy of Mountain Lion
  3. New disks - the disk in hima is getting old, and we want to keep its Leopard around for safety, and because the current install seems slightly hosed (doesnt seem to run nightly build scripts properly and email is spotty) there is no use in installing mountain lion overtop it, so install one or two new disks in hima (pilfered from fscw... see nick).
  4. Install Mountain Lion - after copying the current 32b build tree over to a network location (/space/freesurfer/build/hima-32b), and after the FSIssues Redmine install is properly backed-up and ready for replication under a new OS, then install mountain lion, with help from nmrhelp to get the NFS connection and network login working.
  5. Create 64b build tree - create a new build enviro like that that exists currently with hima 32b, but afresh with new checkout. also make sure configure.in is setup to do a 64b build (ie, the -m64 switch). build w/o gui support, run recon-all and test results.
  6. Freeview - next is getting freeview working, which involves getting VTK built, which involves getting it to build with the newest vtk version (5.10?), built against Cocoa (not tcl). Freeview also builds against Qt, so hopefully the native Qt libs work ok.
  7. Qdec - ditto for Qdec, which also uses vtk, but also kwwidgets (but not Qt).
  8. tktools - attempt to build tcl/tk/tix/blt sources, or build btl/tix against native tcl/tk, or dont build at all and just commit the binaries for tkmedit/tksurfer/tkregister to cvs and mod the Makefile.am to install those instead of build (actually, do this first thing).
  9. replicate build on another machine - to flush-out any 'hima' specific build idiosynchrocies, build on other mountain lion machines: 'zeke', 'aspasia', nicks laptop, dougs laptop.
  10. celebrate