Blender 2.92.0 alpha on 32-bit-debian-buster - problems, solutions and flaws in install_deps.sh

i’m using 32-bit-debian-buster and tried to install blender 2.82.a from debian-buster-backports which led to a blender-crash on startup. problem already described here.

so i tried to build blender from source. i followed the “building-blender-guidelines for generic distro”. since i have 32-bit, i didn’t use pre-compiled libraries. i used install_deps.sh and saw that it has two flaws:

  1. it ignores my --skip to some extent
  2. it sometimes seems to overlook already successfully compiled stuff

ad 1)
i had problems compiling USD and Embree (probably because they cannot be used for 32-bit), so i executed install_deps.sh with --skip-usd --skip-Embree. this was successful, but CMakeCache.txt contained the lines WITH_USD:BOOL=ON and WITH_CYCLES_EMBREE:BOOL=ON, which would lead to errors when using make. so i had to manually change these lines to OFF before using make.

ad 2):
running install_deps.sh led to successful compilation of OpenEXR, but at the next step, when compiling OpenImageIO, it stopped saying Could NOT find OpenEXR. the solution for me here was to manually use apt-get install libopenexr-dev. (at some point, i had to do the same trick again using apt-get install libopenimageio-dev).

make was successful after:
3) making manual changes in CMakeCache.txt
4) making changes in blender-git/blender/source/blender/blenlib/intern/session_uuid.c

ad 3):
i had to change
WITH_USD:BOOL=ON
WITH_CYCLES_EMBREE:BOOL=ON
WITH_TBB:BOOL=ON
to
WITH_USD:BOOL=OFF
WITH_CYCLES_EMBREE:BOOL=OFF
WITH_TBB:BOOL=OFF

in addition to USD and Embree, i had to turn off TBB, since i got an error which is described here: https://developer.blender.org/T79460.

ad 4):
the compiler gave the hint, that in session_uuid.c, atomic_add_and_fetch_uint64 should be changed to atomic_add_and_fetch_uint32. so i did this (there are two lines where this shows up).

i didn’t really try if blender crashes during some tasks. i can just confirm that i can start it and clicking around a bit works :slight_smile: