LLNL's VisIt Manual

" VisIt is a distributed, parallel, visualization tool for visualizing data defined on two- and three-dimensional structured and unstructured meshes. VisIt's distributed architecture allows it to leverage both the compute power of a large parallel computer and the graphics acceleration hardware of a local workstation. Another benefit of the distributed architecture is that VisIt can visualize the data where it is generated, eliminating the need to move the data. VisIt can be controlled by a Graphical User Interface (GUI) or through the Python scripting language. "
- LLNL's VisIt:
  Getting Started Manual



[ build notes ]

[ patching notes ]

[ VisIt Home ]

[ VisIt FAQ ]

[ Paraview ]



compilation steps

| setup |

| mesa |

| vtk |

| qt |

| silo |

| visit |


...about the LLNL's Visit Visualization Tool
This is quick guide on compilation and execution of LLNL's VisIt 1.3.3 (vis.it): Visualization Tool, a parallel visualization end tool based on Kitware's VTK (Lawrence-Livermore National Laboratory © 2005). If you are looking for additional information, LLNL's VisIt may be hard to find in search engines like Google. Try searching for visit visualization or "llnl's visit" (with the quotation marks), or simple llnl visit.

GETTING VISIT SOURCE CODE (AND ADDITIONAL PACKAGES)

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#                                             VisIt Source Code
#
# http://www.llnl.gov/visit/source.html
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# curl -s http://www.llnl.gov/visit/source.html | grep href | grep ftp.llnl.gov | \
#      sed -e 's/^.*href=.//' | sed -e 's/">.*//' | awk '{print $0 " XX" $0 }' | \
#      sed -e 's/XXftp.*\///' | awk '{system ("curl -s " $1 " > src/" $2); }'
#

mkdir src
curl -s ftp://ftp.llnl.gov/pub/visit/visit1.3.3/BUILD_NOTES > src/BUILD_NOTES
curl -s ftp://ftp.llnl.gov/pub/visit/visit1.3.3/BUILD_NOTES_MacOSX > src/BUILD_NOTES_MacOSX
curl -s ftp://ftp.llnl.gov/pub/visit/visit1.3.3/visit040719.tar.gz > src/visit040719.tar.gz
curl -s ftp://ftp.llnl.gov/pub/visit/visit1.3.3/visitdev1.3.3.exe > src/visitdev1.3.3.exe
curl -s ftp://ftp.llnl.gov/pub/visit/3rd_party/cmake-1.8.1.tar.gz > src/cmake-1.8.1.tar.gz
curl -s ftp://ftp.llnl.gov/pub/visit/3rd_party/Mesa-5.0-mangled.tar.gz > src/Mesa-5.0-mangled.tar.gz
curl -s ftp://ftp.llnl.gov/pub/visit/3rd_party/Python-2.1.2.tar.gz > src/Python-2.1.2.tar.gz
#curl -s ftp://ftp.llnl.gov/pub/visit/3rd_party/qt-x11-2.3.0.tar.gz > src/qt-x11-2.3.0.tar.gz
#curl -s ftp://ftp.llnl.gov/pub/visit/3rd_party/qt-x11-free-3.0.2.tar.gz > src/qt-x11-free-3.0.2.tar.gz
curl -s ftp://ftp.llnl.gov/pub/visit/3rd_party/qt-x11-free-3.3.2.tar.gz > src/qt-x11-free-3.3.2.tar.gz
curl -s ftp://ftp.llnl.gov/pub/visit/3rd_party/silo040308.sh > src/silo040308.sh
curl -s ftp://ftp.llnl.gov/pub/visit/3rd_party/vtk_cvs_2003_10_28.tar.gz > src/vtk_cvs_2003_10_28.tar.gz
cd src

COMPILING

