Conversation
|
The EDIT: I don't have much advice about Blender but it's possible the segfaults might be due to TBB. I know that on MacOS there were issues with certain TBB versions when we were testing the BLAKE3 packages (that didn't exist with the homebrew TBB, so could have been related to our patches). I didn't see any issues on Linux though but still. If you're able to try a different version of TBB than |
|
@silvanshade Blender seems to require 2021.13.0 now, I tried overriding all the deps, but maybe I missed some. Compiling everything takes 20mins, so It's a bit of a headache, and I can't seem to grok the coredump. Thanks for your input tho. |
|
Consider making the PR draft for now to clearly indicate it’s not ready. You may find upstream lib updates useful https://projects.blender.org/blender/blender/issues/136540. Technically upstream used TBB 2021.13.0 in v4.4 https://projects.blender.org/blender/lib-source/commit/22606a34277e06b0ad348e7bb47eec0b7990bb4d |
There was a problem hiding this comment.
Both of these suggested changes are like this in the other TBB definitions. It might be worth updating all of them I guess but if so maybe would be worth doing in a separate commit at least.
A lot of that output looks thread related but it's hard to tell if that means anything here. But looking through the CMake files, it does seem like it should be possible to change which version is used. I would try modifying the related variables in And the call to You could also try setting up ccache to help with build times while investigating. EDIT: Also maybe try building with TBB completely disabled by setting |
|
@silvanshade it looks like TBB introduced cmake files with v2021.13.0, and blender killed manual TBB support with v4.5, depending on those introduced files, so this explains why it now requires v13, but it also complicates the heck out of trying to use older versions of TBB, I might try debugging the issue more before making random guesses about what is causing the issue, thanks for your input anyway. |
38b04e1 to
b890c29
Compare
|
Found out the issue, I had to fetch with LFS, otherwise it would crash during runtime looking for files, No clue why it allows you to build and install without tossing errors, but I now have 4.5 working. |
|
Can we make blender use tbb_2022? |
|
@Prince213 basic testing shows Blender is stable running with 2022. |
|
So tbb_2021 won't be needed and the file could be removed. Please also rebase against latest master as the tbb packages have migrated to by-name. |
|
@Prince213 According to a Blender maintainer not directly familiar with TBB, they use the VFX Reference Platform 2025 which recommends I have no experience with TBB, but my gut feeling is telling me that using 2021.12 is the best option, despite upstreams requirement for .13, we can revert the PR if we start seeing users complain about stability. Also WRT to the build failure for nix, I don't see any issues on TBB upstream related to it, have you considered reporting it as a bug? |
|
Looks like Arch Linux, Gentoo and Void Linux are all using 2022.x. Since nixos-unstable/nixpkgs-unstable are also providing latest packages I think we should use that as well. As for the Nix issue I'll try building it later and see what can be done. |
|
|
I'm wondering if we should just mark OSX packages as broken till someone can fix it. I also wonder, since 4.5 is an LTS release if we should have both, an LTS package, and the more standard latest release in the future. |
|
Apologies for the delay, I’ll take a look later. I agree with marking Darwin as broken so this PR can move forward. Update: After adapting our patch, I ran into a segmentation fault that needs further investigation. patchdiff --git a/CMakeLists.txt b/CMakeLists.txt
index 680723a1..1e009b76 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2601,7 +2601,7 @@ if(WITH_COMPILER_SHORT_FILE_MACRO)
)
if(C_MACRO_PREFIX_MAP AND CXX_MACRO_PREFIX_MAP)
if(APPLE)
- if(XCODE AND ${XCODE_VERSION} VERSION_LESS 12.0)
+ if(FALSE)
# Developers may have say LLVM Clang-10.0.1 toolchain (which supports the flag)
# with Xcode-11 (the Clang of which doesn't support the flag).
message(
diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
index 763d32e9..c44728e1 100644
--- a/build_files/cmake/platform/platform_apple.cmake
+++ b/build_files/cmake/platform/platform_apple.cmake
@@ -55,7 +55,6 @@ if(NOT DEFINED LIBDIR)
endif()
endif()
if(NOT EXISTS "${LIBDIR}/.git")
- message(FATAL_ERROR "Mac OSX requires pre-compiled libs at: '${LIBDIR}'")
endif()
if(FIRST_RUN)
message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}")
@@ -121,10 +120,6 @@ if(WITH_CODEC_SNDFILE)
find_library(_sndfile_VORBIS_LIBRARY NAMES vorbis HINTS ${LIBDIR}/ffmpeg/lib)
find_library(_sndfile_VORBISENC_LIBRARY NAMES vorbisenc HINTS ${LIBDIR}/ffmpeg/lib)
list(APPEND LIBSNDFILE_LIBRARIES
- ${_sndfile_FLAC_LIBRARY}
- ${_sndfile_OGG_LIBRARY}
- ${_sndfile_VORBIS_LIBRARY}
- ${_sndfile_VORBISENC_LIBRARY}
)
print_found_status("SndFile libraries" "${LIBSNDFILE_LIBRARIES}")
@@ -168,9 +163,7 @@ if(WITH_CODEC_FFMPEG)
set(FFMPEG_ROOT_DIR ${LIBDIR}/ffmpeg)
set(FFMPEG_FIND_COMPONENTS
avcodec avdevice avformat avutil
- mp3lame ogg opus swresample swscale
- theora theoradec theoraenc vorbis vorbisenc
- vorbisfile vpx x264)
+ swresample swscale)
if(EXISTS ${LIBDIR}/ffmpeg/lib/libaom.a)
list(APPEND FFMPEG_FIND_COMPONENTS aom)
endif()
@@ -285,7 +278,6 @@ endif()
add_bundled_libraries(boost/lib)
if(WITH_CODEC_FFMPEG)
- string(APPEND PLATFORM_LINKFLAGS " -liconv") # ffmpeg needs it !
endif()
if(WITH_PUGIXML)
@@ -430,7 +422,7 @@ string(APPEND PLATFORM_LINKFLAGS
" -Wl,-unexported_symbols_list,'${PLATFORM_SYMBOLS_MAP}'"
)
-if(${XCODE_VERSION} VERSION_GREATER_EQUAL 15.0)
+if(FALSE)
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64" AND WITH_LEGACY_MACOS_X64_LINKER)
# Silence "no platform load command found in <static library>, assuming: macOS".
#
diff --git a/source/blender/blendthumb/CMakeLists.txt b/source/blender/blendthumb/CMakeLists.txt
index a4419cda..fa80c51c 100644
--- a/source/blender/blendthumb/CMakeLists.txt
+++ b/source/blender/blendthumb/CMakeLists.txt
@@ -81,16 +81,6 @@ elseif(APPLE)
# Prevent Xcode from overwriting the signature.
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ""
)
- # CMake needs the target defined in the same file as add_custom_command.
- # It needs to be code-signed (ad-hoc in this case)
- # even on developer machine to generate thumbnails.
- # Command taken from XCode build process.
- add_custom_command(
- TARGET blender-thumbnailer POST_BUILD
- COMMAND codesign --deep --force --sign -
- --entitlements "${CMAKE_SOURCE_DIR}/release/darwin/thumbnailer_entitlements.plist"
- --timestamp=none $<TARGET_BUNDLE_DIR:blender-thumbnailer>
- )
elseif(UNIX)
# -----------------------------------------------------------------------------
# Build `blender-thumbnailer` executable
|
|
|
@ethancedwards8, please post build logs, not really sure why the build would suddenly fail on such a trivial change. |
|
I guess error: derivation '/nix/store/virjklqrzpx1zj7wadadhpg0nxw773cm-openscad-unstable-2025-06-04.drv' specifies a sandbox profile, but this is only allowed when 'sandbox' is 'relaxed'
|
|
Yes. The error was sandbox related. Sorry |
|
Hello. I've noticed that the Vulkan backend introduced in 4.5 is not working in Blender's binaries (both through nix-ld and the blender-bin flake.) Steps to reproduce:
|
|
Can it be marked as broken only for x86_64-darwin and allowed for aarch64-darwin? |
Is it actually building there? |
|
I can't build on aarch64-drawin after bumping the patch. Any investigation or helps would be appreciated |
|
@yzx9 please post logs. |
|
@YellowOnion Hi, I've opened a separate thread at #429309 to report this. |
Prep work for the 4.5 release.
4.5 is currently in beta, this is just for people wanted to try the beta early and document changes needed for when it's released.
Currently blender segfaults and I can't figure out why, will have to investigate further.
https://developer.blender.org/docs/release_notes/4.5/
@amarshall @veprbl
Blender also requires tbb 2021.13.0, so pinging for advise on packaging that too.
@silvanshade @thoughtpolice @hesiod
Things done
nix.conf? (See Nix manual)sandbox = relaxedsandbox = truenix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)Add a 👍 reaction to pull requests you find important.