Build with -DWITH_GPU_SHADER_BUILDER=ON failed

I’m working on T95010 and realize I didn’t pass the cmake argument correctly, then I fix the build command but the build failed at linking bin/shader_builder on both macOS and Arch Linux.

macOS 12.2.1, make debug ccache ninja BUILD_CMAKE_ARGS="-DWITH_GPU_SHADER_BUILDER=ON":

Summary

Undefined symbols for architecture x86_64:
“_CGAssociateMouseAndMouseCursorPosition”, referenced from:
GHOST_SystemCocoa::setMouseCursorPosition(int, int) in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
GHOST_SystemCocoa::setCursorPosition(int, int) in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
“_CGDisplayCreateUUIDFromDisplayID”, referenced from:
OpenColorIO_v2_0::GetICCProfilePath(unsigned int) in libOpenColorIO.a(SystemMonitor.cpp.o)
“_CGDisplayIOServicePort”, referenced from:
OpenColorIO_v2_0::SystemMonitorsImpl::getAllMonitors() in libOpenColorIO.a(SystemMonitor.cpp.o)
“_CGDisplayMoveCursorToPoint”, referenced from:
GHOST_SystemCocoa::setMouseCursorPosition(int, int) in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
“_CGDisplayUnitNumber”, referenced from:
OpenColorIO_v2_0::SystemMonitorsImpl::getAllMonitors() in libOpenColorIO.a(SystemMonitor.cpp.o)
“_CGGetActiveDisplayList”, referenced from:
OpenColorIO_v2_0::SystemMonitorsImpl::getAllMonitors() in libOpenColorIO.a(SystemMonitor.cpp.o)
“_CVMetalTextureCacheCreate”, referenced from:
GHOST_ContextCGL::metalUpdateFramebuffer() in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
“_CVMetalTextureCacheCreateTextureFromImage”, referenced from:
GHOST_ContextCGL::metalUpdateFramebuffer() in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
“_CVMetalTextureGetTexture”, referenced from:
GHOST_ContextCGL::metalUpdateFramebuffer() in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
“_CVOpenGLTextureCacheCreate”, referenced from:
GHOST_ContextCGL::metalUpdateFramebuffer() in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
“_CVOpenGLTextureCacheCreateTextureFromImage”, referenced from:
GHOST_ContextCGL::metalUpdateFramebuffer() in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
“_CVOpenGLTextureCacheRelease”, referenced from:
GHOST_ContextCGL::metalUpdateFramebuffer() in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
“_CVOpenGLTextureGetName”, referenced from:
GHOST_ContextCGL::metalUpdateFramebuffer() in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
“_CVOpenGLTextureRelease”, referenced from:
GHOST_ContextCGL::metalUpdateFramebuffer() in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
“_CVPixelBufferCreate”, referenced from:
GHOST_ContextCGL::metalUpdateFramebuffer() in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
“_CVPixelBufferRelease”, referenced from:
GHOST_ContextCGL::metalUpdateFramebuffer() in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
“_ColorSyncDeviceCopyDeviceInfo”, referenced from:
OpenColorIO_v2_0::GetICCProfilePath(unsigned int) in libOpenColorIO.a(SystemMonitor.cpp.o)
“_FFCreateDevice”, referenced from:
_DARWIN_JoystickRumble in libSDL2.a(SDL_sysjoystick.c.o)
_SDL_SYS_HapticOpenFromService in libSDL2.a(SDL_syshaptic.c.o)
“_FFDeviceCreateEffect”, referenced from:
_DARWIN_JoystickRumble in libSDL2.a(SDL_sysjoystick.c.o)
_SDL_SYS_HapticNewEffect in libSDL2.a(SDL_syshaptic.c.o)
“_FFDeviceGetForceFeedbackCapabilities”, referenced from:
_SDL_SYS_HapticOpenFromService in libSDL2.a(SDL_syshaptic.c.o)
“_FFDeviceGetForceFeedbackProperty”, referenced from:
_SDL_SYS_HapticOpenFromService in libSDL2.a(SDL_syshaptic.c.o)
“_FFDeviceReleaseEffect”, referenced from:
_JoystickDeviceWasRemovedCallback in libSDL2.a(SDL_sysjoystick.c.o)
_SDL_SYS_HapticDestroyEffect in libSDL2.a(SDL_syshaptic.c.o)
“_FFDeviceSendForceFeedbackCommand”, referenced from:
_DARWIN_JoystickRumble in libSDL2.a(SDL_sysjoystick.c.o)
_SDL_SYS_HapticOpenFromService in libSDL2.a(SDL_syshaptic.c.o)
_SDL_SYS_HapticPause in libSDL2.a(SDL_syshaptic.c.o)
_SDL_SYS_HapticUnpause in libSDL2.a(SDL_syshaptic.c.o)
_SDL_SYS_HapticStopAll in libSDL2.a(SDL_syshaptic.c.o)
“_FFDeviceSetForceFeedbackProperty”, referenced from:
_SDL_SYS_HapticSetGain in libSDL2.a(SDL_syshaptic.c.o)
_SDL_SYS_HapticSetAutocenter in libSDL2.a(SDL_syshaptic.c.o)
“_FFEffectGetEffectStatus”, referenced from:
_SDL_SYS_HapticGetEffectStatus in libSDL2.a(SDL_syshaptic.c.o)
“_FFEffectSetParameters”, referenced from:
_DARWIN_JoystickRumble in libSDL2.a(SDL_sysjoystick.c.o)
_SDL_SYS_HapticUpdateEffect in libSDL2.a(SDL_syshaptic.c.o)
“_FFEffectStart”, referenced from:
_DARWIN_JoystickRumble in libSDL2.a(SDL_sysjoystick.c.o)
_SDL_SYS_HapticRunEffect in libSDL2.a(SDL_syshaptic.c.o)
“_FFEffectStop”, referenced from:
_SDL_SYS_HapticStopEffect in libSDL2.a(SDL_syshaptic.c.o)
“_FFIsForceFeedback”, referenced from:
_JoystickDeviceWasAddedCallback in libSDL2.a(SDL_sysjoystick.c.o)
_MacHaptic_MaybeAddDevice in libSDL2.a(SDL_syshaptic.c.o)
“_FFReleaseDevice”, referenced from:
_JoystickDeviceWasRemovedCallback in libSDL2.a(SDL_sysjoystick.c.o)
_SDL_SYS_HapticOpenFromService in libSDL2.a(SDL_syshaptic.c.o)
_SDL_SYS_HapticClose in libSDL2.a(SDL_syshaptic.c.o)
“_GetCurrentEventButtonState”, referenced from:
GHOST_SystemCocoa::getButtons(GHOST_Buttons&) const in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
“_IODisplayCreateInfoDictionary”, referenced from:
OpenColorIO_v2_0::SystemMonitorsImpl::getAllMonitors() in libOpenColorIO.a(SystemMonitor.cpp.o)
“_IOHIDDeviceCopyMatchingElements”, referenced from:
_JoystickDeviceWasAddedCallback in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDDeviceGetProperty”, referenced from:
_JoystickDeviceWasAddedCallback in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDDeviceGetService”, referenced from:
_JoystickDeviceWasAddedCallback in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDDeviceGetValue”, referenced from:
_DARWIN_JoystickUpdate in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDDeviceRegisterRemovalCallback”, referenced from:
_JoystickDeviceWasAddedCallback in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDDeviceScheduleWithRunLoop”, referenced from:
_JoystickDeviceWasAddedCallback in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDDeviceUnscheduleFromRunLoop”, referenced from:
_FreeDevice in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDElementGetChildren”, referenced from:
_AddHIDElement in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDElementGetCookie”, referenced from:
_AddHIDElement in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDElementGetLogicalMax”, referenced from:
_AddHIDElement in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDElementGetLogicalMin”, referenced from:
_AddHIDElement in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDElementGetType”, referenced from:
_AddHIDElement in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDElementGetTypeID”, referenced from:
_AddHIDElement in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDElementGetUsage”, referenced from:
_AddHIDElement in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDElementGetUsagePage”, referenced from:
_AddHIDElement in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDManagerClose”, referenced from:
_DARWIN_JoystickQuit in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDManagerCreate”, referenced from:
_DARWIN_JoystickInit in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDManagerOpen”, referenced from:
_DARWIN_JoystickInit in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDManagerRegisterDeviceMatchingCallback”, referenced from:
_DARWIN_JoystickInit in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDManagerScheduleWithRunLoop”, referenced from:
_DARWIN_JoystickInit in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDManagerSetDeviceMatchingMultiple”, referenced from:
_DARWIN_JoystickInit in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDManagerUnscheduleFromRunLoop”, referenced from:
_DARWIN_JoystickQuit in libSDL2.a(SDL_sysjoystick.c.o)
“_IOHIDValueGetIntegerValue”, referenced from:
_DARWIN_JoystickUpdate in libSDL2.a(SDL_sysjoystick.c.o)
“_IOIteratorIsValid”, referenced from:
_SDL_SYS_HapticInit in libSDL2.a(SDL_syshaptic.c.o)
“_IOIteratorNext”, referenced from:
_SDL_SYS_HapticInit in libSDL2.a(SDL_syshaptic.c.o)
“_IOObjectIsEqualTo”, referenced from:
_MacHaptic_MaybeAddDevice in libSDL2.a(SDL_syshaptic.c.o)
_MacHaptic_MaybeRemoveDevice in libSDL2.a(SDL_syshaptic.c.o)
_SDL_SYS_JoystickSameHaptic in libSDL2.a(SDL_syshaptic.c.o)
_SDL_SYS_HapticOpenFromJoystick in libSDL2.a(SDL_syshaptic.c.o)
“_IOObjectRelease”, referenced from:
_SDL_SYS_HapticInit in libSDL2.a(SDL_syshaptic.c.o)
_MacHaptic_MaybeAddDevice in libSDL2.a(SDL_syshaptic.c.o)
_MacHaptic_MaybeRemoveDevice in libSDL2.a(SDL_syshaptic.c.o)
_SDL_SYS_HapticQuit in libSDL2.a(SDL_syshaptic.c.o)
“_IOObjectRetain”, referenced from:
_MacHaptic_MaybeAddDevice in libSDL2.a(SDL_syshaptic.c.o)
“_IOPSCopyPowerSourcesInfo”, referenced from:
_SDL_GetPowerInfo_MacOSX in libSDL2.a(SDL_syspower.c.o)
“_IOPSCopyPowerSourcesList”, referenced from:
_SDL_GetPowerInfo_MacOSX in libSDL2.a(SDL_syspower.c.o)
“_IOPSGetPowerSourceDescription”, referenced from:
_SDL_GetPowerInfo_MacOSX in libSDL2.a(SDL_syspower.c.o)
“_IORegistryEntryCreateCFProperties”, referenced from:
_MacHaptic_MaybeAddDevice in libSDL2.a(SDL_syshaptic.c.o)
“_IORegistryEntryGetParentEntry”, referenced from:
_MacHaptic_MaybeAddDevice in libSDL2.a(SDL_syshaptic.c.o)
“_IOServiceGetMatchingServices”, referenced from:
_SDL_SYS_HapticInit in libSDL2.a(SDL_syshaptic.c.o)
“_IOServiceMatching”, referenced from:
_SDL_SYS_HapticInit in libSDL2.a(SDL_syshaptic.c.o)
“_LMGetKbdType”, referenced from:
convertKey(int, unsigned short, unsigned short) in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
“_LSSharedFileListCopySnapshot”, referenced from:
_fsmenu_read_system in libbf_editor_space_file.a(fsmenu.c.o)
“_LSSharedFileListCreate”, referenced from:
_fsmenu_read_system in libbf_editor_space_file.a(fsmenu.c.o)
“_LSSharedFileListItemResolve”, referenced from:
_fsmenu_read_system in libbf_editor_space_file.a(fsmenu.c.o)
“_NSApp”, referenced from:
-[CocoaAppDelegate applicationDidFinishLaunching:] in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
GHOST_SystemCocoa::handleOpenDocumentRequest(void*) in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
-[CocoaAppDelegate windowWillClose:] in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
GHOST_SystemCocoa::processEvents(bool) in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
GHOST_SystemCocoa::init() in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
GHOST_SystemCocoa::handleWindowEvent(GHOST_TEventType, GHOST_WindowCocoa*) in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
GHOST_WindowCocoa::setOrder(GHOST_TWindowOrder) in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)