# read the BUILD_NOTES, or:
#   :: we recommend you start a "screen", and then
#   :: whenever doing a "make", you do a "make &"
#   :: then detatch the screen with "screen -d", go
#   :: take a nap, and then come back and re-attach
#   :: the screen with "screen -r" and pick up where
#   :: you left of

 
# ~~~~
# ~~~~ VISIT_INSTALL_DIRECTORY_SETUP
# ~~~~
mkdir visit
echo `pwd`/visit > visitpath
setenv VISIT_INSTALL_PATH ${cwd}/visit

 
# ~~~~
# ~~~~ MESA 5.0 INSTALL
# ~~~~
# do not do a "./configure --prefix=${VISIT_INSTALL_PATH}/mesa",
# it will destroy the already setup makefiles
#  :: takes about 15 minutes
#     :: it may be worth trying downloading mesa 5.0.1 and
#     :: compiling the GL and GLOsMesa libs from there to keep
#     :: everything in software!

mkdir visit/mesa
mkdir visit/mesa/lib
mkdir visit/mesa/include
mkdir visit/mesa/include/GL

gunzip Mesa-5.0-mangled.tar.gz
tar xvf Mesa-5.0-mangled.tar
rm Mesa-5.0-mangled.tar
cd Mesa-5.0/
make linux

