Skip to content

Building appleseed on Linux

François Beaune edited this page Mar 2, 2014 · 37 revisions

This page will guide you through the steps required to build appleseed on Linux.

In case of troubles, make sure to have a look at our Building appleseed on Linux FAQ.

Dependencies

To build appleseed, the following packages are required:

  • boost
  • zlib
  • libpng
  • imath
  • openexr
  • xerces-c++

The following packages are optional:

  • HDF5, if you want appleseed to support the Alembic file format
  • Alembic, if you want appleseed to support the Alembic file format
  • Qt 4.8 or later in the 4.x series, if you want to build appleseed.studio (the graphical user interface)
  • Python 2 or 3, if you want to build appleseed.python (the Python bindings)
  • OpenImageIO, if you want appleseed to support OSL
  • LLVM 3.3 or later, if you want appleseed to support OSL
  • OpenShadingLanguage, if you want appleseed to support OSL

Important: appleseed will not build using Qt 5.x or later, you do need a 4.x version of Qt.

Building appleseed

Open a terminal in the root directory of your appleseed installation and type:

mkdir build
cd build
cmake -DUSE_STATIC_BOOST=OFF
      -DUSE_EXTERNAL_ZLIB=ON
      -DUSE_EXTERNAL_PNG=ON
      -DUSE_EXTERNAL_EXR=ON
      -DUSE_EXTERNAL_ALEMBIC=ON
      -DUSE_EXTERNAL_XERCES=ON
      -DWITH_CLI=ON
      -DWITH_STUDIO=ON
      -DWITH_TOOLS=ON
      -DWITH_PYTHON=ON
      -DWITH_ALEMBIC=ON
      ..
make
  • WITH_CLI=ON : build appleseed.cli, the command line version of appleseed.
  • WITH_STUDIO=ON : build appleseed.studio, the graphical user interface version of appleseed.
  • WITH_TOOLS=ON : build the various tools that come with appleseed.
  • WITH_PYTHON=ON : build appleseed.python, the Python 2 or Python 3 bindings for appleseed.
  • WITH_ALEMBIC=ON : enable Alembic support in appleseed.

Building appleseed with OSL support

OSL support in appleseed requires a custom build of LLVM and OSL with RTTI enabled. The reason for the custom build is that by default LLVM and OSL disable RTTI, but in appleseed we make use RTTI.

The steps required to enable OSL support are:

  1. Build OpenImageIO.
  2. Build LLVM. Using configure is recommended as it's easier to get it working. After running configure, but before running make, make sure to enable RTTI:
configure [options] --prefix=/dir/where/to/install/llvm
export REQUIRES_RTTI=1
make
make install

passing --enable-targets=x86_64 as one of the options will skip building all the other targets (assuming you use a 64 bits OS).

  1. Build OSL. To enable RTTI, pass -DENABLERTTI=ON to CMake.
  2. Build appleseed. Enable OSL by passing -DWITH_OSL=ON to CMake.

If you find linking errors like: undefined reference to `typeinfo for [classname]', please check the RTTI settings for both LLVM and OSL.