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:
- it ignores my
--skip
to some extent - 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: ⚓ T79460 Can't compile master branch on AWS EC2 c5.24xlarge instance.
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