User:Mightypile
This is for anyone's consumption who may profit from the information. As I learn about the kitware ecosystem, I may attempt adding more useful information from a beginner's perspective. Currently, it's just me dumping a journal of my experience for later reference. This IS NOT a how-to. It might not work. I'm just logging.
My main goal right now is to run hippocampus boundaries through SPHARM-PDM. Working through the spharm tutorials (from NITRC) led me to install BatchMake, which failed because I hadn't installed ITK. Installing ITK from the ubuntu repository (libinsighttoolkit4-dev) seemed to give me the ITKConfig.cmake file, moving beyond BatchMake's original complaint, but still complained about missing multiple others. So, out of frustration, I'm doing my best to start from the beginning, compiling for my machine, and seeing where I can get. I'm feeling that I could have tried some different packages and maybe made it all work out, but I'm hoping to learn a little more about dependencies by compiling from source.
2013-09-20:
I downloaded the latest ITK, InsightToolkit-4.4.2 After extracting and creating an empty folder for compiling binaries... >cmake /home/.../InsightToolkit-4.4.2 (many lines of configuration output - I'm using gcc and g++ 4.7.2, python 2.7.3, perl 5.14.2) >make (many more lines of compilation, took some time, hours? not sure, I left and came back) Success, though, :-)
2013-09-21:
In a new folder, I created a new empty directory for the BatchMake source >git clone git://batchmake.org/BatchMake.git >mkdir ../BatchMakeBin; cd ../BatchMakeBin >ccmake ../BatchMake (I had to manually enter the path to my previously built ITK from yesterday) (Press c, wait, exit after done) >make (Many lines of compilation, beautifully, I never got past ccmake before)
So, this is great! I now have successful builds of both ITK and BatchMake. I'm wondering about the libs I installed earlier through apt-get. I know I have two versions of at least some of the ITK libraries and I'm unclear on which ones will be used in particular circumstances. In some sense, I don't care as long as they work, but in another, I'd really like to keep things as clean and efficient as possible. Having bunches of software in my home directory instead of /usr/local, where I normally try to keep things, is unsettling. I'd just copy it all to /usr/local, but I'm still a little uncertain as to /usr/lib/libITK* items competing with /usr/local/ITK things. I'd always wonder if some piece of software is pulling libraries from one place vs another and whether it mattered. :-( For cleanliness, as I can always install later, I uninstalled the packaged software, so all that's left is my homebuilt stuff. If somebody can't find it, I'll deal with the error at that point.
>sudo apt-get remove libinsighttoolkit4-dev (this also removed its dependency, libinsighttoolkit4.2) >sudo cp ./BatchMakeBin /usr/local >sudo cp ./ITK /usr/local