Wednesday, June 10, 2009

Installing VisIt on Ubuntu 9.04 Jaunty Jackalope


-->This post represents the next episode in installing ParFlow on the Ubuntu/Debian system. The purpose of adding Silo support when installing ParFlow is to utilize VisIt for visualization with ParFlow. VisIt is a free and powerful visualization tool that works very well with ParFlow outputs. The VisIt website provides precompiled binaries for several platforms, none of which are Ubuntu/Debian. In order to use VisIt on Ubuntu/Debian, we must build from source code.

I have prepared a precompiled binary for 64-bit Ubuntu systems (which may also work on 64-bit Debian systems). It is known to work on one computer other than my own so far. If you would like to try it, let me know by commenting this post. I make no guarantees that it will work.

Like my ParFlow installation, this installation was filled with repetitions, loops and mulligans, which I will not detail. Building VisIt is a complicated and time intensive process. The developers of VisIt have prepared the “build_visit” script, which automates the process of building VisIt, its prerequisites and optional libraries, making it a little easier. After several problems installing optional libraries, I decided to forgo the optional packages, as they are not needed for ParFlow visualization.

Visit requires several prerequisite libraries and programs be installed before VisIt can be built. The build_visit script will download and install most these, but there are a few preparations that must be made before running the script. Here are the steps that I completed before running the script (successfully).

  1. First I added “libxmu-dev” using the Synaptic Package Manager. This can also be completed using apt-get. Note that there is also a “libxmuu-dev” package. Pick the one that has one “u.”
  2. Next I made a “visit” directory in my “parflow” directory (/visit) and downloaded the VisIt source code here: https://wci.llnl.gov/codes/visit/source.html.
  3. I downloaded the build_visit script and placed it in the visit directory with the visit source code tarball. The source code needs to be unpacked in this directory before running the build_visit script.
  4. VisIt needs to be built using the gcc compiler. My .bash_aliases has not changed since installing ParFlow, so I also needed to cancel the CFLAGS associated with the Intel Compiler.
export CC=gcc
export CFLAGS=
  1. Finally, in order to run the build_visit script, it needs to be made executable.
chmod 700 /visit/build_visit

Now we are ready to build VisIt. The build_visit script should download the needed third-party packages for you. If you would prefer to do it yourself, download the following packages from the bottom of the page at https://wci.llnl.gov/codes/visit/source.html and place them in the /visit directory. They do not need to be unpacked as the build_visit script takes care of that.
  • CMake 2.4.5 sources
  • Mesa 5.0 sources
  • Python 2.5 sources
  • Qt X11 3.3.8 sources
  • VTK 5.0.0c sources

To run the build_visit script, cd into the /visit directory and type:
./build_visit

The script will run through a series of input screens. Spacebar marks check boxes, enter/return moves to the next window, and I never figured out how to cancel, but that option appears to exist as well.

In the first window, I selected to install a parallel version of VisIt with Python support. I did not select any of the other options and I did not install any optional libraries. Do not install Java support. VisIt will not compile properly with that option. I tried to install with some optional packages initially and could not successfully complete the installation.

If you opt to install a parallel version of VisIt, you will be asked about directories for MPI. If you installed OpenMPI to the default location before building ParFlow, the given directories should be correct.

After agreeing to the Qt license agreement, the script took over and I had more than an hour free while it worked. If the build gets interrupted or stops due to an error, it will pick up where it left off when restarted.

If the build_visit script fails during the part where it is actually building VisIt, try entering the following environmental variables and running the build_visit script again.
export CFLAGS=-02
export CXXFLAGS=-02

Once installation of VisIt was complete, I added the following line to the .bash_aliases file:
vi ~/.bash_aliases
export PATH=$PATH://visit/visit1.11.2/src/bin

To call VisIt from the command line, simply type visit.

7 comments:

Unknown said...

Can you share the precompiled binary? I am interested in testing it out. Thanks!

Unknown said...

I'd like to get a precompiled binary too.
Thanks!

stuck with:
ula@ula-laptop:~/COSMOS/visit$ ./build_visit_script
Could not find 'dialog'; looking for 'whiptail'.
Unable to apply patch 1 to Qt 4.6.1

I do have Qt and openGl...

John Williams said...

The VisIt developers provide executables for versions 1.12 and later for 64-bit Ubuntu. Versions 1.12.1 and 1.12.2 have 32-bit executables as well. I only built a 64-bit version of 1.11 on Ubuntu, and the versions available on the website are better builds.

The executables are available here: https://wci.llnl.gov/codes/visit/executables.html. They are listed for Ubuntu 8.04, but I have found them to work on 9.04, 9.10 and 10.04 as well.

jkwiens said...

Have you installed Visit on Ubuntu 11.04 yet? I am having problems getting Visit to work with Unity.

John Williams said...

@jkwiens: Sorry for the delayed response. I haven't tried it on Ubuntu 11.04. I've been sticking with 10.04. I've found that VisIt doesn't always work with some graphics cards. I had trouble with an ATI Radeon card on my old laptop. Nvidia cards seem to have better luck. I've also encountered some ATI cards that work just fine. I'm not really sure what the pattern is.

書生 said...

Hello John,

I follow your steps and install the VisIt (from source code) on Ubuntu 10.04.3 64 bit right now. Just like you said, it tooks a lot of time for installing (it has taken 2 hrs till).

I had encountered with some problem you did not mention. The first one is about the libgl and OpenGL, and the second one is qt4.
For experience sharing, here is how I fixed it:
Installing these by apt-get install:
libosmesa6-dev libgl1-mesa-dev
qt4-dev-tools

After above installing, I think it could solve the problem with OpenGL and qt4.

Hope these would help others

Sadegh Dalfardi said...

I have installed visit 3.1.3 on ubuntu 20.04 in this way and without trouble>
first of all make a new directory named visit and go to this directory by cd command then download visit install3.1.3 by command wget for:https://wci.llnl.gov/simulation/computer-codes/visit/executables. and according to your system and version select corresponding visit tar.gz (for me:visit3_1_3.linux-x86_64-ubuntu20.tar.gz). notice this file should be in visit directory in which you want install visit. after that download visit install script from:https://wci.llnl.gov/simulation/computer-codes/visit/executables, and locate it in visit directory. then run this command: chmod 755 visit-install(corresponding version). (for me in visit-install3_1_3). and then run this command ./visit-install- - - "version" "platform" "directory"
for me(./visit-install3_1_3 "3.1.3" "linux-x86_64-ubuntu20" "/home/sadegh/pfdir/parflow/visit"
finally it will install in your system. It is hopped that it can help someone. this gear toward the beginner like me.