(maybe you meant: _OBJC_LABEL_PROTOCOL$_NSApplicationDelegate, _OBJC_PROTOCOL$_NSApplicationDelegate )
“_NSBitsPerPixelFromDepth”, referenced from:
GHOST_DisplayManagerCocoa::getDisplaySetting(unsigned char, int, GHOST_DisplaySetting&) const in libbf_intern_ghost.a(GHOST_DisplayManagerCocoa.mm.o)
GHOST_DisplayManagerCocoa::getCurrentDisplaySetting(unsigned char, GHOST_DisplaySetting&) const in libbf_intern_ghost.a(GHOST_DisplayManagerCocoa.mm.o)
“_NSDeviceRGBColorSpace”, referenced from:
GHOST_SystemCocoa::handleDraggingEvent(GHOST_TEventType, GHOST_TDragnDropTypes, GHOST_WindowCocoa*, int, int, void*) in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
“_NSDeviceWhiteColorSpace”, referenced from:
GHOST_WindowCocoa::setWindowCustomCursorShape(unsigned char*, unsigned char*, int, int, int, int, bool) in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
“_NSFilenamesPboardType”, referenced from:
-[CocoaWindow draggingEntered:] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
-[CocoaWindow performDragOperation:] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
GHOST_WindowCocoa::GHOST_WindowCocoa(GHOST_SystemCocoa*, char const*, int, int, unsigned int, unsigned int, GHOST_TWindowState, GHOST_TDrawingContextType, bool, bool, bool, GHOST_WindowCocoa*) in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
“_NSInsetRect”, referenced from:
GHOST_WindowCocoa::setProgressBar(float) in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
“_NSLog”, referenced from:
____ZN3ccl16MetalDeviceQueue7enqueueENS_12DeviceKernelEiRKNS_21DeviceKernelArgumentsE_block_invoke in libcycles_device.a(queue.mm.o)
“_NSSearchPathForDirectoriesInDomains”, referenced from:
GHOST_SystemPathsCocoa::getUserSpecialDir(GHOST_TUserSpecialDirTypes) const in libbf_intern_ghost.a(GHOST_SystemPathsCocoa.mm.o)
GetApplicationSupportDir(char const*, unsigned long, char*, unsigned long) in libbf_intern_ghost.a(GHOST_SystemPathsCocoa.mm.o)
_SDL_GetPrefPath_REAL in libSDL2.a(SDL_sysfilesystem.m.o)
“_NSStringPboardType”, referenced from:
GHOST_SystemCocoa::getClipboard(bool) const in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
GHOST_SystemCocoa::putClipboard(char const*, bool) const in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
-[CocoaWindow draggingEntered:] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
-[CocoaWindow performDragOperation:] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
GHOST_WindowCocoa::GHOST_WindowCocoa(GHOST_SystemCocoa*, char const*, int, int, unsigned int, unsigned int, GHOST_TWindowState, GHOST_TDrawingContextType, bool, bool, bool, GHOST_WindowCocoa*) in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
“_NSTIFFPboardType”, referenced from:
-[CocoaWindow draggingEntered:] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
GHOST_WindowCocoa::GHOST_WindowCocoa(GHOST_SystemCocoa*, char const*, int, int, unsigned int, unsigned int, GHOST_TWindowState, GHOST_TDrawingContextType, bool, bool, bool, GHOST_WindowCocoa*) in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
“_NSTextInputContextKeyboardSelectionDidChangeNotification”, referenced from:
-[CocoaOpenGLView setSystemAndWindowCocoa:windowCocoa:] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
-[CocoaMetalView setSystemAndWindowCocoa:windowCocoa:] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
“_NSUserNotificationDefaultSoundName”, referenced from:
postNotification() in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
“_NSWindowWillCloseNotification”, referenced from:
-[CocoaAppDelegate init] in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
-[CocoaAppDelegate dealloc] in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
“_NSZeroPoint”, referenced from:
GHOST_WindowCocoa::setProgressBar(float) in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
GHOST_WindowCocoa::endProgressBar() in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
“_NSZeroRect”, referenced from:
-[CocoaOpenGLView setSystemAndWindowCocoa:windowCocoa:] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
-[CocoaOpenGLView firstRectForCharacterRange:actualRange:] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
-[CocoaMetalView setSystemAndWindowCocoa:windowCocoa:] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
-[CocoaMetalView firstRectForCharacterRange:actualRange:] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
GHOST_WindowCocoa::setProgressBar(float) in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
GHOST_WindowCocoa::endProgressBar() in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_CLASS$_CAMetalLayer”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_CLASS$_NSAlert”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
OBJC_CLASS$_NSApplication”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
OBJC_CLASS$_NSAttributedString”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_CLASS$_NSAutoreleasePool”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
objc-class-ref in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
objc-class-ref in libbf_intern_ghost.a(GHOST_DisplayManagerCocoa.mm.o)
objc-class-ref in libbf_intern_locale.a(osx_user_locale.mm.o)
OBJC_CLASS$_NSBezierPath”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_CLASS$_NSBitmapImageRep”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
objc-class-ref in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_CLASS$_NSBundle”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_SystemPathsCocoa.mm.o)
objc-class-ref in libSDL2.a(SDL_sysfilesystem.m.o)
objc-class-ref in libSDL2.a(SDL_rwopsbundlesupport.m.o)
OBJC_CLASS$_NSColor”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_CLASS$_NSCursor”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_CLASS$_NSEvent”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
OBJC_CLASS$_NSFileManager”, referenced from:
objc-class-ref in libSDL2.a(SDL_rwopsbundlesupport.m.o)
OBJC_CLASS$_NSGraphicsContext”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
OBJC_CLASS$_NSImage”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_CLASS$_NSMenu”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
OBJC_CLASS$_NSMenuItem”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
OBJC_CLASS$_NSNotificationCenter”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
objc-class-ref in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_CLASS$_NSNumber”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
OBJC_CLASS$_NSOpenGLContext”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
OBJC_CLASS$_NSOpenGLPixelFormat”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
OBJC_CLASS$_NSOpenGLView”, referenced from:
OBJC_CLASS$_CocoaOpenGLView in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_CLASS$_NSPasteboard”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
OBJC_CLASS$_NSProcessInfo”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
objc-class-ref in libcycles_device.a(kernel.mm.o)
OBJC_CLASS$_NSScreen”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
objc-class-ref in libbf_intern_ghost.a(GHOST_DisplayManagerCocoa.mm.o)
OBJC_CLASS$_NSString”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
objc-class-ref in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
objc-class-ref in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
objc-class-ref in libbf_blenlib.a(storage_apple.mm.o)
objc-class-ref in libbf_intern_locale.a(osx_user_locale.mm.o)
objc-class-ref in libcycles_device.a(device_impl.mm.o)
objc-class-ref in libcycles_device.a(kernel.mm.o)

