VtkMy development: Difference between revisions

From bone.wiki
Jump to navigation Jump to search
Removed CVS section
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
==vtkMy Installation==
<b>Apple</b><br>
1. Install the code:
grab a copy from sodor/bonelab/software directory: vtkMy-osx.tar.bz2
create an /opt directory (if not already existing):
    $ sudo mkdir /opt
copy vtkMy-osx.tar.bz to /opt
    $ sudo cp vtkMy-osx.tar.bz /opt
unpack vtkMy
    $ sudo bunzip2 vtkMy-osx.tar.bz2
    $ sudo tar -xvf vtkMy-osx.tar


2. Edit your default paths in .bash_profile
==Compiling vtkMy==
  add the following lines to your .bash_profile file
 
<pre>
# vtkMy
if [ ! `echo $PATH | grep /opt/vtkMy-osx/bin` ] ; then
  export PATH="/opt/vtkMy-osx/bin:$PATH"
fi
if [ ! `echo $DYLD_LIBRARY_PATH | grep /opt/vtkMy-osx/lib` ] ; then
  export DYLD_LIBRARY_PATH="/opt/vtkMy-osx/lib:$DYLD_LIBRARY_PATH"
fi
</pre>
 
3. Restart your terminal session, or type:
    $ source ~/.bash_profile


==Compiling vtkMy==
NOTE: vtkMy classes and programs are gradually being migrated to vtkski and Bone Lab Applications.


NOTE: The following directions are outdated and need to be updated.
In order to build vtkMy, you must first build vtkski.  Refer to [[vtkski Development]].


===Required Software===
===Required Software===


To build vtkMY, you will require SVN, CVS, Qt, ITK and VTK.  Refer to the instructions for relevant platform:
To build vtkMY, you will require SVN and VTK, as well as possibly Qt, ITK and FLTK, depending on which parts you want to build.  Refer to the instructions for relevant platform:


*[[Development on OS-X]]
*[[Development on OS-X]]
*[[Development for Linux]]
*[[Development for Linux]]
*[[Development on Windows]]
*[[Development on Windows]]
==OBSOLETE==
The following instructions are obsolete, but are kept here temporarily for reference.


