├── .gitignore ├── scripts ├── tbb.sh ├── boost.sh ├── zlib.sh ├── tiff.sh ├── ptex.sh ├── png.sh ├── ubuntu-packages.sh ├── ilmbase.sh ├── openexr.sh ├── USD.sh ├── oiio.sh ├── double-conversion.sh └── osd.sh └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | boost_1_62_0 2 | double-conversion 3 | ilmbase-2.2.0 4 | libpng-1.6.29 5 | oiio 6 | openexr-2.2.0 7 | OpenSubdiv 8 | ptex 9 | tbb2017_20170412oss 10 | tiff-3.8.2 11 | USD 12 | zlib-1.2.11 13 | 14 | -------------------------------------------------------------------------------- /scripts/tbb.sh: -------------------------------------------------------------------------------- 1 | abort() 2 | { 3 | echo -e >&2 '\e[1;31m 4 | *************** 5 | *** ABORTED *** 6 | *************** 7 | \e[0;37m' 8 | echo "something occurred in $0. Exiting..." >&2 9 | exit 1 10 | } 11 | #trap 'abort' 1 12 | #set -e 13 | 14 | echo -e "\e[1;32m 15 | ---------------------- 16 | ------- TBB 17 | ---------------------- 18 | \e[0;37m" 19 | 20 | if [ ! -d tbb2017_20170412oss ]; then 21 | echo -e "\e[1;32mdownloading from https://github.com/01org/tbb/releases/download/2017_U6/tbb2017_20170412oss_lin.tgz\e[0;37m" 22 | wget https://github.com/01org/tbb/releases/download/2017_U6/tbb2017_20170412oss_lin.tgz 23 | gunzip tbb2017_20170412oss_lin.tgz 24 | tar -xf tbb2017_20170412oss_lin.tar 25 | rm tbb2017_20170412oss_lin.tar 26 | else 27 | echo -e "\e[1;32m 28 | TBB already there 29 | \e[0;37m" 30 | fi 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /scripts/boost.sh: -------------------------------------------------------------------------------- 1 | abort() 2 | { 3 | echo -e >&2 '\e[1;31m 4 | *************** 5 | *** ABORTED *** 6 | *************** 7 | \e[0;37m' 8 | echo "something occurred in $0. Exiting..." >&2 9 | exit 1 10 | } 11 | #trap 'abort' 1 12 | #set -e 13 | 14 | echo -e "\e[1;32m 15 | ---------------------- 16 | ------- BOOST 17 | ---------------------- 18 | \e[0;37m" 19 | 20 | if [ ! -d boost_1_62_0 ]; then 21 | echo -e "\e[1;32mdownloading from https://sourceforge.net/projects/boost/files/boost/1.62.0/boost_1_62_0.tar.gz\e[0;37m" 22 | wget https://sourceforge.net/projects/boost/files/boost/1.62.0/boost_1_62_0.tar.gz 23 | gunzip boost_1_62_0.tar.gz 24 | tar -xf boost_1_62_0.tar 25 | rm boost_1_62_0.tar 26 | fi 27 | 28 | pushd boost_1_62_0 29 | ./bootstrap.sh || abort 30 | echo -e "\e[1;32m-------> build" 31 | echo -e "\e[0;37m" 32 | ./b2 || abort 33 | popd 34 | 35 | 36 | -------------------------------------------------------------------------------- /scripts/zlib.sh: -------------------------------------------------------------------------------- 1 | abort() 2 | { 3 | echo -e >&2 '\e[1;31m 4 | *************** 5 | *** ABORTED *** 6 | *************** 7 | \e[0;37m' 8 | echo "something occurred in $0. Exiting..." >&2 9 | exit 1 10 | } 11 | #trap 'abort' 1 12 | #set -e 13 | 14 | echo -e "\e[1;32m-----------------------------------" 15 | echo -e "\e[1;32m------- zlib-1.2.11" 16 | echo -e "\e[1;32m-----------------------------------" 17 | echo -e "\e[0;37m" 18 | 19 | if [ ! -d zlib-1.2.11 ]; then 20 | echo -e "\e[1;32mdownloading from http://www.zlib.net/zlib-1.2.11.tar.gz\e[0;37m" 21 | wget http://www.zlib.net/zlib-1.2.11.tar.gz 22 | gunzip zlib-1.2.11.tar.gz 23 | tar -xf zlib-1.2.11.tar 24 | rm zlib-1.2.11.tar 25 | fi 26 | 27 | pushd zlib-1.2.11 28 | ./configure || abort 29 | echo -e "\e[1;32m-------> install" 30 | echo -e "\e[0;37m" 31 | sudo make install || abort 32 | popd 33 | 34 | 35 | -------------------------------------------------------------------------------- /scripts/tiff.sh: -------------------------------------------------------------------------------- 1 | abort() 2 | { 3 | echo -e >&2 '\e[1;31m 4 | *************** 5 | *** ABORTED *** 6 | *************** 7 | \e[0;37m' 8 | echo "something occurred in $0. Exiting..." >&2 9 | exit 1 10 | } 11 | #trap 'abort' 1 12 | #set -e 13 | 14 | echo -e "\e[1;32m-----------------------------------" 15 | echo -e "\e[1;32m------- tiff-3.8.2" 16 | echo -e "\e[1;32m-----------------------------------" 17 | echo -e "\e[0;37m" 18 | 19 | if [ ! -d tiff-3.8.2 ]; then 20 | echo -e "\e[1;32mdownloading from http://dl.maptools.org/dl/libtiff/tiff-3.8.2.tar.gz\e[0;37m" 21 | wget http://dl.maptools.org/dl/libtiff/tiff-3.8.2.tar.gz 22 | gunzip tiff-3.8.2.tar.gz 23 | tar -xf tiff-3.8.2.tar 24 | rm tiff-3.8.2.tar 25 | fi 26 | 27 | pushd tiff-3.8.2 28 | ./configure || abort 29 | echo -e "\e[1;32m-------> install" 30 | echo -e "\e[0;37m" 31 | sudo make install || abort 32 | popd 33 | 34 | 35 | -------------------------------------------------------------------------------- /scripts/ptex.sh: -------------------------------------------------------------------------------- 1 | abort() 2 | { 3 | echo -e >&2 '\e[1;31m 4 | *************** 5 | *** ABORTED *** 6 | *************** 7 | \e[0;37m' 8 | echo "something occurred in $0. Exiting..." >&2 9 | exit 1 10 | } 11 | #trap 'abort' 1 12 | #set -e 13 | 14 | echo -e "\e[1;32m-----------------------------------" 15 | echo -e "\e[1;32m------- ptex" 16 | echo -e "\e[1;32m-----------------------------------" 17 | echo -e "\e[0;37m" 18 | 19 | if [ ! -d ptex ]; then 20 | echo -e "\e[1;32m-------> CLONING ptex\e[0;37m" 21 | git clone https://github.com/wdas/ptex || abort 22 | else 23 | echo -e "\e[1;32m-------> PULLING ptex\e[0;37m" 24 | pushd ptex 25 | git pull || abort 26 | popd 27 | fi 28 | 29 | 30 | if [ ! -d ptex/cmake_build ]; then 31 | mkdir ptex/cmake_build 32 | fi 33 | pushd ptex/cmake_build 34 | cmake .. || abort 35 | echo -e "\e[1;32m-------> install" 36 | echo -e "\e[0;37m" 37 | sudo make install || abort 38 | popd 39 | 40 | 41 | -------------------------------------------------------------------------------- /scripts/png.sh: -------------------------------------------------------------------------------- 1 | abort() 2 | { 3 | echo -e >&2 '\e[1;31m 4 | *************** 5 | *** ABORTED *** 6 | *************** 7 | \e[0;37m' 8 | echo "something occurred in $0. Exiting..." >&2 9 | exit 1 10 | } 11 | #trap 'abort' 1 12 | #set -e 13 | 14 | echo -e "\e[1;32m-----------------------------------" 15 | echo -e "\e[1;32m------- libpng-1.6.29" 16 | echo -e "\e[1;32m-----------------------------------" 17 | echo -e "\e[0;37m" 18 | 19 | if [ ! -d libpng-1.6.29 ]; then 20 | echo -e "\e[1;32mdownloading from ftp://ftp-osl.osuosl.org/pub/libpng/src/libpng16/libpng-1.6.29.tar.gz\e[0;37m" 21 | wget ftp://ftp-osl.osuosl.org/pub/libpng/src/libpng16/libpng-1.6.29.tar.gz 22 | gunzip libpng-1.6.29.tar.gz 23 | tar -xf libpng-1.6.29.tar 24 | rm libpng-1.6.29.tar 25 | fi 26 | 27 | pushd libpng-1.6.29 28 | ./configure || abort 29 | echo -e "\e[1;32m-------> install" 30 | echo -e "\e[0;37m" 31 | sudo make install || abort 32 | popd 33 | 34 | 35 | -------------------------------------------------------------------------------- /scripts/ubuntu-packages.sh: -------------------------------------------------------------------------------- 1 | abort() 2 | { 3 | echo -e >&2 '\e[1;31m 4 | *************** 5 | *** ABORTED *** 6 | *************** 7 | \e[0;37m' 8 | echo "something occurred in $0. Exiting..." >&2 9 | exit 1 10 | } 11 | #trap 'abort' 1 12 | #set -e 13 | 14 | echo -e "\e[1;32m-----------------------------------" 15 | echo -e "\e[1;32m------- apt-get work..." 16 | echo -e "\e[1;32m-----------------------------------" 17 | echo -e "\e[0;37m" 18 | sudo apt-get -y install python-dev || abort 19 | sudo apt-get -y install qt-sdk || abort 20 | sudo apt-get -y install libxxf86vm-dev || abort 21 | sudo apt-get -y install libglew-dev || abort 22 | sudo apt-get -y install libglfw3-dev || abort 23 | sudo apt-get -y install libxrandr-dev || abort 24 | sudo apt-get -y install libxcursor-dev || abort 25 | sudo apt-get -y install libxinerama-dev || abort 26 | sudo apt-get -y install libxi-dev || abort 27 | sudo apt-get -y install libjpeg-dev || abort 28 | 29 | -------------------------------------------------------------------------------- /scripts/ilmbase.sh: -------------------------------------------------------------------------------- 1 | abort() 2 | { 3 | echo -e >&2 '\e[1;31m 4 | *************** 5 | *** ABORTED *** 6 | *************** 7 | \e[0;37m' 8 | echo "something occurred in $0. Exiting..." >&2 9 | exit 1 10 | } 11 | #trap 'abort' 1 12 | #set -e 13 | 14 | echo -e "\e[1;32m-----------------------------------" 15 | echo -e "\e[1;32m------- ilmbase-2.2.0" 16 | echo -e "\e[1;32m-----------------------------------" 17 | echo -e "\e[0;37m" 18 | 19 | if [ ! -d ilmbase-2.2.0 ]; then 20 | echo -e "\e[1;32mdownloading from http://download.savannah.nongnu.org/releases/openexr/ilmbase-2.2.0.tar.gz\e[0;37m" 21 | wget http://download.savannah.nongnu.org/releases/openexr/ilmbase-2.2.0.tar.gz 22 | gunzip ilmbase-2.2.0.tar.gz 23 | tar -xf ilmbase-2.2.0.tar 24 | rm ilmbase-2.2.0.tar 25 | fi 26 | 27 | pushd ilmbase-2.2.0 28 | ./configure || abort 29 | echo -e "\e[1;32m-------> install" 30 | echo -e "\e[0;37m" 31 | sudo make install || abort 32 | popd 33 | 34 | 35 | -------------------------------------------------------------------------------- /scripts/openexr.sh: -------------------------------------------------------------------------------- 1 | abort() 2 | { 3 | echo -e >&2 '\e[1;31m 4 | *************** 5 | *** ABORTED *** 6 | *************** 7 | \e[0;37m' 8 | echo "something occurred in $0. Exiting..." >&2 9 | exit 1 10 | } 11 | #trap 'abort' 1 12 | #set -e 13 | 14 | echo -e "\e[1;32m-----------------------------------" 15 | echo -e "\e[1;32m------- openexr-2.2.0" 16 | echo -e "\e[1;32m-----------------------------------" 17 | echo -e "\e[0;37m" 18 | 19 | if [ ! -d openexr-2.2.0 ]; then 20 | echo -e "\e[1;32mdownloading from http://download.savannah.nongnu.org/releases/openexr/openexr-2.2.0.tar.gz\e[0;37m" 21 | wget http://download.savannah.nongnu.org/releases/openexr/openexr-2.2.0.tar.gz 22 | gunzip openexr-2.2.0.tar.gz 23 | tar -xf openexr-2.2.0.tar 24 | rm openexr-2.2.0.tar 25 | fi 26 | 27 | pushd openexr-2.2.0 28 | ./configure || abort 29 | echo -e "\e[1;32m-------> install" 30 | echo -e "\e[0;37m" 31 | sudo make install || abort 32 | popd 33 | 34 | 35 | -------------------------------------------------------------------------------- /scripts/USD.sh: -------------------------------------------------------------------------------- 1 | abort() 2 | { 3 | echo -e >&2 '\e[1;31m 4 | *************** 5 | *** ABORTED *** 6 | *************** 7 | \e[0;37m' 8 | echo "something occurred in $0. Exiting..." >&2 9 | exit 1 10 | } 11 | #trap 'abort' 1 12 | #set -e 13 | 14 | echo -e "\e[1;32m-----------------------------------" 15 | echo -e "\e[1;32m------- USD" 16 | echo -e "\e[1;32m-----------------------------------" 17 | echo -e "\e[0;37m" 18 | 19 | if [ ! -d USD ]; then 20 | echo -e "\e[1;32m-------> CLONING USD\e[0;37m" 21 | git clone https://github.com/PixarAnimationStudios/USD || abort 22 | else 23 | echo -e "\e[1;32m-------> PULLING USD\e[0;37m" 24 | pushd USD 25 | git pull || abort 26 | popd 27 | fi 28 | 29 | if [ ! -d USD/cmake_build ]; then 30 | mkdir USD/cmake_build 31 | fi 32 | pushd USD/cmake_build 33 | cmake -D BOOST_ROOT:path=`pwd`/../../boost_1_62_0 -D TBB_ROOT_DIR:path=`pwd`/../../tbb2017_20170412oss .. || abort 34 | echo -e "\e[1;32m-------> install" 35 | echo -e "\e[0;37m" 36 | sudo make install || abort 37 | popd 38 | 39 | 40 | -------------------------------------------------------------------------------- /scripts/oiio.sh: -------------------------------------------------------------------------------- 1 | abort() 2 | { 3 | echo -e >&2 '\e[1;31m 4 | *************** 5 | *** ABORTED *** 6 | *************** 7 | \e[0;37m' 8 | echo "something occurred in $0. Exiting..." >&2 9 | exit 1 10 | } 11 | #trap 'abort' 1 12 | #set -e 13 | 14 | echo -e "\e[1;32m-----------------------------------" 15 | echo -e "\e[1;32m------- oiio" 16 | echo -e "\e[1;32m-----------------------------------" 17 | echo -e "\e[0;37m" 18 | 19 | if [ ! -d oiio ]; then 20 | echo -e "\e[1;32m-------> CLONING oiio\e[0;37m" 21 | git clone https://github.com/OpenImageIO/oiio || abort 22 | else 23 | echo -e "\e[1;32m-------> PULLING oiio\e[0;37m" 24 | pushd oiio 25 | git pull || abort 26 | popd 27 | fi 28 | 29 | if [ ! -d oiio/cmake_build ]; then 30 | mkdir oiio/cmake_build 31 | fi 32 | pushd oiio/cmake_build 33 | cmake -D BOOST_ROOT:path=`pwd`/../../boost_1_62_0 -D STOP_ON_WARNING=0 -D BUILD_TESTING=0 -D OIIO_BUILD_TESTS=0 .. || abort 34 | echo -e "\e[1;32m-------> install" 35 | echo -e "\e[0;37m" 36 | sudo make install || abort 37 | popd 38 | 39 | 40 | -------------------------------------------------------------------------------- /scripts/double-conversion.sh: -------------------------------------------------------------------------------- 1 | abort() 2 | { 3 | echo -e >&2 '\e[1;31m 4 | *************** 5 | *** ABORTED *** 6 | *************** 7 | \e[0;37m' 8 | echo "something occurred in $0. Exiting..." >&2 9 | exit 1 10 | } 11 | #trap 'abort' 1 12 | #set -e 13 | 14 | echo -e "\e[1;32m-----------------------------------" 15 | echo -e "\e[1;32m------- double-conversion" 16 | echo -e "\e[1;32m-----------------------------------" 17 | echo -e "\e[0;37m" 18 | if [ ! -d double-conversion ]; then 19 | echo -e "\e[1;32m-------> CLONING double conversion\e[0;37m" 20 | git clone https://github.com/google/double-conversion || abort 21 | else 22 | echo -e "\e[1;32m-------> PULLING double conversion\e[0;37m" 23 | pushd double-conversion 24 | git pull || abort 25 | popd 26 | fi 27 | 28 | if [ ! -d double-conversion/cmake_build ]; then 29 | mkdir double-conversion/cmake_build 30 | fi 31 | pushd double-conversion/cmake_build 32 | cmake .. || abort 33 | echo -e "\e[1;32m-------> install" 34 | echo -e "\e[0;37m" 35 | sudo make install || abort 36 | popd 37 | 38 | 39 | -------------------------------------------------------------------------------- /scripts/osd.sh: -------------------------------------------------------------------------------- 1 | abort() 2 | { 3 | echo -e >&2 '\e[1;31m 4 | *************** 5 | *** ABORTED *** 6 | *************** 7 | \e[0;37m' 8 | echo "something occurred in $0. Exiting..." >&2 9 | exit 1 10 | } 11 | #trap 'abort' 1 12 | #set -e 13 | 14 | echo -e "\e[1;32m-----------------------------------" 15 | echo -e "\e[1;32m------- OpenSubdiv" 16 | echo -e "\e[1;32m-----------------------------------" 17 | echo -e "\e[0;37m" 18 | 19 | if [ ! -d OpenSubdiv ]; then 20 | echo -e "\e[1;32m-------> CLONING OpenSubdiv\e[0;37m" 21 | git clone https://github.com/PixarAnimationStudios/OpenSubdiv || abort 22 | else 23 | echo -e "\e[1;32m-------> PULLING OpenSubdiv\e[0;37m" 24 | pushd OpenSubdiv 25 | git pull || abort 26 | popd 27 | fi 28 | 29 | if [ ! -d OpenSubdiv/cmake_build ]; then 30 | mkdir OpenSubdiv/cmake_build 31 | fi 32 | pushd OpenSubdiv/cmake_build 33 | cmake -D TBB_LOCATION:path=`pwd`/../../tbb2017_20170412oss -D NO_CUDA=1 -D NO_CLEW=1 -D NO_DOC=1 -D NO_EXAMPLES=1 -D NO_GLTESTS=1 -D NO_OPENCL=1 -D NO_TUTORIALS=1 -D NO_DX=1 .. || abort 34 | echo -e "\e[1;32m-------> install" 35 | echo -e "\e[0;37m" 36 | sudo make install || abort 37 | popd 38 | 39 | 40 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Building Pixar's USD 2 | This git repository is meant to help you building USD: 3 | https://github.com/PixarAnimationStudios/USD 4 | The scripts should be able to do everything for you: 5 | - download packages or clone them 6 | - gunzip and tar -xf if needed 7 | - ./config if needed 8 | - cmake setup if needed 9 | - make install 10 | 11 | The ultimate result should be to have a fully compiled version of *USD* 12 | 13 | For more details on USD, please refer to this page: 14 | http://graphics.pixar.com/usd/docs/Introduction-to-USD.html 15 | 16 | Notes on the scripts: 17 | - Tested on Ubuntu 16.04. But 14.xx should work, too (I started with v14) 18 | - Never tested with other Linux distributions 19 | - strongly relies on *cmake* and *apt-get* 20 | - I am pulling specific versions of packages (when not using git). I do *not* test for the latest packages. So if the server removes or updates the versions, the script could fail. At least, the script won't look for the latest build 21 | - **TODO**: it is possible that I should improve the ./configure call to prevent useless build when already built... 22 | 23 | ## Notes on installing USD "by hand" 24 | Here are the notes I took when trying to gather everything consistently for USD to compile. Although these notes aren't relevant for using the scripts, I wanted to keep there and share them here, so that one could better figure-out what is at stake. 25 | When I was figuring-out which Ubuntu packages were needed, I often used this linke to check dependencies and required packages: 26 | Quite interesting to have a look at debian packages to know what to take: 27 | https://www.debian.org/distrib/packages#search_contents 28 | 29 | ### get ready for git 30 | You need to make sure you have a proper RSA key for SSH, so git can clone/pull properly 31 | 32 | ### Python 33 | `sudo apt-get install python-dev` 34 | ### Boost 35 | It is unfortunate but you need boost :-/ 36 | Get boost at http://www.boost.org/users/history/version_1_62_0.html 37 | Then: 38 | - `./bootstrap.sh` 39 | - then `./b2` to build 40 | - You will need to set BOOST_ROOT as a path variable in cmake ( *thefulpath/boost_1_62_0* ) 41 | 42 | ### Threading Building Blocks 43 | At https://www.threadingbuildingblocks.org/ 44 | Just keep it where you downloaded it: it already contains the binaries... and not need to bother with installing it (it turned out to be a problem for me). Then later you just need to set 45 | * `TBB_ROOT_DIR` for *USD* cmake 46 | * `TBB_LOCATION` for *OpenSubdiv* cmake 47 | 48 | ### double conversion 49 | At https://github.com/google/double-conversion 50 | - run `cmake` 51 | - `make` and/or `sudo make install` 52 | 53 | ### Open Image IO 54 | At https://github.com/OpenImageIO/oiio 55 | A first easy solution would be to install the existing one in the packages: 56 | - `sudo apt-get install libopenimageio-dev` 57 | - `sudo apt-get install openimageio-tools` 58 | 59 | But I found better to build it... 60 | 61 | To build it, you'll need the following: 62 | - install *libtiff* from http://dl.maptools.org/dl/libtiff/ 63 | -- download it 64 | -- invoke `./configure` 65 | -- `make` and/or `sudo make install` 66 | then you need zlib: http://www.zlib.net/ ( ./configure; make; sudo make install)... 67 | 68 | ### PNG library 69 | At http://www.libpng.org/pub/png/libpng.html 70 | - OpenEXR is needed: *see below* 71 | - set in cmake the path variable `BOOST_ROOT` to the boost's path 72 | - needs *jpeg* http://libjpeg.sourceforge.net/ 73 | -- If building it: it turned out that `sudo make install` did lead to some bad install procedure and prevented *oiio* to find the libraries/includes 74 | -- solution that worked for me: simple `sudo apt-get install libjpeg-dev` 75 | 76 | Then you can build oiio ! But with these changes in cmake options: 77 | - uncheck *"Stop on Warnings"* 78 | - remove the *build of tests*... no use 79 | - You must *Keep* `OIIO_BUILD_TOOLS` 80 | 81 | ### OpenEXR 82 | At http://www.openexr.com/ 83 | Either build it and install it: 84 | - install ilmbase-2.2.0.tar.gz first 85 | - or use Ubuntu: `sudo apt-get install libilmbase-dev`; `sudo apt-get install openexr`; `sudo apt-get install libopenexr-dev` 86 | 87 | I found fine to just build it... 88 | 89 | ### PTex 90 | At https://github.com/wdas/ptex 91 | cmake needs *zlib* 92 | - get zlib at http://www.zlib.net/ 93 | -- on zlib: run `./configure` 94 | -- `make` and/or `sudo make install` 95 | - On PTex: `make`; `sudo make install` 96 | 97 | ### OpenSubdiv 98 | At https://github.com/PixarAnimationStudios/OpenSubdiv 99 | - In cmake Set `TBB_LOCATION` to where to find the folder 100 | - For OpenGL use uncheck `NO_OPENGL` 101 | _Note_: I remember I got a linkage error with libGL.so... Nevertheless, you must make sure some gl and X11 packages are there: 102 | -- `sudo apt-get install libxxf86vm-dev` 103 | -- `sudo apt-get install libglew-dev` 104 | -- `sudo apt-get install libglfw-dev` 105 | -- `sudo apt-get install libxrandr-dev` 106 | -- `sudo apt-get install libxcursor-dev` 107 | -- `sudo apt-get install libxinerama-dev` 108 | -- `sudo apt-get install libxi-dev` 109 | 110 | Then you might want to *cancel anything that prevents to setup cmake*. At this point, it is up to you. For USD, I didn't bother using OpenCL or CUDA: 111 | - `NO_CUDA` checked 112 | - at least, I could keep OpenGL 113 | - keep `NO_PTEX` unchecked: we installed this library 114 | - `make` and/or `sudo make install` 115 | 116 | later for USD: 117 | - set `OPENSUBDIV_ROOT_DIR` to /usr/local : where OpenSubdiv got installed 118 | - if you used PTex, you still need zlib: http://www.zlib.net/ ( ./configure; make; sudo make install)... 119 | 120 | ### Qt 121 | I certainly didn't bother installing anything related to Qt outside of Ubuntu package system... 122 | - `sudo apt-get install qt-sdk` 123 | 124 | ### Python 125 | USD relies heavily on Python ! 126 | could you need `Pyside`... howewver it may not be so necessary: I could configure everything without it in a second test: 127 | -- sudo apt-get install libpyside-dev 128 | -- sudo apt-get install pyside-tools 129 | 130 | Python needs an OpenGL module: 131 | - `apt-get install python-opengl` 132 | 133 | ## Possible issues with cmake for USD 134 | These are issues I encoutered but, later, when trying again with a brand new system (Ubuntu 16.04), I did not get these errors anymore. However given we never know what can happen on another machine, I did prefer to keep these details here for whoever might encounter the same: 135 | 136 | ### OIIO version issues 137 | I think this issue came from the fact I tried the package of oiio instead of the latest source code. Leading to some missing entry points 138 | - The latest USD souce is using "`ImageBufAlgo::cut(...)`". But it seems like the oiio from Ubuntu is not up to date for it... yet. 139 | I Needed to comment this function in `/USD/pxr/imaging/lib/glf/oiioImage.cpp line 440`. If you built the new oiio, then you shouldn't have any problem 140 | - `OpenImageIO/oiioversion.h` didn't exist... probably again due to some version discrepancy. I replaced this name with `version.h` and it worked 141 | - Always make sure you set in cmake BOOST_ROOT to the path for boost_1_62_0 142 | 143 | ### OpenEXR 144 | if using an older version or pulling things from apt-get, it is possible that cmake script, in `FindOpenEXR.cmake` fails: it turns out that the *regexp* to track the version fails. `OPENEXR_VERSION_STRING` does NOT exist in OpenEXR. 145 | - You can edit `FindOpenEXR.cmake` at line 87 : `REGEX "#define PACKAGE_VERSION.*$")` 146 | 147 | If you installed from apt-get, it is possible that `OPENEXR_${OPENEXR_LIB}_LIBRARY` / `OPENEXR_LIBRARY_DIR` needs to look into `lib/x86_64-linux-gnu/`... 148 | *Note*: If you compile it, install would put it in `/usr/local/lib` and shouldn't raise any issue 149 | 150 | ### OpenSubdiv 151 | OpenSubdiv must be installed in `/usr/local` in any case, it seems... 152 | - at some point I needed to add in l.29 of `FindOpenSubdiv.cmake`: 153 | `ELSE() SET(OPENSUBDIV_ROOT_DIR "/usr/local")` 154 | - in the same `FindOpenSubdiv.cmake`, line 32: not sure what needs to be set for osdGPU (see _opensubdiv_FIND_COMPONENTS) ?? I Commented-out this part when I had this issue... 155 | - 156 | --------------------------------------------------------------------------------