CS 348B - Computer Graphics: Image Synthesis Techniques

PBRT Installation

SULinux Installation

OSX Installation

Windows Installation

Troubleshoot FAQ


We will only provide official support for the system on SULinux -- Stanford's brand of Redhat 9 Linux.  However, the system was also designed to build on OSX, and a VS 2003 build environment for Windows will be available by April 15th (see details below).

SULinux is installed on the 30 public machines of the Sweet Hall Graphics Labs, two rooms in the basement of Sweet Hall.  The machines are named raptor1 - raptor15 and firebird1 - firebird15.  Use ssh for remote access. Students in CS 348B have non-exclusive priority access to this laboratory, whose door is opened using your Stanford ID.


SULinux Installation

The following are instructions to install PBRT on your leland account through the Sweet Hall Graphics Lab machines.

Assume that your working directory is called '~/cs348b'.


OSX Installation Notes

If you have a Mac that you'd prefer to work on you can try installing PBRT on OSX.  The install procedure is the same as for SULinux -- the Makefile contains specializations for OSX compilation.  Please let us know if you try this and there are any problems.


Windows Installation

Download the archive /usr/class/cs348b/files/pbrt.win32.zip to your Windows machine.  Alternatively, you can use anonymous ftp to get the file (ftp.stanford.edu/class/cs348b).

The archive contains a Makefile describing what you need to build the system.  Note that you need Visual Studio 2003, and must install some Cygwin software. 

Note: The Visual Studio solution will build all of pbrt core and supplied plugins, but not the pbrt tools (most notably exrtotiff.exe).  If you want to use these utilities, please adapt a project file to build the source files in src/tools.  If you do this and would like to share your project file with other students, please send cs348b-spr0304-staff@lists.stanford.edu a note.  Updated: It will probably be difficult to build the utilities, because it requires obtaining and building some tiff libraries.  Instead, the pbrt folks have provided an EXR imageviewer.  This is located at /usr/class/cs348b/files/imageview.win32.zip

In addition, Eilene Hao has created and shared a heightfield project that you can add to the solution.  This is located at /usr/class/cs348b/files/heightfield.vcproj.


Troubleshooting FAQ


  1. Q: Is it a problem that I get some warning while compiling on SULinux?
    A: You may get a couple of warnings that you can ignore while compiling the pbrt tools.
  2. Q: Is it a problem that I get some warnings when untarring pbrt.tar?
    A:  You may get errors of the sort 'tar: pbrtsrc: Cannot change mode to 2700: Permission denied' which you can ignore.  The system will still unpack and build correctly.

Other Linux

  1. Q: In building pbrt, I get link errors from undefined symbols in some libraries located in OpenEXR/lib-linux/.  What's going on?
    A: These library binaries were built on RedHat 9.0 Linux, and there were some major compiler changes between RedHat 8 and 9.  If you are using an older version of Linux or a different flavor, please download and build the OpenEXR libraries on your system.  This will ensure that all the symbol definitions are consistent and eliminate linking problems.  The OpenEXR source is available from www.openexr.com.  Matt Pharr reports that it builds on Linux (and Mac) pretty easily.  An easier alternative is to log in to the Sweet Hall Graphics Lab SU Linux machines and run things there.


  1. Q: I get an error in "Yacc'ing pbrtparse" while building the first project 'core'.  What's going on?
    A: You need to install Cygwin flex and bison, as described in the readme.html file in pbrt.win32.zip.  Also, if you install it in a location other than the standard C:\cygwin, you need to modify the build information in the yacc and lex files.  To do this, in VS2003 Solution Explorer, expand the core project icon, and its "Parser Filed" folder.  Right click on each of the two files, pbrtlex.l and pbrtparse.y and change C:\cygwin to the location where you installed Cygwin.
  2. The VS 2003 build files will fail if the PBRT source is in a directory path that contains a space character. The problem shows up in the custom build steps for the Flex/Bison files in the core project, and in the copy post-build rule for the renderer project. Adding quotes around the filenames involved fixes the problem in both cases. (Thanks to Tim Foley for this note.)