===Building On Windows===
===Building On Windows===
Line 83: Line 62:
##Open C:\pack\vtkMy\bin\vtkmy.sln (.dsw)
##Open C:\pack\vtkMy\bin\vtkmy.sln (.dsw)
##Click ‘Build’
##Click ‘Build’
==Setting up CVS access from Linux/Unix==
*To understand the codes for a CVS update, see page 121 of CVS users guide, section A.16.2.
# Valuable resource for understanding ssh:
#* http://www-106.ibm.com/developerworks/library/l-keyc.html
#* http://www-106.ibm.com/developerworks/library/l-keyc2/
# Setting up SSH access from "localbox" to "remotebox": <BR> <U>Localbox:</U>
#* ssh-keygen -t rsa [use a passphrase]
#: NOTE: Put the "id_rsa" (private file) in ~/.ssh.  There should only be one of these on a machine account.
#: NOTE: Put the “id_rsa.pub�? (public file) in ~/.ssh as “authorized_keys�? on remote machines; see “Remotebox�? below.
#* scp identity.pub skboyd@remotebox: [don't forget the last colon]
#* in ~/.bashrc:
#* export CVS_RSH=ssh
#* export CVSROOT=:ext:skboyd@m177.enme.ucalgary.ca:/localhost/cvsroot
#* eval `ssh-agent` {use the funny back single quotes}
:<BR><U>Remotebox:</U>
#* cat identity.pub >> ~/.ssh/authorized_keys
# To avoid writing your passphrase every time you log on, run ( on the local box!):
#* ssh-add ~/.ssh/ida_rsa
#: Should work if ssh-agent is already running (eval `ssh-agent`  in the .bashrc file).
# Do the following to limit access to cvs for the users:
#* edit the public key installed in the .ssh/authorized_keys file with the following at the beginning of the public key line:
#: command="/usr/bin/ssh server"
<U>NOTES ABOUT KEYS</U>
Remember, the "authorized_keys" file is a concatenation of public (id_rsa.pub) keys,
and the "id_rsa" is the private key. 
Every user on every computer should only have ONE "id_rsa" file,
but can have multiple "id_rsa.pub" files concatenated into
their "authorized_keys" file.
==Add a project to vtkMy==
# Add a new project directory in the vtkMy/src/Applications directory.
# Update the CMakeLists.txt file in /src/Applications to include the new directory in the SUBDIRS() list.
# Copy the CMakeLists.txt and source code files from an existing project such as AppMohr and put them into the new directory. These files can be edited for your new project.
# Edit the copied CMakeList.txt file and the change the name of the .cxx to the name of the new project.
# Run CMake, taking the source code from vtkMy/src and building the binaries in vtkMy/bin.
# Open the Visual C++ workspace and edit the source code (since at the moment it will be a duplicate of whatever project you copied in step 3).
# Compile your new code. Usually, all the development should be done in the “Debug�? mode (rather than “Release�?, etc.).
# If, to run your application, you need to include command line arguments, go to the menu item [Project][Settings], and on the ‘debug’ tab set the Program Arguments as shown.
[[Image:VtkMy_Project_Settings.jpg|center]]
==WinCVS and PuTTY for vtkMy==
NOTE: An alternative CVS client has been suggested, see following section:
<pre>
SmartCVS from www.syntevo.com with a foundation license.
</pre>
Setting up WinCVS to use PuTTY is fairly straightforward, but does require a few configuration settings in addition to installing the software. You can do it with the following steps.
#Install PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/).
#Install wincvs (http://www.wincvs.org/)
#Make a key:
#*Follow menus: Start/Programs/PuTTY/PuTTYgen From the PuTTY Manual: <br>
#:...press the "Generate" button and PuTTYgen will begin the process of actually generating the key.
#*First, a progress bar will appear and PuTTYgen will ask you to move the mouse around to generate randomness. Wave the mouse in circles over the blank area in the PuTTYgen window, and the progress bar will gradually fill up as PuTTYgen collects enough randomness. You don't need to wave the mouse in particularly imaginative patterns (although it can't hurt); PuTTYgen will collect enough randomness just from the fine detail of exactly how far the mouse has moved each time Windows samples its position.
#*When the progress bar reaches the end, PuTTYgen will begin creating the key. The progress bar will reset to the start, and gradually move up again to track the progress of the key generation. It will not move evenly, and may occasionally slow down to a stop; this is unfortunately unavoidable, because key generation is a random process and it is impossible to reliably predict how long it will take.
#*When the key generation is complete, a new set of controls will appear in the window to indicate this.
[[Image:putty_key_generator.jpg|center]]
# Set the key comment and password. Set the key comment to your email address by typing it into the "Key Comment" box. Set the password by entering it twice, once in the "Key passphrase" box and once in the "Confirm Passphrase" box.
#Save the keys:<br> save the public key on your desktop as <code>identity.pub</code> and the private one as <code>identity.ppk</code>
#Email the identity.pub file as an attachment to skboyd@ucalgary.ca and ask for it to be added to the .ssh/authorized_keys file for your cvs repository. Please specify which repository you are requesting access to in the e-mail (i.e., vtkMy).
#Setup environment variables
#* Choose Menus:<br>Start/Settings/Control Panel
#* Double click on the "System" Control Panel
#* Pick the "Advanced" tab and pick "Environment Varibles..."
#* Add User environement variables
#:- Add PLINK_PROTOCOL value "ssh"
#:- Add CVS_RSH value "plink"
#:- Edit or Add PATH appending value ";C:\Program Files\PuTTY"
# In WinCVS, bring up the "Preferences" dialogue box from the Admin menu
#* In the "General" tab put in your CVSROOT value, (i.e. <code>:ext:myusername@m177.enme.ucalgary.ca:/localhost/cvsroot</code>)<br>[[Image:Wincvs general.jpg|center]]
#* Switch to the "Ports" tab.
#* Tick the box there labelled "Check for an alternate rsh name" and in the text entry field to the right enter "plink". <BR>[[Image:Wincvs ports tab.jpg|center]]
#* Select "OK" on teh "Preferences" dialogue box.
# Once you've heard back from the administrator (skboyd) that your ssh keys have been added, test your putty key configuration:
#*Double click on "identity.ppk" on your desktop. If this doesn’t start pagaent.exe automatically, then manually start the program from the directory you installed putty.exe.
#* If your identity file isn't already loaded, you will be prompted for the password you entered in step 4.
#*The Pageant icon (a little PC with a hat) should appear in the bottom right menu bar.
You should now be able to use WinCVS to access the repository, with a secure connection whenever Pageant is running. You can start Pageant by double-clicking on your identity.ppk file.
==SmartCVS (Windows and MacOSX) ==
This program is an option instead of using WinCVS.  While it is easier to setup it is slower and WinCVS is preferred. It works great on MacOSX.
#Download program from: http://www.syntevo.com/smartcvs/download.html
#Run program
#Choose “Check out project from repository”
##Click Manage
##Click Add
##Click “Enter CVS-Location”
##Type:  :ext:username@m177.enme.ucalgary.ca:/localhost/cvsroot
##Click “Next”
##Choose password or Public/Private Key
#Either enter password or load key file and passphrase
#Click ‘Finish’
#When back to Check out project window, click next and wait for checkout