cp include/GL/*.h ../visit/mesa/include/GL
cp lib/*.so       ../visit/mesa/lib
cd ..
rm -rf Mesa-5.0/

 
# ~~~~
# ~~~~ VTK 5.0 INSTALL
# ~~~~
# using exisitng cmake! (v.2.0.3)
#   :: cmake will take about 5 minutes
#   :: make will take about 30 minutes

gunzip vtk_cvs_2003_10_28.tar.gz 
tar xf vtk_cvs_2003_10_28.tar 
cd VTK

~/apps/cmake/bin/cmake .
~/apps/cmake/bin/ccmake .
  # press t for all options
  # BUILD_SHARED_LIBS -> ON
  # BUILD_TESTING -> OFF
  # VTK_USE_HYBRID -> ON
  # VTK_USE_MANGLED_MESA -> ON
  # VTK_USE_PATENTED -> ON
  # press c for configure
  # MANGLED_MESA_INCLUDE_DIR -> /home/slombey/apps/visit/src/visit/mesa/include
  # MANGLED_MESA_LIBRARY -> /home/slombey/apps/visit/src/visit/mesa/lib/libMesaGL.so
  # MANGLED_OSMESA_INCLUDE_DIR -> /home/slombey/apps/visit/src/visit/mesa/include
  # MANGLED_OSMESA_LIBRARY -> /home/slombey/apps/visit/src/visit/mesa/lib/libOSMesa.so
  # press c for configure
  # press g to generate makefiles
make

mkdir ../visit/vtk
mkdir ../visit/vtk/{Common,Filtering,Graphics,Hybrid,IO,Imaging,Rendering,MangleMesaInclude,lib}
cp vtkConfigure.h                 ../visit/vtk
cp vtkToolkits.h                  ../visit/vtk
cp vtk*Instantiator.h             ../visit/vtk
cp Utilities/zlib/zlib.h          ../visit/vtk
cp Utilities/zlib/zconf.h         ../visit/vtk
cp Utilities/zlib/zlibDllConfig.h ../visit/vtk
cp Common/*.h                     ../visit/vtk/Common
cp Filtering/*.h                  ../visit/vtk/Filtering
cp Graphics/*.h                   ../visit/vtk/Graphics
cp Hybrid/*.h                     ../visit/vtk/Hybrid
cp IO/*.h                         ../visit/vtk/IO
cp Imaging/*.h                    ../visit/vtk/Imaging
cp Rendering/*.h                  ../visit/vtk/Rendering
cp MangleMesaInclude/*.h          ../visit/vtk/MangleMesaInclude
cp bin/*.so                       ../visit/vtk/lib
cd ..

\rm vtk_cvs_2003_10_28.tar

 
# ~~~~
# ~~~~ QT 3.3.2 INSTALL
# ~~~~
#  :: configure will take about 5 minutes
#  :: make will take about 30 minutes
#
#  you can try 3.2.4, but i had no luck with it...
#  curl http://ftp.silug.org/mirrors/ftp.trolltech.com/qt/source/qt-x11-free-3.3.4.tar.gz \
#       > qt.3.4.tar.gz

#gunzip qt-x11-2.3.0.tar.gz
#tar xf qt-x11-2.3.0.tar
#cd qt-2.3.0
#setenv QTDIR `pwd`

## accept license by typing "yes"
#./configure -platform linux-g++ -shared -qt-libpng
#make

#gunzip qt-x11-2.3.0.tar.gz
#tar xf qt-x11-2.3.0.tar
#cd qt-x11-free-3.3.4
#setenv QTDIR `pwd`
#set path=($QTDIR/bin $path)
#setenv LD_LIBRARY_PATH $QTDIR/lib:$LD_LIBRARY_PATH

gunzip qt-x11-free-3.3.2.tar.gz
tar xf qt-x11-free-3.3.2.tar
cd qt-x11-free-3.3.2
setenv QTDIR `pwd`

setenv LD_LIBRARY_PATH $QTDIR/lib:$LD_LIBRARY_PATH
./configure -platform linux-g++ -shared -qt-libpng	#-thead? -GL=~/mesa?
# ./configure -L/home/slombey/apps/mesa.6.2.1/lib -thread -platform linux-g++ -shared -qt-libpng


# type "yes" to the license question
#  :: because of the GL driver, will need -thread
#  :: should try to compile with mesa if needed
./configure -platform linux-g++ -shared -qt-libpng -thread

make

mkdir ../visit/qt
mkdir ../visit/qt/bin
mkdir ../visit/qt/include
mkdir ../visit/qt/include/private
mkdir ../visit/qt/lib
cp bin/{designer,findtr,moc,qt20fix,qtrename140} ../visit/qt/bin
cd include; cp *.h ../../visit/qt/include
cp private/*.h ../../visit/qt/include/private
cd ../lib;find . -print | cpio -pvmud ../../visit/qt/lib
cd ../..

 
# ~~~~
# ~~~~ Silo INSTALL
# ~~~~
#  :: configure will take about 2 minutes
#  :: make will take about 3 minutes

sh silo040308.sh
cd silo040308
env CFLAGS=-O2 ./configure --without-readline --without-hdf5 --without-exodus
make

mkdir ../visit/silo
mkdir ../visit/silo/include
mkdir ../visit/silo/lib
cp silo/silo/silo.h   ../visit/silo/include
cp silo/silo/silo.inc ../visit/silo/include
cp silo/sdx/sdx.h     ../visit/silo/include
cp silo/sdx/sdx.inc   ../visit/silo/include
cp lib/libsilo.a      ../visit/silo/lib
cd ..

 
# ~~~~
# ~~~~ VISIT INSTALL !!!!!!!
# ~~~~
#  :: configure will take about 2 minutes
#  :: make will take about 3 minutes

gunzip visit040719.tar.gz
tar xf visit040719.tar
cd visit040719/config-site
echo VISITHOME=`cat ../../visitpath` > `hostname`.conf
cat Template.conf >> `hostname`.conf
cd ..

# edit the configure flag to include v 3.3.4 of Qt. search
# for "Qt version" and add 3.3.4 after 3.3.3
# may need to point to setenv LD_LIBRARY_PATH mesa/lib:mesa.6.2.1/lib:$LD_LIBRARY_PATH
env CXXFLAGS=-O2 ./configure

# some odd make hacks
#   * to the makefile in main/viewer add -lqt-mt
#   * copy qt/include/q* at gui/
#   * copy Python.h at visitpy/
#   * copy qt/include/q* at tools/silo
#   * copy vtk/IO/* vtk/Common/* to tools/surfcomp

make

clearcase_bin/visit-bin-dist
clearcase_bin/visit-install 1.3.3 linux `cat ../visitpath`

page by santiago v lombeyda, cacr, caltech © 2005