Hoy es el turno de ver nuevamente como se compila Blender para la última versión del Ubuntu.
Actualmente la filosofía cambió por suerte, y los desarrolladores ya no nos brindan las librererias compuestas ni nos hacen compilar todo a nosotros. La nueva filosofía es un script que construye el entorno.
-Primero bajamos el encargado de sincronizar el source.
sudo apt-get install subversion
Con esto listo bajamos el source en una carpeta que no se mueva, en mi caso BLENDER-DEV
cd BLENDER-DEV.
svn co https://svn.blender.org/svnroot/bf-blender/trunk/blender
-Si queremos instalar cuda para usar la tarjeta gráfica (opcional): - Bajamos el CUDA TOOLKIT para Ubuntu de http://developer.nvidia.com/cuda-toolkit-40
- Abrimos una terminal una vez bajado, y tipeamos:
sudo sh archivoCuda.run
- Cuando nos pregunte por el path a usar solo tocamos enter.
- Para versiones modernas de gcc (>4.5) debemos hacer lo siguiente, sinó no anda:
Del archivo /usr/local/cuda/include/host_config.h borrar la linea
#error -- unsupported GNU version! gcc 4.5 and up are not supported!
Bien, ahora vamos a buscar el script para generar el entorno, situado en:
BLENDER-DEV/blender/build_files/build_environment/install_deps.sh
Antes que nada hacemos una copia de esto en la carpeta raiz, asi lo podemos editar.
Abrimos el archivo con el gedit y:
Para Osl cambiar:
BUILD_OSL=false por
BUILD_OSL=true
Para tener los archivos comprimidos guardados:
SRC="$HOME/src/blender-deps" por
SRC="BLENDER-DEV/src/blender-deps"
Ahora si, abrimos terminal, arrastramos el sh dentro y corremos.
Vamos a ver como se recarga el source y empiezan a bajar millones de librerias.
Casi seguro cuando quiera compilar OSL va a tirar un error que no reconoce el llvm (dato aportado por SephirothTBM), entonces, para solventar esto nos vamos a /usr/lib/llvm y nos fijamos si tenemos la versión 3.0 o 3.1.
En mi caso al tener la versión 3.1 vuelvo al archivo install_deps.sh y nos fijamos que hay una sección llamada compile_OSL(), es la encargada de compilar esto, entonces, abajo vamos a ver algo asi:
cmake_d="-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=$_inst
-D BUILDSTATIC=ON \
-D BUILD_TESTING=OFF"
A lo que le agregamos
cmake_d="-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=$_inst
-D BUILDSTATIC=ON \
-D BUILD_TESTING=OFF
-D LLVM_DIRECTORY=/usr/lib/llvm-3.0"
Guardamos y volvemos a correr el sh.
Si todo sale bien esto va a llegar al final y nos va a decir que si tenemos pensado usar cmake agregar unos flags, y lo mismo para scons. Los anotamos por ahi y seguimos.
Si queremos usar collada recordar instalar libxml2 versión dev!.
Ahora, vamos a tener dentro de BLENDER-DEV una carpeta con el source llamada blender. En el mismo nivel de "blender" hacemos una llamada "cmake" que va a ser nuestro taller.
Abrimos un terminal y hacemos lo siguiente:
cd 'BLENDER-DEV/cmake' && cmake ../blender && make -j8 install
Esta es la compilación sin nada... pero si queremos empezar a sumarle complementos abrimos el texto que nos dió cuando terminamos de construir el entorno y hacemos una lista que quedaría algo como lo siguiente (en mi caso):
cd '/media/WORKS/BLENDER_BUILDS/BLENDER-DEV/cmake' && cmake ../blender -DWITH_CYCLES_CUDA_BINARIES:BOOL=ON -DWITH_FFTW3:BOOL=ON -DWITH_MOD_OCEANSIM:BOOL=ON -DPYTHON_NUMPY_PATH:FOLDERPATH="/usr/include/" -DWITH_OPENCOLLADA:BOOL=ON -DPYTHON_VERSION:STRING="3.3" -DWITH_CODEC_FFMPEG=ON -DFFMPEG=/opt/lib/ffmpeg -DFFMPEG_LIBRARIES='avformat;avcodec;avutil;avdevice;swscale;rt;theoradec;theoraenc;theora;xvidcore;vpx;mp3lame;x264;openjpeg;schroedinger-1.0' -DCYCLES_OSL:PATH="/opt/lib/osl" -DWITH_CYCLES_OSL:BOOL=ON -DLLVM_DIRECTORY="/usr/lib/llvm-3.0" &&
make -j8 install
El Blender aparecerá dentro de cmake/bin.
Siempre recomiendo empezar por la compilación mas simple asi es mas sencillo encontrar errores.
-DLLVM_DIRECTORY=/usr/lib/llvm-3.0