Blender 3.4 Release December 7th, 2022 What’s New A highlight in this release is the integration of Intel’s Open Path Guiding Library, adding support for path guiding in CPU in Cycles. The auto-masking tools in Sculpt/Paint mode are now accessible from the 3D Viewport, and support cavity, view, and area-based auto-masking. The UV editor received several updates to existing tools as well as new operators to align UV rotation, randomize islands, support for non-uniform grid, and more. Geometry Nodes now shows an overlay in the 3D Viewport, making it easy to debug and test parts of your node tree. Many new nodes have been added to retrieve mesh and curve data, sample UV surface, Node Group assets now show in the Add menu, and so much more. Other improvements include a new Grease Pencil outline modifier and better Fill tool, support for PBR extensions in .mtl files, animation editors improvements, major performance speed-ups and much more. ================================================================== I started creating a patch. Do maintainer need it?
> ld-elf.so.1: /usr/lib/libomp.so: Undefined symbol "environ" [ 21% 1092/5043] cd /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio && /usr/local/bin/cmake -E make_directory /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio && /tmp/work/usr/ports/graphics/blender/work/.build/bin/datatoc /tmp/work/usr/ports/graphics/blender/work/blender-3.4.0/intern/opencolorio/gpu_shader_display_transform_vert.glsl /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio/gpu_shader_display_transform_vert.glsl.c FAILED: intern/opencolorio/gpu_shader_display_transform_vert.glsl.c /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio/gpu_shader_display_transform_vert.glsl.c cd /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio && /usr/local/bin/cmake -E make_directory /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio && /tmp/work/usr/ports/graphics/blender/work/.build/bin/datatoc /tmp/work/usr/ports/graphics/blender/work/blender-3.4.0/intern/opencolorio/gpu_shader_display_transform_vert.glsl /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio/gpu_shader_display_transform_vert.glsl.c ld-elf.so.1: /usr/lib/libomp.so: Undefined symbol "environ" [ 21% 1092/5043] cd /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio && /usr/local/bin/cmake -E make_directory /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio && /tmp/work/usr/ports/graphics/blender/work/.build/bin/datatoc /tmp/work/usr/ports/graphics/blender/work/blender-3.4.0/intern/opencolorio/gpu_shader_display_transform_frag.glsl /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio/gpu_shader_display_transform_frag.glsl.c FAILED: intern/opencolorio/gpu_shader_display_transform_frag.glsl.c /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio/gpu_shader_display_transform_frag.glsl.c cd /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio && /usr/local/bin/cmake -E make_directory /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio && /tmp/work/usr/ports/graphics/blender/work/.build/bin/datatoc /tmp/work/usr/ports/graphics/blender/work/blender-3.4.0/intern/opencolorio/gpu_shader_display_transform_frag.glsl /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio/gpu_shader_display_transform_frag.glsl.c ld-elf.so.1: /usr/lib/libomp.so: Undefined symbol "environ"
Probably it require graphics/opencolorio 2.2.0. And updated other deps…
Hi, I have fallen behind in updating Blender, so any progress you make will be appreciated. The official blender builds use ocio 2.1.1 so I doubt using 2.2 will help. I have had trouble linking with omp in the past, first check if graphics/opensubdiv has omp enabled. You will most likely have more luck if you start with all blender deps built with omp disabled - do you have the blender omp option enabled?
(In reply to Shane from comment #3) graphics/opensubdiv was with OPENMP, rebuild it without, but got the same error during build blender. :-(
Turn off OPENMP for blender too and got different error in same place: > ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ" [ 21% 1091/5043] cd /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio && /usr/local/bin/cmake -E make_directory /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio && /tmp/work/usr/ports/graphics/blender/work/.build/bin/datatoc /tmp/work/usr/ports/graphics/blender/work/blender-3.4.0/intern/opencolorio/gpu_shader_display_transform_vert.glsl /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio/gpu_shader_display_transform_vert.glsl.c FAILED: intern/opencolorio/gpu_shader_display_transform_vert.glsl.c /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio/gpu_shader_display_transform_vert.glsl.c cd /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio && /usr/local/bin/cmake -E make_directory /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio && /tmp/work/usr/ports/graphics/blender/work/.build/bin/datatoc /tmp/work/usr/ports/graphics/blender/work/blender-3.4.0/intern/opencolorio/gpu_shader_display_transform_vert.glsl /tmp/work/usr/ports/graphics/blender/work/.build/intern/opencolorio/gpu_shader_display_transform_vert.glsl.c ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
# /tmp/work/usr/ports/graphics/blender/work/.build/bin/datatoc ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ" What is datatoc?
datatoc is a Blender build tool data-to-c it reads binary files and generates a c-file with the files encoded into c variables, allows icons etc to be compiled into the blender binary. https://developer.blender.org/diffusion/B/browse/master/source/blender/datatoc/ https://blender.stackexchange.com/a/90847/935
Take the issue for future changes. BTW, blender 3.3 also claims about undefined "environ" even with opencolorio, openimageio and openshadinglanguage updated (but blender 3.2 builds fine with new open*) Also, opencolorio 2.2 needs cmake stuff from zstd (see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267652)
Created attachment 239143 [details] Maintainer update for graphics/blender
Comment on attachment 239143 [details] Maintainer update for graphics/blender Update graphics/blender to 3.4.1 Includes new options to support wayland and potrace New OPENPGL option requires new port in bug #268658
(In reply to Shane from comment #10) > + /usr/local/llvm%%LLVM_VER%%/lib/libclangSupport.a Maybe + ${LOCALBASE}/llvm%%LLVM_VER%%/lib/libclangSupport.a ?
Created attachment 239145 [details] maintainer update for graphics/blender Yes I should have got that. Being in cmake we use CMAKE_INSTALL_PREFIX instead of another reinplace make var.
BTW, Have you tried "posting" FreeBSD related patches to upstream?
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=d052c016bd9385650e30a54eccc12eddfc067659 commit d052c016bd9385650e30a54eccc12eddfc067659 Author: Dima Panov <fluffy@FreeBSD.org> AuthorDate: 2022-12-31 14:57:44 +0000 Commit: Dima Panov <fluffy@FreeBSD.org> CommitDate: 2022-12-31 15:00:04 +0000 graphics/blender: update to 3.4.1 release (+) Includes new options to support wayland and potrace PR: 268331 graphics/blender/Makefile | 32 ++-- graphics/blender/Makefile.options | 12 +- graphics/blender/Makefile.versions | 2 +- graphics/blender/distinfo | 6 +- graphics/blender/files/patch-CMakeLists.txt | 6 +- .../files/patch-extern_sdlew_CMakeLists.txt (new) | 11 ++ ...h-intern_cycles_kernel_osl_CMakeLists.txt (new) | 10 ++ .../patch-intern_opensubdiv_CMakeLists.txt (gone) | 11 -- .../patch-source_creator_symbols__unix.map (new) | 12 ++ graphics/blender/pkg-plist | 192 ++++++++++++++------- 10 files changed, 205 insertions(+), 89 deletions(-)
13.1-p5 amd64. $ pkg info -q | grep llvm llvm-15,1 llvm13-13.0.1_3 llvm15-15.0.6_1 ===> Extracting for blender-3.4.1 => SHA256 Checksum OK for blender-3.4.1.tar.xz. ===> Patching for blender-3.4.1 ===> Applying FreeBSD patches for blender-3.4.1 from /usr/ports/graphics/blender/files /usr/bin/sed -i.bak -e 's|%%LLVM_VER%%||g' /tmp/work/usr/ports/graphics/blender/work/blender-3.4.1/intern/cycles/kernel/osl/CMakeLists.txt ===> blender-3.4.1 depends on package: py310-numpy>=1.16,1<1.24,1 - found ===> blender-3.4.1 depends on executable: llvm-config - found ===> blender-3.4.1 depends on file: /usr/local/bin/cmake - found ===> blender-3.4.1 depends on executable: ninja - found ===> blender-3.4.1 depends on executable: llvm-config15 - found … cut … ===> Building for blender-3.4.1 ninja: error: '/usr/local/llvm/lib/libclangSupport.a', needed by 'bin/blender', missing and no known rule to make it ===> Compilation failed unexpectedly. Error is from here: graphics/blender/files/patch-intern_cycles_kernel_osl_CMakeLists.txt: ${CMAKE_INSTALL_PREFIX}/llvm%%LLVM_VER%%/lib/libclangSupport.a Probably patch for graphics/blender/Makefile: post-patch: - ${REINPLACE_CMD} -e 's|%%LLVM_VER%%|${LLVM_VERS}|g' \ + ${REINPLACE_CMD} -e 's|%%LLVM_VER%%|${LLVM_VERSION}|g' \ ${WRKSRC}/intern/cycles/kernel/osl/CMakeLists.txt Build in progress…
(In reply to VVD from comment #15) Oh, indeed, after switching to USES=llvm we need to adjust LLVM_VER to LLVM_VERSION as it is defined in Mk/Uses/llvm.mk I'll push it asap --- a/graphics/blender/Makefile +++ b/graphics/blender/Makefile @@ -80,11 +80,11 @@ CYCLESEMBR_ONLY_FOR_ARCHS_REASON= embree only supports amd64 CYCLESOSL_IMPLIES= CYCLES CYCLESOSL_CMAKE_BOOL= WITH_CYCLES_OSL WITH_LLVM CYCLESOSL_CMAKE_ON= -DLLVM_STATIC:BOOL=OFF \ - -DLLVM_CONFIG:STRING="${LOCALBASE}/bin/llvm-config${LLVM_VER}" \ + -DLLVM_CONFIG:STRING="${LOCALBASE}/bin/llvm-config${LLVM_VERSION}" \ -DOSL_SHADER_DIR:STRING="${LOCALBASE}/share/openshadinglanguage/shaders" -CYCLESOSL_BUILD_DEPENDS= llvm-config${LLVM_VER}:devel/llvm${LLVM_VER} +CYCLESOSL_BUILD_DEPENDS= llvm-config${LLVM_VERSION}:devel/llvm${LLVM_VERSION} CYCLESOSL_LIB_DEPENDS= liboslcomp.so:graphics/openshadinglanguage -CYCLESOSL_RUN_DEPENDS= llvm-config${LLVM_VER}:devel/llvm${LLVM_VER} +CYCLESOSL_RUN_DEPENDS= llvm-config${LLVM_VERSION}:devel/llvm${LLVM_VERSION} DDS_CMAKE_BOOL= WITH_IMAGE_DDS DRACO_CMAKE_BOOL= WITH_DRACO DRACO_USE= LDCONFIG=${PYTHON_SITELIBDIR} @@ -198,7 +198,7 @@ CMAKE_ARGS+= -DWITH_CPU_SSE:BOOL=OFF .endif post-patch: - ${REINPLACE_CMD} -e 's|%%LLVM_VER%%|${LLVM_VER}|g' \ + ${REINPLACE_CMD} -e 's|%%LLVM_VER%%|${LLVM_VERSION}|g' \ ${WRKSRC}/intern/cycles/kernel/osl/CMakeLists.txt post-build:
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=444f09a0db09c0295b8f230c2dac3da8ffcf2e7c commit 444f09a0db09c0295b8f230c2dac3da8ffcf2e7c Author: Dima Panov <fluffy@FreeBSD.org> AuthorDate: 2022-12-31 18:34:41 +0000 Commit: Dima Panov <fluffy@FreeBSD.org> CommitDate: 2022-12-31 18:36:26 +0000 graphics/blender: adjust variable name LLVM_VER => LLVM_VERSION after transition to USES=llvm (+) Reported by: VVD PR: 268331 graphics/blender/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
Thanks!