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…


