Oct 152011
 

Ho seguito le istruzioni per la compilazione di Blender con Cycles e CUDA che riporto passo passo per Slackware
Innanzi tutto si installi il package da slackbuilds.org openAL che è l’unica dipendenza che manca alla Slackware current, riporto l’elenco completo:

  • subversion 1.6.16
  • python 2.6.6 -> local 3.2.2
  • gettext 0.18.1.1
  • mesa 7.10.2
  • libXi 1.4.2
  • libtiff 3.9.4
  • libjpeg v8a
  • libpng 1.4.8
  • openexr 1.7.0
  • openjpeg 1.4
  • pcre 8.12
  • libxml2 2.7.8
  • openal 1.12.854
  • sdl 1.2.14
  • ffmpeg 0.6.3
  • libsndfile 1.0.24

Si crei una cartella di lavoro

mkdir blender-cycles
cd blender-cycles

Si scarichi una versione recente di boost nella cartella di lavoro e si estragga in una cartella dedicata:

mkdir boost
cd boost
tar xzf ../../boost_1_47_0.tar.gz
cd boost_1_47_0/
./bootstrap.sh
./bjam -j8 variant=release link=static threading=multi --with-filesystem --with-thread --with-regex --with-system --with-date_time stage install --prefix=../

Si compili OpenImageIO:

cd ../..
git clone git://github.com/OpenImageIO/oiio.git
cd oiio
git checkout RB-0.10
mkdir -p build/linux
cd build/linux
cmake ../../src/ -DBUILDSTATIC=1 -DBOOST_CUSTOM=1 -DBoost_INCLUDE_DIRS=`pwd`/../../../boost/include/ -DBoost_LIBRARY_DIRS=`pwd`/../../../boost/lib -DBoost_LIBRARIES="boost_date_time;boost_filesystem;boost_thread;boost_regex;boost_system" -DCMAKE_INSTALL_PREFIX=`pwd`/../../dist/linux
make -j8 install

Si costruisca Python usando una versione almeno 3.2:

cd ../../..
mkdir python
cd python
tar xzf ../../Python-3.2.2.tgz
cd Python-3.2.2/
./configure --prefix=`pwd`/../
make -j8
#make test
make -j8 install

Si installi CUDA Toolkit (il mio package di cudatoolkit non funziona per la compilazione di blender) in una cartella dedicata. Durante l’installazione dare come directory di installazione al posto di /usr/local/cuda la cartella con percorso assoluto /home/gperon/blender-cycles/cudatoolkit:

cd ../../..
mkdir cudatoolkit
chmod +x cudatoolkit_4.0.17_linux_64_fedora13.run
./cudatoolkit_4.0.17_linux_64_fedora13.run

Dato che la versione di GCC di Slackware è superiore a 4.5 si commentino le righe seguenti in cudatoolkit/cuda/include/host_config.h

#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)
#error -- unsupported GNU version! gcc 4.5 and up are not supported!
#endif /* __GNUC__> 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4) */

Si compili Blender:

svn co https://svn.blender.org/svnroot/bf-blender/branches/cycles/ blender
mkdir build
cd build
cmake ../blender -DOPENIMAGEIO=../oiio/dist/linux -DBOOST=../boost -DBOOST_CUSTOM=1 -DBoost_INCLUDE_DIRS=`pwd`/../boost/include/ -DBoost_LIBRARY_DIRS=`pwd`/../boost/lib -DBoost_LIBRARIES="`pwd`/../boost/lib/libboost_date_time.a;`pwd`/../boost/lib/libboost_filesystem.a;`pwd`/../boost/lib/libboost_thread.a;`pwd`/../boost/lib/libboost_regex.a;`pwd`/../boost/lib/libboost_system.a" \
-DPYTHON_ROOT_DIR=../python -DPYTHON_INCLUDE_DIR=`pwd`/../python/include/python3.2m -DPYTHON_LIBRARY=`pwd`/../python/lib/libpython3.2m.a -DPYTHON_LIBRARIES="`pwd`/../python/lib/libpython3.2m.a" \
-DWITH_CYCLES_CUDA=ON -DCYCLES_CUDA=`pwd`/../cudatoolkit/cuda -DCYCLES_CUDA_ARCH=sm_20
make -j8 install

Si notino le opzioni per abilitare CUDA in particolare -DCYCLES_CUDA_ARCH=sm_20 specifica per la mia scheda grafica NVidia GTX 570.
Finalmente eseguire Blender con le opzioni di fabbrica che abilitano Cycles addon:

./bin/blender --factory-startup

La versione ufficiale di Blender con Cycles è prevista per fine anno, bisogna mettersi al lavoro per uno slackbuild nuovo di Blender…

 

progetto di Daniel Salazar 3Developer.com