Installation instructions start with a clone:
cd $HOME
git clone http://bitbucket.org/simoncblyth/opticks
If you have commit access to opticks, you need to use SSH:
cd $HOME ;
git clone git@bitbucket.org:simoncblyth/opticks.git
To update an existing clone:
cd ~/opticks
git remote -v # should list bitbucket.org urls
git status
git pull
Setup opticks by copying ~/opticks/example.opticks_config to your
HOME directory and customizing it as instructed by the links therein:
cp ~/opticks/example.opticks_config ~/.opticks_config
vi ~/.opticks_config # adapt PREFIX paths
echo "source ~/.opticks_config" >> .bashrc
Then after starting a new bash session you can proceed with:
opticks-info # check bash hookup
opticks-full # download and build externals and opticks
Overview of Opticks installation steps
A high level overview of the sequence of steps to install Opticks are listed below.
For details see
install "system" externals : NVIDIA GPU Driver, CUDA, OptiX 7, 7.5 or 8.0 (6.5 not supported)
following instructions from NVIDIA. Check they are working.
use git to clone opticks bitbucket repository to your home directory, creating ~/opticks
hookup the opticks bash functions to your bash shell
- cp ~/opticks/example.opticks_config ~/.opticks_config
- ensure that your .bash_profile sources .bashrc
- add line to .bashrc "source ~/.opticks_config"
start a new session and check the bash functions are hooked up correctly with:
- opticks-info
- bash -lc "opticks-info"
install the foreign externals OR use preexisting installs of boost,clhep,xercesc,g4
-
opticks-foreign # lists them
-
opticks-foreign-install # installs them
edit ~/.opticks_config setting the paths appropriately for the
prefixes of the "system" and "foreign" externals and setting
the prefix for the opticks install (eg /usr/local/opticks)
install the "automated" externals and opticks itself with opticks-full
translate a geometry using for example g4cx/tests/G4CXOpticks_setGeometry_Test.sh, see :doc:`docs/testing`
test the opticks build with opticks-t
Orientation documents for developing an Understanding of the Opticks codebase