Latest revision as of 21:48, 7 December 2009

Compiling vtkMy

[edit]

NOTE: vtkMy classes and programs are gradually being migrated to vtkski and Bone Lab Applications.

In order to build vtkMy, you must first build vtkski. Refer to vtkski Development.

Required Software

[edit]

To build vtkMY, you will require SVN and VTK, as well as possibly Qt, ITK and FLTK, depending on which parts you want to build. Refer to the instructions for relevant platform:

OBSOLETE

[edit]

The following instructions are obsolete, but are kept here temporarily for reference.

Building On Windows

[edit]
  1. Download vtkMy source using WinCVS (see SmartCVS below as option to WinCVS)
    • a. Verify home directory as set up in Step 5.a.i.
    • b. Open menu Remote-> Checkout Module
      • Enter the following settings:
    Module name and path on server: vtkMy
    Local folder to checkout to: C:\pack\
    Check box: CVSROOT
    CVSROOT: :ssh:username@m177.enme.ucalgary.ca:/localhost/cvsroot
      • Click Ok
      • You will be prompted for your password to access the machine
      • Wait for checkout to complete
  2. Build vtkMy using Cmake
    • a. Open Cmake
    • b. Choose C:\pack\vtkMy\src as source code
    • c. Make C:\pack\vtkMy\bin binary code location
    • d. Click ‘Configure’ and choose desired compiler
    • e. Click the ‘Show Advanced Values’ check box and verify the following settings, all others can be left as defaults:
    BUILD_APPLICATIONS: ON
    BUILD_SHARED_LIBS: ON
    BUILD_TEST_PROJECTS: ON
    BUILD_MIXED_PROJECTS: ON
    BUILD_BACKWARDS_COMPATIBILITY: 2.4
    CMAKE_INSTALL_PREFIX: C:/Program Files/VTKMY
    USE_ITK: ON
    USE_QT: ON
    USE_FLTK: OFF
    • f. Click ‘Configure’, all red values should turn grey
    • g. May have to click configure again if any red values are still present
    • h. Click ‘Ok’, wait as Cmake will close automatically
  3. Add the following environment variables:
    1. Open the Control Panel
    2. Double click and open 'System'
    3. Go to the 'Advanced tab' and click on the 'Environment Variables' button
    4. In the System Variable Section click on the 'Path' variable and click 'edit'
    5. Add the following values separated by semi-colons
    C:\pack\vtkMy\bin\Debug
    C:\pack\vtkMy\bin\Utilities\tetrapack\Debug
    C:\pack\vtkMy\bin\Utilities\aimpack64\Debug
    C:\pack\vtkMy\bin\Unsorted\Debug
  4. Build vtkMy using Visual Studio (or desired program)
    1. Open C:\pack\vtkMy\bin\vtkmy.sln (.dsw)
    2. Click ‘Build’