Blender 2.53.1 - SVN 31824 - I386 - LINUX (Includes Blender API Docs) - GraphicAll.org
GraphicAll.org
Paste Code
Paste Blends
Paste Images

    Blender 2.53.1 - SVN 31824 - I386 - LINUX (Includes Blender API Docs)
    Builderterrywallwork
    OS
    DateSep-8-10
    TypeBF

    Description

    Updated Build Script to get contributed extra script and made the script more modular for easier tweeking.

    Script Start:

    #!/bin/bash
    BLENDERVERS=2.53
    B25BASEDIR="${HOME}/Blender-${BLENDERVERS}-SVN"
    B25BUILDINSTALL="${B25BASEDIR}/install/linux2"
    SVNROOTDIR="${B25BASEDIR}/Blender-${BLENDERVERS}"
    PYTHONVERS=3.1

    OSVERS="LINUX (Includes Blender API Docs)"
    CHIPVERS="I386"
    CURRENTDIRECTORY=""
    SPHINXBLENDEREXE="${B25BUILDINSTALL}/blender"
    SPHINXCONFDIR="${SVNROOTDIR}/source/blender/python/doc"
    SPHINXCONFNAME="sphinx_doc_gen.py"
    BLENDERPYTHONAPIDOCSDIR="${B25BASEDIR}/Blender Python API Documents"
    BLENDERSCRIPTSCONTRIBSVNURL="https://svn.blender.org/svnroot/bf-extensions/contrib/py/scripts/"
    BLENDERSCRIPTSCONTRIBCHECKOUTTO="${B25BASEDIR}/scriptscontrib"
    THESVNNUMBER=""

    function GetContribScripts {
    CURRENTDIRECTORY=`pwd`
        echo -e "Remove old contrib script at directory : ${BLENDERSCRIPTSCONTRIBCHECKOUTTO}\n"
        rm -rf "${BLENDERSCRIPTSCONTRIBCHECKOUTTO}"
        echo -e "Getting Extra User Python Scripts from url :\n${BLENDERSCRIPTSCONTRIBSVNURL}\nCopying to:\n${BLENDERSCRIPTSCONTRIBCHECKOUTTO}\n"
        svn checkout "${BLENDERSCRIPTSCONTRIBSVNURL}" "${BLENDERSCRIPTSCONTRIBCHECKOUTTO}"
        find "${BLENDERSCRIPTSCONTRIBCHECKOUTTO}" -type d -iname ".svn" -exec rm -rf "{}" \;

        cd "${BLENDERSCRIPTSCONTRIBCHECKOUTTO}"
        cp --recursive . "${B25BUILDINSTALL}/${BLENDERVERS}/scripts/"
       

    cd "${CURRENTDIRECTORY}"
    }


    function GenSphinxDocsAndCopy {
    CURRENTDIRECTORY=`pwd`

    echo "Generating Sphinx Documentation"
    echo "Changing Directory to Blender Trunk Directory : ${SVNROOTDIR}"
    cd "${SVNROOTDIR}"

    echo "Removing old Python API Docs ${BLENDERPYTHONAPIDOCSDIR}"
    rm -rf "${BLENDERPYTHONAPIDOCSDIR}"
    rm -rf "${SPHINXCONFDIR}/sphinx-in"
    rm -rf "${SPHINXCONFDIR}/sphinx-out"

    echo "Reading Sphinx Configuration from : ${SPHINXCONFDIR}/${SPHINXCONFNAME}"
    echo "Using Blender ${BLENDERVERS} Executable from : ${SPHINXBLENDEREXE}"
    ${SPHINXBLENDEREXE} -b -P "${SPHINXCONFDIR}/${SPHINXCONFNAME}"

    echo "Running sphinx-build command : sphinx-build ${SPHINXCONFDIR}/sphinx-in ${BLENDERPYTHONAPIDOCSDIR}"
    sphinx-build "${SPHINXCONFDIR}/sphinx-in" "${BLENDERPYTHONAPIDOCSDIR}"

    echo "Grabbing the Python API PDF Doc from http://www.blender.org/documentation/250PythonDoc/blender_python_reference_250.pdf"
    cd "${BLENDERPYTHONAPIDOCSDIR}"
    wget "http://www.blender.org/documentation/250PythonDoc/blender_python_reference_250.pdf"
    echo "Setting current working directory back to : ${CURRENTDIRECTORY}"
    cd "${CURRENTDIRECTORY}"
    }


    function RemoveAndStripFiles {
    echo "Removing pyc and pyo files and .svn from build - please wait."
    find "${B25BASEDIR}/install/Blender ${BLENDERVERS} - SVN ${THESVNNUMBER} - ${CHIPVERS} - ${OSVERS}" -iname "*.pyo" -exec rm {} \; &> /dev/null
    find "${B25BASEDIR}/install/Blender ${BLENDERVERS} - SVN ${THESVNNUMBER} - ${CHIPVERS} - ${OSVERS}" -iname "*.pyc" -exec rm {} \; &> /dev/null
    find "${B25BASEDIR}/install/Blender ${BLENDERVERS} - SVN ${THESVNNUMBER} - ${CHIPVERS} - ${OSVERS}" -iname ".svn" -exec rm {} \; &> /dev/null

    echo "Removing debug symbols - please wait."
    find "${B25BASEDIR}/install/Blender ${BLENDERVERS} - SVN ${THESVNNUMBER} - ${CHIPVERS} - ${OSVERS}" -exec strip --strip-all {} \; &> /dev/null
    }


    function CreatePackageFile {
    CURRENTDIRECTORY=`pwd`
    cd "${B25BASEDIR}/install"
    echo -e "Creating Blender ${BLENDERVERS} package file : ${B25BASEDIR}/install/Blender ${BLENDERVERS} - SVN ${THESVNNUMBER} - ${CHIPVERS} - ${OSVERS}.tar.bz2"
    tar --bzip2 -cf "${B25BASEDIR}/install/Blender ${BLENDERVERS} - SVN ${THESVNNUMBER} - ${CHIPVERS} - ${OSVERS}.tar.bz2" "Blender ${BLENDERVERS} - SVN ${THESVNNUMBER} - ${CHIPVERS} - ${OSVERS}"
    rm -rf "${B25BASEDIR}/install/Blender ${BLENDERVERS} - SVN ${THESVNNUMBER} - ${CHIPVERS} - ${OSVERS}"

    cd "${CURRENTDIRECTORY}"
    }


    function CopyBlenderFiles {
    echo -e "Copying all files from ${B25BUILDINSTALL} which is most current Blender ${BLENDERVERS} Build to\n" "${B25BASEDIR}/install/Blender ${BLENDERVERS} - SVN ${THESVNNUMBER} - ${CHIPVERS} - ${OSVERS}\nWhich will be packaged.\n"
    cp --recursive "${B25BUILDINSTALL}/" "${B25BASEDIR}/install/Blender ${BLENDERVERS} - SVN ${THESVNNUMBER} - ${CHIPVERS} - ${OSVERS}"
    }


    function CheckCreateBaseDir {
    if [ -d "${B25BASEDIR}" ]
    then
    echo -e "Found the Blender ${BLENDERVERS} svn base directory at : ${B25BASEDIR}\n"
    else
    echo -e "Cannot find the Blender ${BLENDERVERS} svn base directory at : ${B25BASEDIR}\nIt will be created.\n"
    mkdir -vp "${B25BASEDIR}"
    echo -e "Start this script again, hopefully the directory it needs to run is created!\n"
    exit 1
    fi
    }


    function SVNCheckoutGetNumber {
    echo -e "Checking out Blender ${BLENDERVERS} SVN Tree - This could take a long time, please wait...\n"
    svn checkout "https://svn.blender.org/svnroot/bf-blender/trunk/blender" "${SVNROOTDIR}" > "${B25BASEDIR}/sconschanges.txt"
    THESVNNUMBER=`cat "${B25BASEDIR}/sconschanges.txt" | tail --lines=1 | tr -d '[:punct:][:alpha:][:blank:]'`

    if [ -z ${THESVNNUMBER} ]; then
        exit
    fi

    echo -e "The most current SVN Blender ${BLENDERVERS} number is : $THESVNNUMBER\n"
    }


    function CheckNewUserConfigFile {
    cat "${B25BASEDIR}/sconschanges.txt" | grep 'linux2-config.py'

    if [ $? -eq 0 ] || [ ! -e ${SVNROOTDIR}/user-config.py ]
    then
        echo -e "New linux2-config.py in SVN.\nCopying file from ${SVNROOTDIR}/build_files/scons/config/linux2-config.py to ${SVNROOTDIR}/user-config.py\n"
        cp "${SVNROOTDIR}/build_files/scons/config/linux2-config.py" "${SVNROOTDIR}/user-config.py"
        echo -e "Alter ${SVNROOTDIR}/user-config.py to have the settings you want.  Or just Start this script again and it will use  the defaults\n"
        exit 1
    fi
    }


    function StartSconsBuild {
    echo -e "Starting the SCons Build!\n"

    export BF_NUMJOBS=4
    scons BF_NUMJOBS=4

    if [ $? -eq 0 ]
    then
        touch "${B25BASEDIR}/${THESVNNUMBER}"
        echo -e "SCons completed successfully!\n"
        GenSphinxDocsAndCopy
        echo "Copying the Blender Python API Documents in Blender Package area"
        cp --recursive "${BLENDERPYTHONAPIDOCSDIR}" "${B25BASEDIR}/install/linux2/"
        GetContribScripts
        echo "LIBGL_ALWAYS_SOFTWARE=1 ./blender" > "${B25BASEDIR}/install/linux2/blender-softwaregl"
        chmod a+xr "${B25BASEDIR}/install/linux2/blender-softwaregl"
    else
        touch "${B25BASEDIR}/${THESVNNUMBER}.error"
        echo -e "SCons failiure building!\n"
        exit 1
    fi
    }

    ### End of Function Definitions ###

    ### Main Start Point ###

    CheckCreateBaseDir

    #echo -e "Removing any previous .blender directory from install.\n"
    rm -rf ${B25BASEDIR}/install/linux2 > /dev/null

    SVNCheckoutGetNumber
    CheckNewUserConfigFile

    #echo -e "Going into directory : ${SVNROOTDIR}\n"
    cd "${SVNROOTDIR}"

    StartSconsBuild

    #echo -e "Removing the build directory so next build is totally clean.\n"
    rm -rf ${B25BASEDIR}/build > /dev/null

    CopyBlenderFiles
    RemoveAndStripFiles
    CreatePackageFile

    touch "${B25BASEDIR}/${THESVNNUMBER}.complete"
    echo "Completed!"

    Script End:

    ---

    Added SVN contrib scripts to build.

    ---

    Added Sphinx Python API documentation getting to build script, so that the current build of Blender has Python API document with it, which matches the most current build svn number.  Also included is the pdf version but this is not as current and not generated by my build, it is grabbed from the blender.org site.

    ---

    Updated my build script to be slightly more configurable.

    ---

    My scons user-config.py file:

    LCGDIR = '../lib/linux2'
    LIBDIR = "${LCGDIR}"

    BF_PYTHON = '/usr'
    BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
    BF_PYTHON_VERSION = '3.1'
    WITH_BF_STATICPYTHON = False
    BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
    BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
    BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}' #BF_PYTHON+'/lib/python'+BF_PYTHON_VERSION+'/config/libpython'+BF_PYTHON_VERSION+'.a'
    BF_PYTHON_LINKFLAGS = ['-Xlinker', '-export-dynamic']
    BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/libpython${BF_PYTHON_VERSION}.a'

    WITH_BF_OPENAL = True
    WITH_BF_STATICOPENAL = False
    BF_OPENAL = '/usr'
    BF_OPENAL_INC = '${BF_OPENAL}/include'
    BF_OPENAL_LIB = 'openal'
    BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a'

    BF_CXX = '/usr'
    WITH_BF_STATICCXX = False
    BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'

    BF_LIBSAMPLERATE = '/usr'
    BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
    BF_LIBSAMPLERATE_LIB = 'samplerate'
    BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'

    WITH_BF_JACK = True
    BF_JACK = '/usr'
    BF_JACK_INC = '${BF_JACK}/include/jack'
    BF_JACK_LIB = 'jack'
    BF_JACK_LIBPATH = '${BF_JACK}/lib'

    WITH_BF_SNDFILE = True
    BF_SNDFILE = '/usr'
    BF_SNDFILE_INC = '${BF_SNDFILE}/include/sndfile'
    BF_SNDFILE_LIB = 'sndfile'
    BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'

    WITH_BF_SDL = True
    BF_SDL = '/usr' #$(shell sdl-config --prefix)
    BF_SDL_INC = '${BF_SDL}/include/SDL' #$(shell $(BF_SDL)/bin/sdl-config --cflags)
    BF_SDL_LIB = 'SDL' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer

    WITH_BF_OPENEXR = True
    WITH_BF_STATICOPENEXR = False
    BF_OPENEXR = '/usr'
    # when compiling with your own openexr lib you might need to set...
    # BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR ${BF_OPENEXR}/include'

    BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR'
    BF_OPENEXR_LIB = 'Half IlmImf Iex Imath '
    BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
    # BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'


    WITH_BF_DDS = True

    WITH_BF_JPEG = True
    BF_JPEG = '/usr'
    BF_JPEG_INC = '${BF_JPEG}/include'
    BF_JPEG_LIB = 'jpeg'

    WITH_BF_PNG = True
    BF_PNG = '/usr'
    BF_PNG_INC = '${BF_PNG}/include'
    BF_PNG_LIB = 'png'

    WITH_BF_TIFF = True
    BF_TIFF = '/usr'
    BF_TIFF_INC = '${BF_TIFF}/include'
    BF_TIFF_LIB = 'tiff'

    WITH_BF_ZLIB = True
    BF_ZLIB = '/usr'
    BF_ZLIB_INC = '${BF_ZLIB}/include'
    BF_ZLIB_LIB = 'z'

    WITH_BF_INTERNATIONAL = True

    BF_GETTEXT = '/usr'
    BF_GETTEXT_INC = '${BF_GETTEXT}/include'
    BF_GETTEXT_LIB = 'gettextlib'
    BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
    #WITH_BF_GETTEXT_STATIC = True
    #BF_GETTEXT_LIB_STATIC = '${BF_GETTEXT}/lib/libgettextlib.a'

    WITH_BF_GAMEENGINE = True
    WITH_BF_PLAYER = False

    WITH_BF_BULLET = True
    BF_BULLET = '#extern/bullet2/src'
    BF_BULLET_INC = '${BF_BULLET}'
    BF_BULLET_LIB = 'extern_bullet'

    # enable freetype2 support for text objects
    BF_FREETYPE = '/usr'
    BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
    BF_FREETYPE_LIB = 'freetype'
    #WITH_BF_FREETYPE_STATIC = True
    #BF_FREETYPE_LIB_STATIC = '${BF_FREETYPE}/lib/libfreetype.a'

    WITH_BF_QUICKTIME = False # -DWITH_QUICKTIME
    BF_QUICKTIME = '/usr/local'
    BF_QUICKTIME_INC = '${BF_QUICKTIME}/include'

    WITH_BF_ICONV = False
    BF_ICONV = LIBDIR + "/iconv"
    BF_ICONV_INC = '${BF_ICONV}/include'
    BF_ICONV_LIB = 'iconv'
    BF_ICONV_LIBPATH = '${BF_ICONV}/lib'

    WITH_BF_BINRELOC = True

    # enable ffmpeg  support
    WITH_BF_FFMPEG = True  # -DWITH_FFMPEG
    BF_FFMPEG = '/usr'
    BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice'
    BF_FFMPEG_INC = '${BF_FFMPEG}/include/ffmpeg'
    BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
    #WITH_BF_STATICFFMPEG = True
    #BF_FFMPEG_LIB_STATIC = '${BF_FFMPEG_LIBPATH}/libavformat.a ${BF_FFMPEG_LIBPATH/libavcodec.a ${BF_FFMPEG_LIBPATH}/libswscale.a ${BF_FFMPEG_LIBPATH}/libavutil.a ${BF_FFMPEG_LIBPATH}/libavdevice.a'

    # enable ogg, vorbis and theora in ffmpeg
    WITH_BF_OGG = True  # -DWITH_OGG
    BF_OGG = '/usr'
    BF_OGG_INC = '${BF_OGG}/include'
    BF_OGG_LIB = 'ogg vorbis vorbisenc theoraenc theoradec'

    WITH_BF_OPENJPEG = True
    BF_OPENJPEG = '#extern/libopenjpeg'
    BF_OPENJPEG_LIB = ''
    BF_OPENJPEG_INC = '${BF_OPENJPEG}'
    BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'

    WITH_BF_FFTW3 = True
    BF_FFTW3 = LIBDIR + '/usr'
    BF_FFTW3_INC = '${BF_FFTW3}/include'
    BF_FFTW3_LIB = 'fftw3'
    BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'

    WITH_BF_REDCODE = False  
    BF_REDCODE = '#extern/libredcode'
    BF_REDCODE_LIB = ''
    # BF_REDCODE_INC = '${BF_REDCODE}/include'
    BF_REDCODE_INC = '${BF_REDCODE}/../' #C files request "libredcode/format.h" which is in "#extern/libredcode/format.h", stupid but compiles for now.
    BF_REDCODE_LIBPATH='${BF_REDCODE}/lib'

    # Mesa Libs should go here if your using them as well....
    WITH_BF_STATICOPENGL = False
    BF_OPENGL = '/usr'
    BF_OPENGL_INC = '${BF_OPENGL}/include'
    BF_OPENGL_LIB = 'GL GLU X11 Xi'
    BF_OPENGL_LIBPATH = '/usr/X11R6/lib'
    BF_OPENGL_LIB_STATIC = '${BF_OPENGL_LIBPATH}/libGL.a ${BF_OPENGL_LIBPATH}/libGLU.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a ${BF_OPENGL_LIBPATH}/libX11.a ${BF_OPENGL_LIBPATH}/libXi.a ${BF_OPENGL_LIBPATH}/libXext.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a'

    WITH_BF_COLLADA = False
    BF_COLLADA = '#source/blender/collada'
    BF_COLLADA_INC = '${BF_COLLADA}'
    BF_COLLADA_LIB = 'bf_collada'
    BF_OPENCOLLADA = '/usr'
    BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}'
    BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa'
    BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
    BF_PCRE = ''
    BF_PCRE_LIB = 'pcre'
    BF_PCRE_LIBPATH = '/usr/lib'
    BF_EXPAT = '/usr'
    BF_EXPAT_LIB = 'expat'
    BF_EXPAT_LIBPATH = '/usr/lib'

    WITH_BF_OPENMP = True

    #Ray trace optimization
    WITH_BF_RAYOPTIMIZATION = True
    BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-pthread']

    ##
    CC = 'gcc'
    CXX = 'g++'
    ##ifeq ($CPU),alpha)
    ##   CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing -mieee

    CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']

    CPPFLAGS = []
    CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
    if WITH_BF_FFMPEG:
      # libavutil needs UINT64_C()
      CXXFLAGS += ['-D__STDC_CONSTANT_MACROS', ]
    REL_CFLAGS = ['-O0']
    REL_CCFLAGS = ['-O0']
    ##BF_DEPEND = True
    ##
    ##AR = ar
    ##ARFLAGS = ruv
    ##ARFLAGSQUIET = ru
    ##
    C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement']
    CC_WARN = ['-Wall']
    CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']


    ##FIX_STUBS_WARNINGS = -Wno-unused

    LLIBS = ['util', 'c', 'm', 'dl', 'pthread', 'stdc++']
    ##LOPTS = --dynamic
    ##DYNLDFLAGS = -shared $(LDFLAGS)

    BF_PROFILE = False
    BF_PROFILE_CCFLAGS = ['-pg','-g']
    BF_PROFILE_LINKFLAGS = ['-pg']

    BF_DEBUG = True
    BF_DEBUG_CCFLAGS = ['-g']

    BF_BUILDDIR = '../build/linux2'
    BF_INSTALLDIR='../install/linux2'

    #Link against pthread
    PLATFORM_LINKFLAGS = ['-pthread']

    Note that all the debug info is stripped out of the build when I upload it to graphicall.

    ---

    ldd output for blender: ldd blender
        linux-gate.so.1 =>  (0x007da000)
        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x0085b000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0x001e7000)
        libz.so.1 => /lib/libz.so.1 (0x00a90000)
        libsamplerate.so.0 => /usr/lib/libsamplerate.so.0 (0x004c9000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00211000)
        libpython3.1.so.1.0 => /usr/lib/libpython3.1.so.1.0 (0x002a9000)
        libgettextlib-0.18.1.so => /usr/lib/libgettextlib-0.18.1.so (0x00634000)
        libopenal.so.1 => /usr/lib/libopenal.so.1 (0x00101000)
        libgomp.so.1 => /usr/lib/libgomp.so.1 (0x00c42000)
        libHalf.so.6 => /usr/lib/libHalf.so.6 (0x00152000)
        libIlmImf.so.6 => /usr/lib/libIlmImf.so.6 (0x008a5000)
        libIex.so.6 => /usr/lib/libIex.so.6 (0x00195000)
        libImath.so.6 => /usr/lib/libImath.so.6 (0x001ad000)
        libtiff.so.3 => /usr/lib/libtiff.so.3 (0x036a0000)
        libavformat.so.52 => /usr/lib/libavformat.so.52 (0x0382e000)
        libavcodec.so.52 => /usr/lib/libavcodec.so.52 (0x03dca000)
        libswscale.so.0 => /usr/lib/libswscale.so.0 (0x00b79000)
        libavutil.so.50 => /usr/lib/libavutil.so.50 (0x001b2000)
        libavdevice.so.52 => /usr/lib/libavdevice.so.52 (0x001c7000)
        libogg.so.0 => /usr/lib/libogg.so.0 (0x00804000)
        libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x0081e000)
        libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x03c52000)
        libtheoraenc.so.1 => /usr/lib/libtheoraenc.so.1 (0x00468000)
        libtheoradec.so.1 => /usr/lib/libtheoradec.so.1 (0x001d4000)
        libjack.so.0 => /usr/lib/libjack.so.0 (0x00497000)
        libsndfile.so.1 => /usr/lib/libsndfile.so.1 (0x00768000)
        libfftw3.so.3 => /usr/lib/libfftw3.so.3 (0x0096d000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x00ab6000)
        libGL.so.1 => /usr/lib/libGL.so.1 (0x00c51000)
        libGLU.so.1 => /usr/lib/libGLU.so.1 (0x00cca000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00d34000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0x004b2000)
        libutil.so.1 => /lib/libutil.so.1 (0x004c1000)
        libc.so.6 => /lib/libc.so.6 (0x00e6c000)
        libm.so.6 => /lib/libm.so.6 (0x00a64000)
        libdl.so.2 => /lib/libdl.so.2 (0x007db000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00a3c000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0373f000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x007e0000)
        librt.so.1 => /lib/librt.so.1 (0x00a59000)
        libIlmThread.so.6 => /usr/lib/libIlmThread.so.6 (0x0080a000)
        libbz2.so.1 => /lib/libbz2.so.1 (0x03946000)
        libva-0.31.1.1.so.1 => /usr/lib/libva-0.31.1.1.so.1 (0x00848000)
        libdirac_encoder.so.0 => /usr/lib/libdirac_encoder.so.0 (0x00ff8000)
        libfaad.so.2 => /usr/lib/libfaad.so.2 (0x00bdf000)
        libgsm.so.1 => /usr/lib/libgsm.so.1 (0x00811000)
        libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x09600000)
        libopenjpeg.so.2 => /usr/lib/libopenjpeg.so.2 (0x00b56000)
        libschroedinger-1.0.so.0 => /usr/lib/libschroedinger-1.0.so.0 (0x03959000)
        libspeex.so.1 => /usr/lib/libspeex.so.1 (0x00c20000)
        libvpx.so.0 => /usr/lib/libvpx.so.0 (0x0222b000)
        libx264.so.83 => /usr/lib/sse2/libx264.so.83 (0x075a6000)
        libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0x0108a000)
        libdc1394.so.22 => /usr/lib/libdc1394.so.22 (0x03b55000)
        libasound.so.2 => /lib/libasound.so.2 (0x035b3000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x00aa3000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x007fe000)
        libFLAC.so.8 => /usr/lib/libFLAC.so.8 (0x03ae2000)
        libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x0087e000)
        libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x004c5000)
        libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00c37000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x0119c000)
        /lib/ld-linux.so.2 (0x00885000)
        liborc-0.4.so.0 => /usr/lib/liborc-0.4.so.0 (0x0a8e0000)
        libraw1394.so.11 => /usr/lib/libraw1394.so.11 (0x011ba000)
        libusb-1.0.so.0 => /usr/lib/libusb-1.0.so.0 (0x0ac65000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x007d6000)

    Built on a Fedora 13 Box.


    DownloadBuild!!



    Blender Foundation's Chaos and Evolution Training DVD by David Revoy

    Comments
    Gear1924
    Thanks for this build!
    blenderien
    I can't lauch the build, i'm under ubuntu 9.04 and
    I do not know how to launch these builds.

    Please explain how that can make it work?
    Josh
    I'm on Ubuntu Jaunty as well, and I have python2.6 installed...When I launch the build from the terminal, it says,

    ./blender: error while loading shared libraries: libpython2.6.so.1.0: cannot open shared object file: No such file or directory

    My libpython2.6.so.1.0 is located in /usr/lib...Any idea why it can't find it? Thanks!
    *comment from the builder
    terrywallwork
    Hi,

    If you go into the Blender directory where blender is located and type ldd blender.

    You will see a list of all the libraries that blender expects to find. If any of them have not found by them in the list that is generated you need to either install the libraries it needs or symlink them to the same name as i built blender with.

    But if you already have the lib installed and its the same name then it should work. Having said that I am running Fedora 11, and ubuntu is very different from Fedora 11.
    Sam
    Hi, Thanks for the build! I'm also using Ubuntu Jaunty, and I've hit a dead end with the required libraries.

    I have the file libstdc++.so.6 installed, but the build seems to want version `GLIBCXX_3.4.11', which I don't have. Is there any way around this?
    *comment from the builder
    terrywallwork
    I did a bit of googleing and apparently the GLIBCXX_3.4.11 error is because I built fedora using a newish version of gcc version 4.4.0. Its what comes with Fedora 11. Which means my build linked against a newer version of glibc than you have on your system.

    What I would need you to do, to be sure is type the following command in your terminal in ubuntu:

    strings /usr/lib/libstdc++.so.6 | grep GLIBCXX

    It should generate a lot of GLIBCXX_ lines with different numbers. Can you let me know what the highest number is. My machine for example lists the following:

    strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_3.4.11
    GLIBCXX_3.4.12
    GLIBCXX_FORCE_NEW
    GLIBCXX_DEBUG_MESSAGE_LENGTH

    If your libstdc++.so.6 library is not in /usr/lib that please update the commad above to point to where it is.

    If I know the latest version of GLIBC you support, I will try building a version of Blender linked against that older library. But I can't promise that will even work, I have never tried it.

    As im not entirely sure what the magic gcc command is to make it build against an alternative version of GLIBCXX is, or even if its possible with gcc 4.4.0.

    Sam
    Thanks for your help! Here's what returned on my machine, which should be typical of any other Jaunty installation:

    $ strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_FORCE_NEW
    GLIBCXX_DEBUG_MESSAGE_LENGTH

    So it looks like I'm behind by two versions, or just one if your build is with ~3.4.11. Perhaps I can install a newer Debian package.
    lolko7
    Could Someone make a build blender 2.5 for linux 64bit python 2.6 ?

    Greetings
    *comment from the builder
    terrywallwork
    Sam,

    Try this link, its a test build of Blender 2.5 with a slight change. Dont think it will solve the GLIBCXX issue but its all I could find while googleing.

    http://files.ww.com/files/55732.html

    I wont upload it here because it may not work and there is no way for me to test it.

    The only other way I could possibly get it to work is compile it with an older compiler version but even then I am not 100% certain that would work either.

    Sam
    Sorry, I got the same problem- but thanks for trying!
    angelo
    works fine on.... guess what.. fedora11.. very cool.. btw whats the svn for 2.5?
    *comment from the builder
    terrywallwork
    Angelo,

    Here is the svn info you wanted:

    svn checkout https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender
    hishnash
    for that are interested iv started comping a human readable list of keyboard short-cuts for blender 2.5 at

    http://blender-dev.blogspot.com/

    though you can always use ctrl+alt+f to bring up the new search function.
    Michael
    Sam, install http://packages.ubuntu.com/karmic/gcc-4.4-base and http://packages.ubuntu.com/karmic/libstdc++6, it works!
    Jojo
    Works fine here on openSUSE 11.1.

    Blender 2.5 is gonna rule!

    (But where did all the edit buttons go?)
    Floris
    I'm on an up-to-date Ubuntu Jaunty on which the following error was reported:

    /home/floris/Desktop/blender/blender: error while loading shared libraries: libopenal.so.0: cannot open shared object file: No such file or directory

    which I fixed by running this command in the terminal:
    (first make sure you have the libopenal1 installed)
    sudo ln -s /usr/lib/libopenal.so.1 /usr/lib/libopenal.so.0

    I found this additional information in the Ubuntu forums:
    For those of you who are using 9.04 64 bit edition, don't forget that you must do this for the 32bit libraries. The command: sudo ln -s /usr/lib/libopenal.so.1 /usr/lib/libopenal.so.0 will only update the 64bit libraries.

    To fix this in your 64bit version type:
    sudo ln -s /usr/lib32/libopenal.so.1 /usr/lib32/libopenal.so.0

    After doing this I was able to run the X-Plane installer.
    Floris
    I'm not running an alpha release of Ubuntu btw ... just 9.04
    Saverio
    This release works GOOD on ubuntu 9.04,
    but i added symbolic links to make functioning a previous release..
    In the news i read "Campbell just commited a Python console inside the Text Editor!. In revision: 21549"
    Where is this Python console?
    good job terrywallwork :)
    thanks!!
    *comment from the builder
    terrywallwork
    Saverio: If you look in the window types menu for the most recent build you should see a new window type called Console.

    Hope this helps.
    jadhav333
    this build didnot work on my ubuntu 9.04

    Got the following error:
    Compiled with Python version 2.6.2.
    Checking for installed Python... got it!
    Xlib: extension "GLX" missing on display ":0.0".
    intern/ghost/intern/GHOST_WindowX11.cpp:177: X11 glxChooseVisual() failed for OpenGL, verify working openGL system!
    X Error of failed request: BadWindow (invalid Window parameter)
    Major opcode of failed request: 18 (X_ChangeProperty)
    Resource id in failed request: 0x0
    Serial number of failed request: 12
    Current serial number in output stream: 13

    Can somebody pls advise..
    Thx
    jadhav333
    this build didnot work on my ubuntu 9.04

    Got the following error:
    Compiled with Python version 2.6.2.
    Checking for installed Python... got it!
    Xlib: extension "GLX" missing on display ":0.0".
    intern/ghost/intern/GHOST_WindowX11.cpp:177: X11 glxChooseVisual() failed for OpenGL, verify working openGL system!
    X Error of failed request: BadWindow (invalid Window parameter)
    Major opcode of failed request: 18 (X_ChangeProperty)
    Resource id in failed request: 0x0
    Serial number of failed request: 12
    Current serial number in output stream: 13

    Can somebody pls advise..
    Thx
    Saverio
    Thanks for the answer, terrywallwork..
    Saverio
    @jadhav333, my 2 cents : maybe your graphic card drivers do not support opengl?
    the opengl example programs (glxheads, glxgears, glxdemo and glxinfo) works correctly on your ubuntu installation?
    *comment from the builder
    terrywallwork
    jadhav333: I quick test, if you run blender-softwaregl rather than the blender executable, does it still give the same error? The blender-softwaregl script should be in the same directory as the blender executable file. It should try to run a software version of opengl.
    Saverio
    GOOD!!
    the console and the toolbar to te left are great!!
    good build!!
    Maia
    Funcionou bem no Ubuntu 9.04 i386. Works on Ubuntu 9.04 i386. tks. Maia.



    Michael says:
    Sam, install http://packages.ubuntu.com/karmic/gcc-4.4-base and http://packages.ubuntu.com/karmic/libstdc++6, it works!
    Maia
    Funcionou bem no Ubuntu 9.04 i386. Works on Ubuntu 9.04 i386. tks. Maia.



    Michael says:
    Sam, install http://packages.ubuntu.com/karmic/gcc-4.4-base and http://packages.ubuntu.com/karmic/libstdc++6, it works!
    Halfr
    Thanks a lot for this build !
    zero
    Works fine on Ubuntu Hardy after linking the needed libraries. Thank you.

    Here's what I did:

    sudo ln -s /usr/lib/libHalf.so.2 /usr/lib/libHalf.so.6
    sudo ln -s /usr/lib/libIlmImf.so.2 /usr/lib/libIlmImf.so.6
    sudo ln -s /usr/lib/libIex.so.2 /usr/lib/libIex.so.6
    sudo ln -s /usr/lib/libImath.so.2 /usr/lib/libImath.so.6

    Wow, blender 2.5 is turning out to be incredibly speedy. It's made scenes of mine that were unbearably slow to navigate as smooth as silk!
    Tim Capelle
    Thank you this build works great in Ubuntu 9.10 with the help of Floris advice to change the directory name.

    Great work everyone
    Dylan McCall
    Eeeek! Don't create symlinks as root. You don't need to do that here :)

    The blender-softwaregl script already sets LD_LIBRARY_PATH=${BF_DIST_BIN}/lib:${LD_LIBRARY_PATH}. This means that shared libraries (like those in /lib) are looked for in `the current directory`/lib first, then the usual system locations.

    So, create a directory called "lib" beside the blender-softwaregl script. Now add your symlinks there as a normal user. For example:
    $ ln -s /usr/lib/libopenal.so.1 ./lib/libopenal.so.0

    Debian will thank you in the end :)

    Terry, it would be awesome if you distributed this with that symlink already in, if it isn't trouble.

    And wow, 2.5 continues to astound. The toolbox is impressive. And the speed. The speed! How did they do that?...
    At this point it's the best media program I've ever used, hands down, yet it loads faster than my text editor.
    *comment from the builder
    terrywallwork
    Dylan McCall: If I am understanding right you need the symlinks because debians has them named differently? While I have no issue with making the symlinks, I would need to know what names debian expects. (Assuming I am understanding what your requesting).
    Dylan Mccall
    Ah, sorry I wasn't completely clear. The symlink Debian needs is actually the "example" I had. Debian has libopenal.so.1, but no libopenal.so.0. The lib directory with your build needs a symlink called "libopenal.so.0" that points to /usr/lib/libopenal.so.1 to work instantly in Debian :)

    Thanks!
    *comment from the builder
    terrywallwork
    Dylan Mccall: Added the symlinks, can't test if they work because I don't have a debian box, so any problems let me know.
    Dylan Mccall
    Works out of the box now, for me.

    (Note that I do have a truckload of odd libraries and dev packages installed, so mileage may vary).

    Thanks for your hard work! This saves me a lot of time :)
    teldredge
    This is great! First 2.5 build I've used with volumetric rendering I've tried.
    Thanks so much for building this!
    Rickylev@r
    Works well on Jaunty :D .... Thanks much man!

    (question tho: has the shortcut key for switching the edit-selection mode (vertex-edga-face) been changed from ctrl-tab? .... Doing ctrl-tab while in edit mode makes it switch to weight paint mode for me
    *comment from the builder
    terrywallwork
    Rickylev@r: Looks like that key combo for changing from vert, line and face selection mode is ctrl-tab 1, ctrl-tab 2 and ctrl-tab 3.

    *comment from the builder
    terrywallwork
    update - well according to the Blender 2.5 tooltips it's supposed to be ctrl-tab1,2,3 but they don't seem to work.

    I will have to see if I can't change them in the key outliner or maybe they arnt implemented yet.
    abhifx
    i am on ultimate edition 2.3 based on updated jaunty. m gettin an error "error while loading shared libraries: libgettextlib-0.17.so: cannot open shared object file: No such file or directory". i cant find this library libgettextlib. thanks in advance
    *comment from the builder
    terrywallwork
    abhifx: First thing i would suggest is using whatever package management system you have on you Linux distro and typing gettext into and and see if the gettext libraries are installed.

    If the gettext packages are installed then I need you to type the following command in a terminal window:

    ls --recursive -al /usr/lib > ~/librarynames.txt ; gzip ~/librarynames.txt

    The above command will get a list of all the library names in your /usr/lib directory (which is normally where most of the libraries are). In your home directory there should be a file called librarynames.txt.gz (if you issued the command above). Post that file online somewhere and tell me the link (I normally using files.ww.com for uploading files).

    With that file I will be able to look at what the name of the gettext libraries is on your system (assuming that are installed).

    abhifx
    thanks for replying. i have checked that gettext is installed. i have generated the list of library and i have posted it on abhishekfx.jimdo.com in the tutorial section. i couldn't find any place quickly. just for the information, i have a very crappy internet connection (max download speed of 2.5 kBps) so it takes a painful time to download a build. and it sucks and it doesn't work. so please help me make this work. thank you again.
    *comment from the builder
    terrywallwork
    abhifix: I was unable to download the list from your site, there is a link there but it doesnt appear to do anything. Il check back periodically in case things change :)
    th3raid0r
    Looks like the particle systems are broken in this release... Dang...
    dsavi
    terrywallwork, where did you get the Python 3.1 development files? (If that's what they're called- They should be in /usr/include/python3.1) I have looked all over for them.

    Thanks for the builds, they work quite well for being a development build. :)
    *comment from the builder
    terrywallwork
    dsavi: I am not entirely sure if this is what your asking but:

    My fedora 11 box only comes with Python 2.6 (they don't support Python 3.1 yet). So I have to manually download and install Python 3.1. The thing was that a lot of Python code that fedora 11 uses would stop working if I just replaced Python 2.6 with 3.1. So I did it so that Python 2.6 and 3.1 were installed in different places. I installed all my Python 3.1 stuff in /opt/python31. Then I told my Blender compile scons config file the new location of my python 3.1 files. At this point the scons config file copies all my Python 3.1 files into the Blender compile. That is why I am able to make 2.6 and 3.1 builds of Blender. If your machine has Python 3.1 installed Blender will use your version. If it only have Python 2.6 it will notice and use the internal Python 3.1 version that it copied from my machine.

    http://www.python.org/download/ is where i got my python 3.1 source from. I compiled it from source. Depending on your distribution of Linux you may not need to compile from source just check your distribution repository and see if they have a pre-packaged version. If you go the Python 3.1 source install route its not that difficult and there is a readme/install text file that explains it.

    If you go the distribution pre-packaged route make sure to install python and the python development files. The dev files will mean you can compile your own version of Blender 2.5 if needed.
    chuck
    zero, thank you, that fixed my one bad lib on Ubuntu 8.04.
    Cris Polecat
    Can someone tell me how to start the 2.5 svn in ubuntu 9.10?
    I tried by clicking on the blender file and nothing happened then from the terminal writing "blender" but it said that blender is not installed (!?!?). I got my 2.48 installed from Ubuntu software center. Any hints? I'd really like to try these builds on ubuntu, thanks!
    Terry Wallwork
    Cris Polecat: The first thing you would do is download and extract the contents of the the file onto you desktop, which should leave you with a new directory on your desktop. Navigate into that directory. You should see all the files for this build. Either click on the blender file and run it that way or click on the blender-softwaregl file and have it run in software gl mode (which sometimes helps with display problems). If you did both of these and still Blender 2.5 did not launch then you need to open a xterminal (console window). And navigate to your desktop from the command line and run blender from there, nothing any messages displayed in the console.

    Also if possible navigate to where you extracted the blender software to and type the following:

    ldd ./blender

    That should display all the libraries it expects to find to fun this version of Blender, if any of them are missing (they will have the words not found or missing in their display), then you will need to install those libraries.

    Sunboy
    Hey, I get a weird error when starting Blender:
    symbol lookup error: ./blender: undefined symbol: _ZZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonEE4i1m3
    *comment from the builder
    terrywallwork
    Sunboy: Not sure what the cause of the symbol lookup is. Look like some sort of name mangling issue, got no clue how would fix though. Maybe someone in #blendercoders on irc.freenode.net could give you (and me) more info.

    Also does it happen with a more recent build of mine, or wish any of the builds that fish makes on here also?
    oslo
    Sunboy: I've got exactly the same message here.
    Just did a fresh install of Ubuntu 9.10 and installed all the missing libs (see above (gettext, etc.)).
    But now it ends up saying it misses the undefined symbol.

    What info do you need to help me out?
    oslo
    Sunboy: I've got exactly the same message here.
    Just did a fresh install of Ubuntu 9.10 and installed all the missing libs (see above (gettext, etc.)).
    But now it ends up saying it misses the undefined symbol.

    What info do you need to help me out?
    anonymous
    On ubuntu 9.10 I get "error while loading shared libraries: libavutil.so.50: cannot open shared object file: No such file or directory" with r26210 build. On ubuntu repos there is libavutil.so.49 version.
    *comment from the builder
    terrywallwork
    anonymous: A way that may help is either find your libavutil.so.49 file and make a symlink to it with libavutil.so.50

    I will try and change my build script to automatically made links to libavutils.49 also
    Michael
    After having created a necessary symlink, I am experiencing same issue as Sunboy and oslo...

    Am trying * build, from fish - ok...it works. I am using rev27073 (if not mistaken).

    Not sure if that helps you at all...
    Deevad
    Hi, wanted to give a try to this build here on Karmic ( Linux Mint 8 ) ; I got to do this for my librairies, now it run like a charm ; thanks !

    sudo ln -s /usr/lib/libgettextlib-0.17.so /usr/lib/libgettextlib-0.14.6.so
    sudo ln -s /usr/lib/libHalf.so.6 /usr/lib/libHalf.so.4
    sudo ln -s /usr/lib/libIlmImf.so.6 /usr/lib/libIlmImf.so.4
    sudo ln -s /usr/lib/libIex.so.6 /usr/lib/libIex.so.4
    sudo ln -s /usr/lib/libImath.so.6 /usr/lib/libImath.so.4
    Riboshom
    /home/user/Desktop/Blender 2.52/blender: symbol lookup error: /home/user/Desktop/Blender 2.52/blender: undefined symbol: _ZZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonEE4i1m3

    Yup, me too! :s
    johantri
    same here :
    ./blender: symbol lookup error: ./blender: undefined symbol: _ZZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonEE4i1m3
    aloyr
    after doing the libavutil.so.49 symlink i get this:

    $ ./blender
    ./blender: symbol lookup error: ./blender: undefined symbol: _ZZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonEE4i1m3
    aloyr
    oh, and I am using kubuntu 9.10 32-bit
    coCoKNIght
    Ubuntu 10.04 comes with /usr/lib/libgettextlib-0.17.so
    so Blender doesn't start: error while loading shared libraries: libgettextlib-0.14.6.so: cannot open shared object file: No such file or directory
    I created a symlink in a new lib folder beside the blender executable as suggested above with the name libgettextlib-0.14.6.so but still the same error appears
    dab
    Same here coCoKNIght.
    I'd love to run it on 10.04 64bit.
    Any suggestions?
    Simon
    same here re the libgettextlib-0.14.6.so things seem to have gone a bit pear shaped since yesterday afternoon's builds and idiot here didn't keep working version 802 seemed to be fine still :(

    Leave a Comment!


    back to GraphicAll.org