OBJC_CLASS$_NSTextInputContext”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_CLASS$_NSUserNotification”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_CLASS$_NSUserNotificationCenter”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_CLASS$_NSView”, referenced from:
OBJC_CLASS$_CocoaMetalView in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_CLASS$_NSWindow”, referenced from:
objc-class-ref in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
OBJC_CLASS$_CocoaWindow in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_METACLASS$_NSOpenGLView”, referenced from:
OBJC_METACLASS$_CocoaOpenGLView in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_METACLASS$_NSView”, referenced from:
OBJC_METACLASS$_CocoaMetalView in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
OBJC_METACLASS$_NSWindow”, referenced from:
OBJC_METACLASS$_CocoaWindow in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
“_TISCopyCurrentKeyboardInputSource”, referenced from:
-[CocoaOpenGLView checkImeEnabled] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
-[CocoaMetalView checkImeEnabled] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
“_TISCopyCurrentKeyboardLayoutInputSource”, referenced from:
convertKey(int, unsigned short, unsigned short) in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
“_TISGetInputSourceProperty”, referenced from:
convertKey(int, unsigned short, unsigned short) in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
-[CocoaOpenGLView checkImeEnabled] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
-[CocoaMetalView checkImeEnabled] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
“_UCKeyTranslate”, referenced from:
convertKey(int, unsigned short, unsigned short) in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
“_build_branch”, referenced from:
_make_app_info in libbf_python.a(bpy_app.c.o)
“_build_cflags”, referenced from:
_make_app_info in libbf_python.a(bpy_app.c.o)
“_build_commit_date”, referenced from:
_make_app_info in libbf_python.a(bpy_app.c.o)
DocumentExporter::exportCurrentScene() in libbf_collada.a(DocumentExporter.cpp.o)
“_build_commit_time”, referenced from:
_make_app_info in libbf_python.a(bpy_app.c.o)
DocumentExporter::exportCurrentScene() in libbf_collada.a(DocumentExporter.cpp.o)
“_build_commit_timestamp”, referenced from:
_write_global in libbf_blenloader.a(writefile.c.o)
_make_app_info in libbf_python.a(bpy_app.c.o)
“_build_cxxflags”, referenced from:
_make_app_info in libbf_python.a(bpy_app.c.o)
“_build_date”, referenced from:
_make_app_info in libbf_python.a(bpy_app.c.o)
“_build_hash”, referenced from:
_write_global in libbf_blenloader.a(writefile.c.o)
_make_app_info in libbf_python.a(bpy_app.c.o)
DocumentExporter::exportCurrentScene() in libbf_collada.a(DocumentExporter.cpp.o)
“_build_linkflags”, referenced from:
_make_app_info in libbf_python.a(bpy_app.c.o)
“_build_platform”, referenced from:
_make_app_info in libbf_python.a(bpy_app.c.o)
“_build_system”, referenced from:
_make_app_info in libbf_python.a(bpy_app.c.o)
“_build_time”, referenced from:
_make_app_info in libbf_python.a(bpy_app.c.o)
“_build_type”, referenced from:
_make_app_info in libbf_python.a(bpy_app.c.o)
“_iconv”, referenced from:
_avcodec_decode_subtitle2 in libavcodec.a(decode.o)
_getstr8 in libavformat.a(mpegts.o)
boost::locale::impl_posix::mb2_iconv_converter::mb2_iconv_converter(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in libboost_locale.a(codecvt.o)
boost::locale::impl_posix::mb2_iconv_converter::to_unicode(char const*&, char const*) in libboost_locale.a(codecvt.o)
boost::locale::impl_posix::mb2_iconv_converter::from_unicode(unsigned int, char*, char const*) in libboost_locale.a(codecvt.o)
std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > boost::locale::conv::impl::iconverter_base::real_convert<char, char>(char const*, char const*) in libboost_locale.a(codepage.o)
std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > boost::locale::conv::impl::iconverter_base::real_convert<wchar_t, char>(char const*, char const*) in libboost_locale.a(codepage.o)

(maybe you meant: boost::locale::impl_posix::mb2_iconv_converter::to_unicode(char const*&, char const*), boost::locale::impl_posix::mb2_iconv_converter::clone() const , boost::locale::impl_posix::mb2_iconv_converter::is_thread_safe() const , boost::locale::impl_posix::mb2_iconv_converter::max_len() const , boost::locale::impl_posix::mb2_iconv_converter::~mb2_iconv_converter() , vtable for boost::locale::impl_posix::mb2_iconv_converter , boost::locale::impl_posix::create_iconv_converter(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) , typeinfo for boost::locale::impl_posix::mb2_iconv_converter , _SDL_iconv_open_REAL , _SDL_iconv_close_REAL , _SDL_iconv_REAL , _SDL_iconv_string , _SDL_iconv_close , boost::locale::impl_posix::mb2_iconv_converter::~mb2_iconv_converter() , boost::locale::impl_posix::mb2_iconv_converter::from_unicode(unsigned int, char*, char const*) , boost::locale::impl_posix::mb2_iconv_converter::mb2_iconv_converter(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) , typeinfo name for boost::locale::impl_posix::mb2_iconv_converter , boost::locale::impl_posix::mb2_iconv_converter::~mb2_iconv_converter() , _SDL_iconv_open , _SDL_iconv , _SDL_iconv_string_REAL )
“_iconv_close”, referenced from:
_avcodec_open2 in libavcodec.a(avcodec.o)
_avcodec_decode_subtitle2 in libavcodec.a(decode.o)
_getstr8 in libavformat.a(mpegts.o)
boost::locale::impl_posix::mb2_iconv_converter::mb2_iconv_converter(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in libboost_locale.a(codecvt.o)
boost::locale::impl_posix::mb2_iconv_converter::~mb2_iconv_converter() in libboost_locale.a(codecvt.o)
boost::locale::conv::impl::iconv_between::open(char const*, char const*, boost::locale::conv::method_type) in libboost_locale.a(codepage.o)
boost::locale::conv::impl::iconv_between::~iconv_between() in libboost_locale.a(codepage.o)

(maybe you meant: _SDL_iconv_close_REAL, _SDL_iconv_close )
“_iconv_open”, referenced from:
_avcodec_open2 in libavcodec.a(avcodec.o)
_avcodec_decode_subtitle2 in libavcodec.a(decode.o)
_getstr8 in libavformat.a(mpegts.o)
boost::locale::impl_posix::mb2_iconv_converter::mb2_iconv_converter(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in libboost_locale.a(codecvt.o)
boost::locale::impl_posix::mb2_iconv_converter::to_unicode(char const*&, char const*) in libboost_locale.a(codecvt.o)
boost::locale::impl_posix::mb2_iconv_converter::from_unicode(unsigned int, char*, char const*) in libboost_locale.a(codecvt.o)
boost::locale::conv::impl::convert_between(char const*, char const*, char const*, char const*, boost::locale::conv::method_type) in libboost_locale.a(codepage.o)

(maybe you meant: _SDL_iconv_open_REAL, _SDL_iconv_open )
“_kCVPixelBufferMetalCompatibilityKey”, referenced from:
GHOST_ContextCGL::metalUpdateFramebuffer() in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
“_kCVPixelBufferOpenGLCompatibilityKey”, referenced from:
GHOST_ContextCGL::metalUpdateFramebuffer() in libbf_intern_ghost.a(GHOST_ContextCGL.mm.o)
“_kColorSyncCustomProfiles”, referenced from:
OpenColorIO_v2_0::GetICCProfilePath(unsigned int) in libOpenColorIO.a(SystemMonitor.cpp.o)
“_kColorSyncDeviceDefaultProfileID”, referenced from:
OpenColorIO_v2_0::GetICCProfilePath(unsigned int) in libOpenColorIO.a(SystemMonitor.cpp.o)
“_kColorSyncDeviceProfileURL”, referenced from:
OpenColorIO_v2_0::GetICCProfilePath(unsigned int) in libOpenColorIO.a(SystemMonitor.cpp.o)
“_kColorSyncDisplayDeviceClass”, referenced from:
OpenColorIO_v2_0::GetICCProfilePath(unsigned int) in libOpenColorIO.a(SystemMonitor.cpp.o)
“_kColorSyncFactoryProfiles”, referenced from:
OpenColorIO_v2_0::GetICCProfilePath(unsigned int) in libOpenColorIO.a(SystemMonitor.cpp.o)
“_kIOMasterPortDefault”, referenced from:
_SDL_SYS_HapticInit in libSDL2.a(SDL_syshaptic.c.o)
“_kLSSharedFileListFavoriteItems”, referenced from:
_fsmenu_read_system in libbf_editor_space_file.a(fsmenu.c.o)
“_kTISPropertyInputSourceIsASCIICapable”, referenced from:
-[CocoaOpenGLView checkImeEnabled] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
-[CocoaMetalView checkImeEnabled] in libbf_intern_ghost.a(GHOST_WindowCocoa.mm.o)
“_kTISPropertyUnicodeKeyLayoutData”, referenced from:
convertKey(int, unsigned short, unsigned short) in libbf_intern_ghost.a(GHOST_SystemCocoa.mm.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [bin/shader_builder] Error 1
make[2]: *** [source/blender/gpu/CMakeFiles/shader_builder.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs…
now run: “make install” to copy runtime files and scripts to Blender.app/Contents/Resources/3.2
[100%] Built target blender
make[1]: *** [all] Error 2
make: *** [all] Error 2

Arch Linux, make debug ccache ninja BUILD_CMAKE_ARGS="-DWITH_GPU_SHADER_BUILDER=ON -DWITH_LINKER_MOLD=ON":

Summary

mold: error: undefined symbol: /home/x/git/blender-git/lib/linux_centos7_x86_64/usd/lib/libusd_m.a(mallocHook.cpp.o): __malloc_hook
mold: error: undefined symbol: /home/x/git/blender-git/lib/linux_centos7_x86_64/usd/lib/libusd_m.a(mallocHook.cpp.o): __malloc_hook
mold: error: undefined symbol: /home/x/git/blender-git/lib/linux_centos7_x86_64/usd/lib/libusd_m.a(mallocHook.cpp.o): __realloc_hook
mold: error: undefined symbol: /home/x/git/blender-git/lib/linux_centos7_x86_64/usd/lib/libusd_m.a(mallocHook.cpp.o): __realloc_hook
mold: error: undefined symbol: /home/x/git/blender-git/lib/linux_centos7_x86_64/usd/lib/libusd_m.a(mallocHook.cpp.o): __memalign_hook
mold: error: undefined symbol: /home/x/git/blender-git/lib/linux_centos7_x86_64/usd/lib/libusd_m.a(mallocHook.cpp.o): __memalign_hook
mold: error: undefined symbol: /home/x/git/blender-git/lib/linux_centos7_x86_64/usd/lib/libusd_m.a(mallocHook.cpp.o): __free_hook
mold: error: undefined symbol: /home/x/git/blender-git/lib/linux_centos7_x86_64/usd/lib/libusd_m.a(mallocHook.cpp.o): __free_hook
mold: error: undefined symbol: /home/x/git/blender-git/lib/linux_centos7_x86_64/usd/lib/libusd_m.a(mallocHook.cpp.o): __malloc_hook
mold: error: undefined symbol: /home/x/git/blender-git/lib/linux_centos7_x86_64/usd/lib/libusd_m.a(mallocHook.cpp.o): __realloc_hook
mold: error: undefined symbol: /home/x/git/blender-git/lib/linux_centos7_x86_64/usd/lib/libusd_m.a(mallocHook.cpp.o): __memalign_hook
mold: error: undefined symbol: /home/x/git/blender-git/lib/linux_centos7_x86_64/usd/lib/libusd_m.a(mallocHook.cpp.o): __free_hook
collect2: error: ld returned 1 exit status
[5/9] Linking CXX executable bin/blender
ninja: build stopped: subcommand failed.
make: *** [GNUmakefile:329: all] Error 1

Does anyone know how to solve these errors?

Hi,

Great that you are willing to work on this part. Helas you encounter some limitations that we didn’t document well.

On MacOS the shader builder isn’t supported (⚓ T95047 WITH_GPU_SHADER_BUILDER doesn't work on Mac due to linking errors.) For linux you should disable WITH_USD for now. I updated the wiki page to reflect this.

Thanks! I build on linux again, the build is successful. I run the debug build blender for a while and it seems fine. Could you please review the patch(⚙ D14159 Add CreateInfo for GPU_SHADER_2D_WIDGET_BASE)?