diff --git a/Changes.md b/Changes.md index 82e4a81..50cee7e 100644 --- a/Changes.md +++ b/Changes.md @@ -1,3 +1,11 @@ +3.1.0 +===== + +- Dockerfile : + - Added `cuda-nvrtc-devel-11-8` and `libcurand-devel-11-8` packages. + - Added `meson`. + - Set `CUDA_PATH` environment variable. + 3.0.0 ===== diff --git a/Dockerfile b/Dockerfile index 0b92b9d..8e6610a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -68,6 +68,10 @@ RUN yum install -y 'dnf-command(versionlock)' && \ rm -f Inkscape-091e20e-x86_64.AppImage && \ cd - && \ # +# Install meson as it is needed to build LibEpoxy if building Cycles with USD support. +# + pip install meson && \ +# # Trim out a few things we don't need. We inherited a lot more than we need from # `aswf/ci-base`, and we run out of disk space on GitHub Actions if our container # is too big. A particular offender is CUDA, which comes with all sorts of @@ -92,14 +96,23 @@ RUN yum install -y 'dnf-command(versionlock)' && \ libcublas-devel-11-8-11.11.3.6-1.x86_64 \ libcublas-11-8 libnccl libnccl-devel \ libnpp-11-8 libnpp-devel-11-8 cuda-cupti-11-8 && \ - dnf clean all && \ +# +# After trimming down CUDA, reinstall only the specific CUDA dependencies +# required for OSL Optix builds. + dnf install -y \ + cuda-nvrtc-devel-11-8 \ + libcurand-devel-11-8 && \ # # Now we've installed all our packages, update yum-versionlock for all the # new packages so we can copy the versionlock.list out of the container when we # want to update the build env. # If there were already locks in the list from the source checkout then the # correct version will already be installed and we just ignore this... - ./versionlock.sh lock-new /tmp/packages + ./versionlock.sh lock-new /tmp/packages && \ +# +# Clean the dnf caches once we're finished calling any dnf/yum commands. Updating +# the versionlock list also populates the cache, so this cleanup is best run last. + dnf clean all # Set WORKDIR back to / to match the behaviour of our CentOS 7 Dockerfile. # This makes it easier to deal with copying build artifacts as they will be @@ -113,5 +126,6 @@ ENV PYTHONPATH= # every time it is run, so we set it ourselves to silence that ENV _INKSCAPE_GC="disable" -# Make the Optix SDK available for Cycles builds. -ENV OPTIX_ROOT_DIR=/usr/local/NVIDIA-OptiX-SDK-7.3.0 \ No newline at end of file +# Make the Optix SDK and CUDA available to builds that require them. +ENV OPTIX_ROOT_DIR=/usr/local/NVIDIA-OptiX-SDK-7.3.0 +ENV CUDA_PATH=/usr/local/cuda-11.8 \ No newline at end of file diff --git a/build.py b/build.py index f0481d8..aa56bca 100755 --- a/build.py +++ b/build.py @@ -118,7 +118,7 @@ parser.add_argument( "--docker-image-version", dest = "dockerImageVersion", - default = "3.0.0", + default = "3.1.0", help = "The Docker image tag to use for Docker builds." ) diff --git a/yum-versionlock.list b/yum-versionlock.list index fb50929..d613c74 100644 --- a/yum-versionlock.list +++ b/yum-versionlock.list @@ -6,7 +6,7 @@ at-spi2-atk-0:2.26.2-1.el8.* colord-libs-0:1.4.2-1.el8.* dconf-0:0.28.0-4.el8.* gnome-themes-standard-0:3.22.3-4.el8.* -gtk3-0:3.22.30-11.el8.* +gtk3-0:3.22.30-12.el8_10.* json-glib-0:1.4.4-1.el8.* libcanberra-0:0.30-18.el8.* libcanberra-gtk3-0:0.30-18.el8.* @@ -14,12 +14,12 @@ libepoxy-0:1.5.8-1.el8.* libgtop2-0:2.38.0-3.el8.* libgusb-0:0.3.0-1.el8.* libnotify-0:0.7.7-6.el8.* -llvm-libs-0:16.0.6-3.module+el8.9.0+1409+fbd10de3.* -mesa-dri-drivers-0:23.1.4-1.el8.* -mesa-filesystem-0:23.1.4-1.el8.* +llvm-libs-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.* +mesa-dri-drivers-0:23.1.4-3.el8_10.* +mesa-filesystem-0:23.1.4-3.el8_10.* metacity-0:3.28.0-1.el8.* rest-0:0.8.1-2.el8.* sound-theme-freedesktop-0:0.8-9.el8.* startup-notification-0:0.12-15.el8.* zenity-0:3.28.1-2.el8.* -# Added locks on Fri Jan 5 16:21:18 2024 \ No newline at end of file +# Added locks on Mon Oct 7 23:15:55 2024 \ No newline at end of file