Skip to content

Building appleseed on Linux FAQ

Dorian Fevrier edited this page Mar 1, 2014 · 18 revisions

This page answers some of the questions you might have when building appleseed on Linux.

Notes

There are two ways to build appleseed on Linux:

  • you can use the third party libraries that ship with appleseed (available in the appleseed-deps repository);
  • or you can install the required libraries using your distribution package manager.

The first case is supposed to work on every Linux system as we freeze dependency versions to limit possible incompatibilities and problems. The downside of this is that you will have to compile each dependency yourself.

The second case is the preferred and easiest method but you could encounter specific problems related to your configuration.

appleseed builds cleanly (zero error, zero warning) on all platforms we support (64-bit Windows with VS 2012 or VS 2013; 64-bit Linux with gcc 4.5+; 64-bit OS X with clang 3+), and we always fix any error or warning that gets reported for platforms we don't officially support. On Linux, the latest Fedora and Ubuntu 64-bits releases are specially well tested.

C++ is almost surely the largest and most complex programming language ever devised. It's pretty well known that no existing C++ compiler supports the whole language: each compiler supports a slightly, subtly different subset of C++. That means that each time someone is trying to build appleseed on a platform / compiler / compiler version combo that we never used ourselves, he or she will probably hit a handful of new warnings or errors. This is the case on Linux just like on any other platform.

How to use every possible libraries available on my system? (2014/02/17)

Set every USE_EXTERNAL_(LIBNAME) CMake option to ON. Make sure the libraries are available on your system.

Do I really need CMake 2.8.12? My system only ships with CMake 2.8.7. (2014/02/17)

Yes, CMake 2.8.12 or later is required to build appleseed.studio. You will not be able to build appleseed.studio with earlier versions of CMake.

I have hard time with Alembic compilation (2014/03/01)

Alembic is not included in linux distributions yet and there are no prebuilt packages for linux or other OS. This means that you have to build Alembic on your own.

You can build Alembic using the 3rd party library sources.

Alternatively, you can build Alembic using the official repository and use the USE_EXTERNAL_ALEMBIC option. The option is meant for advanced users. Building Alembic from the official releases is not easy for a number of reasons:

  • All options are enabled by default. CMake fails if any dependency is not found. One has to read the CMakeLists files to find how to disable some options like building the python bindings or the OpenGL support.
  • The CMake files assume you are using python 2.6 and look for it in some hardcoded locations. It does not work with standard linux distributions that normally bundle version 2.7. You need to edit them to make them work with your python install.
  • Building the python bindings require ILMBase from OpenEXR 2.1 and PyIlmBase. Linux distributions normally include OpenEXR 1.7. So you need to build 2.1 too.
  • In addition, our FindAlembic module is a bit old. It was written when AbcOgawa and AbcMaterial were not part of Alembic, so it's not looking for those libraries. While the module works with newer Alembic versions, we don't use any of the new features yet.
  • Finally, appleseed's support for Alembic will be improved in the future, probably using the procedural geometry project. But right now our implementation is quite basic.

So, if Alembic is giving you problems when building appleseed, we recommend to disable it, at least for now. This can be done by setting WITH_ALEMBIC to OFF.

I have weird messages when I run appleseed.studio. (2014/02/17)

If you have this kind of messages when you run appleseed.studio:

Got bus address:  "unix:abstract=/tmp/dbus-1lVDjtDkEZ,guid=b71f94bf3f1e0feca84bc25d0000077f"
Connected to accessibility bus at:  "unix:abstract=/tmp/dbus-1lVDjtDkEZ,guid=b71f94bf3f1e0feca84bc25d0000077f"
Registered DEC:  true
Registered event listener change listener:  true
...

This is a bug in qt-at-spi. Removing the qt-at-spi package should solve the problem.

I still have troubles compiling appleseed on my distro. (2014/02/17)

The best place to get support is the appleseed-dev mailing list.

Please provide us with as much relevant information as you can, in particular:

  • the name and version of your Linux distro;
  • the name and version of your compiler (with gcc: gcc --version);
  • CMake flags you have enabled/disabled;
  • if appleseed doesn't compile, the first few error messages;