Developer Forum

Docker Image for Linux Release Builds?

Hi,

Is there a “sanctioned” docker image to build the blender official release on linux these days?

Context:
We are struggling to find the proper tool chain, i.e. combination of distro / gcc / nvcc, that will use the latest prebuilt deps and builds the CUDA kernels.

Our latest attempt:

“make release” yields very quickly:

In file included from /usr/local/cuda/bin/…/targets/x86_64-linux/include/cuda_runtime.h:83,
from :
/usr/local/cuda/bin/…/targets/x86_64-linux/include/crt/host_config.h:138:2:
error: #error – unsupported GNU version! gcc versions later than 8 are not supported!

Thank you!
Olivier

PS: We are also interested in the recommended solution to this particular gcc 9.3 / nvcc 10.2 mismatch.

afaik there is no docker, but try turning on WITH_CYCLES_CUBIN_COMPILER in cmake

Thanks LazyDodo, it seems to work so far :slight_smile:

FYI, I just created this Dockerfile in order to compile on Ubuntu 20.04 (used so far only for make lite ninja).

# HOW TO BUILD THE DOCKER IMAGE:
#  `docker build -t blenduntu ./`
#
# HOW TO COMPILE BLENDER:
#  - On the host, follow instruction to clone blender-git repo and install precompiled library (see https://wiki.blender.org/wiki/Building_Blender/Linux/Ubuntu)
#  - Run the container which will start a prompt (which binds the blender-git folder to the container):
#    `docker run -ti --rm --mount type=bind,source=<path-to-blender-git-on-host>,target=/home/blender/blendet-git blenduntu`
#  - From the container prompt:
#    `cd blender-git/blender`
#    `make ccache ninja`
#
# NOTES: this image is not meant to manage git update / make update of the repo which should be done on the host OS.

FROM ubuntu:20.04 AS blenduntu

USER root

ENV LANG en_US.utf8

RUN apt-get update && \
	apt-get install -y locales software-properties-common && \
    localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 && \
    ln -fs /usr/share/zoneinfo/Europe/Paris /etc/localtime && \
    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata && \
    add-apt-repository -y ppa:ubuntu-toolchain-r/test && \
	apt-get update && \
    apt-get install -y build-essential git subversion cmake libx11-dev libxxf86vm-dev \
                       libxcursor-dev libxi-dev libxrandr-dev libxinerama-dev libegl-dev \
                       libwayland-dev wayland-protocols libxkbcommon-dev libdbus-1-dev \
                       linux-libc-dev gcc-11 g++-11 ninja-build ccache && \
    rm -rf /var/lib/apt/lists/* && \
    useradd -ms /bin/bash blender

USER blender
WORKDIR /home/blender
ENV BUILD_CMAKE_ARGS="-DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_C_COMPILER=gcc-11"