Trying to do a debug build (but an error also happens when I set build type to release).
I get the following error message:
The following build commands failed:
CompileC /Users/tt/Desktop/SCDebug/supercollider/build/build/libsclang.build/Debug/Objects-normal/x86_64/qrc_resources.o
/Users/tt/Desktop/SCdebug/SuperCollider/build/lang/qrc_resources.cpp normal x86_64 c++
com.apple.compilers.llvm.clang.1_0.compiler (in target 'libsclang' from project 'SuperCollider')
(1 failure)
and further up it says (about the same file):
error: Build input file cannot be found:
'/Users/tt/Desktop/SCdebug/SuperCollider/build/lang/qrc_resources.cpp'.
Did you forget to declare this file as an output of a script phase
or custom build rule which produces it? (in target 'libsclang' from project 'SuperCollider')
Macos 15.4, llvm 20.1.2, Qt 6.9.0.
Xcode Version 16.3 (16E140), CLT: 16.3.0.0.1.1742442376
The build folder was very “clean” (newly made) and I’ve followed the instructions pretty much exactly, just with the --config Debug
difference.
Any ideas?
Just a wild guess: Can you move the whole directory somwhere outside of Documents, Desktop or Downloads? These are somehow protected folders by macOS and maybe they block some file operations.
The qrc_resources.cpp
file is a file which gets generated by Qt during the build process, can you share brew info qt
and how you have configured the build (so the cmake command).
You could also look into brew doctor
and see if anything strange pops up regarding qt.
I just saw that brew released Qt 6.9.0 last week and due to its rolling nature everyone just gets the latest Qt version from there on and there is no way to downgrade IIRC - this Qt version is untested (we currently target qt 6.7 in our test builds) but I just run a test build with it on macOS, but it seems to work fine (see create a test build with qt 6.9.0 · capital-G/supercollider@5db6b9f · GitHub ).
1 Like
Thanks! Tried this again in my home folder, with repo recloned just now; got a bunch of extra errors now that seem more directly Qc related.
CompileC /Users/tt/SCDeburger/supercollider/build/build/libsclang.build/Debug/Objects-normal/x86_64/moc_QcSlider.o /Users/tt/SCDeburger/SuperCollider/build/lang/__/QtCollider/widgets/moc_QcSlider.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'libsclang' from project 'SuperCollider')
CompileC /Users/tt/SCDeburger/supercollider/build/build/libsclang.build/Debug/Objects-normal/x86_64/moc_QcWindow.o /Users/tt/SCDeburger/SuperCollider/build/lang/__/QtCollider/widgets/moc_QcWindow.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'libsclang' from project 'SuperCollider')
CompileC /Users/tt/SCDeburger/supercollider/build/build/libsclang.build/Debug/Objects-normal/x86_64/moc_sc_ipc_client.o /Users/tt/SCDeburger/SuperCollider/build/lang/__/editors/sc-ide/primitives/moc_sc_ipc_client.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'libsclang' from project 'SuperCollider')
CompileC /Users/tt/SCDeburger/supercollider/build/build/libsclang.build/Debug/Objects-normal/x86_64/moc_QcTreeWidget.o /Users/tt/SCDeburger/SuperCollider/build/lang/__/QtCollider/widgets/moc_QcTreeWidget.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'libsclang' from project 'SuperCollider')
CompileC /Users/tt/SCDeburger/supercollider/build/build/libsclang.build/Debug/Objects-normal/x86_64/moc_view.o /Users/tt/SCDeburger/SuperCollider/build/lang/__/QtCollider/widgets/soundfileview/moc_view.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'libsclang' from project 'SuperCollider')
CompileC /Users/tt/SCDeburger/supercollider/build/build/libsclang.build/Debug/Objects-normal/x86_64/moc_QcTextField.o /Users/tt/SCDeburger/SuperCollider/build/lang/__/QtCollider/widgets/moc_QcTextField.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'libsclang' from project 'SuperCollider')
CompileC /Users/tt/SCDeburger/supercollider/build/build/libsclang.build/Debug/Objects-normal/x86_64/moc_QcSlider2D.o /Users/tt/SCDeburger/SuperCollider/build/lang/__/QtCollider/widgets/moc_QcSlider2D.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'libsclang' from project 'SuperCollider')
CompileC /Users/tt/SCDeburger/supercollider/build/build/libsclang.build/Debug/Objects-normal/x86_64/moc_QcWebView.o /Users/tt/SCDeburger/SuperCollider/build/lang/__/QtCollider/widgets/moc_QcWebView.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'libsclang' from project 'SuperCollider')
CompileC /Users/tt/SCDeburger/supercollider/build/build/libsclang.build/Debug/Objects-normal/x86_64/moc_QcTextEdit.o /Users/tt/SCDeburger/SuperCollider/build/lang/__/QtCollider/widgets/moc_QcTextEdit.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'libsclang' from project 'SuperCollider')
CompileC /Users/tt/SCDeburger/supercollider/build/build/libsclang.build/Debug/Objects-normal/x86_64/moc_web_page.o /Users/tt/SCDeburger/SuperCollider/build/lang/__/QtCollider/widgets/moc_web_page.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'libsclang' from project 'SuperCollider')
CompileC /Users/tt/SCDeburger/supercollider/build/build/libsclang.build/Debug/Objects-normal/x86_64/qrc_resources.o /Users/tt/SCDeburger/SuperCollider/build/lang/qrc_resources.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'libsclang' from project 'SuperCollider')
Re brew, there are hacky ways to change the .rb file so it will download some earlier version but I forgot how exactly that goes. Might look into it when I feel the urge. For now this is probably as good a motivation as any to stop fiddling with plugin internals and go make some music… (or try to build it on linux)
For a mysterious problem like this, it would be potentially helpful to see a full log, including the configuration stage, started from a clean build directory.
You mentioned the Debug
build, does this error occur when you build RelWithDebInfo
?
Also, another wild guess: do you happen to have qt5 installed and linked? if it’s installed, be sure to unlink it when building SC.
Also the build system in GHA uses the current homebrew-provided qt in the “use system libraries” configuration - a recent build with Qt 6.9 seems to have worked.
just realized that it’s using the “qt deploy utility” of a conda install I forgot I had. maybe it’s that? (EDIT: apparently not. tried again after removing conda, same errors.)
qt5 wasn’t linked.
RelWithDebInfo also fails…
Also I’m new to this, so I don’t exactly know what you mean by “the full log”. I’m attaching the configure log, and I’m pasting the output during the config/generation stage (i.e., after calling cmake -G Xcode ..
).
output at generation
-- The C compiler identification is AppleClang 17.0.0.17000013
-- The CXX compiler identification is AppleClang 17.0.0.17000013
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- SuperCollider Version: 3.14.0-dev
-- Building from branch develop, commit hash is cc890d34f
-- Please specify the build configuration in the next step
-- Compiling with Qt GUI
-- Found Pthreads: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/lib/libpthread.tbd
-- Using bundled boost
-- Using bundled yaml-cpp
CMake Deprecation Warning at external_libraries/hidapi/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
-- HIDAPI components:
-- Mac
-- hidapi_parser
-- Building with HID support
-- Found install of libsndfile in /usr/local/opt/libsndfile/lib/libsndfile.dylib
-- Performing Test SNDFILE_HAS_VORBIS
-- Performing Test SNDFILE_HAS_VORBIS - Success
-- Performing Test SNDFILE_HAS_OPUS
-- Performing Test SNDFILE_HAS_OPUS - Success
-- Performing Test SNDFILE_HAS_MPEG
-- Performing Test SNDFILE_HAS_MPEG - Success
-- FFT library (scsynth): vDSP
-- Audio API (scsynth): coreaudio
-- Found a homebrew install of readline /usr/local/opt/readline
-- Found GNU Readline version 8.2: /usr/local/opt/readline/lib/libreadline.dylib
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found WrapAtomic: TRUE
-- Found OpenGL: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/OpenGL.framework
-- Found WrapOpenGL: TRUE
-- Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
-- Found Cups: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/lib/libcups.tbd (found version "2.3.4")
-- Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
-- Found Qt 6.9.0: /usr/local/lib/QtCore.framework/Versions/A/QtCore
-- sclang: Building with QtWebEngine
-- Compiling with Ableton Link support
-- Compiling with Readline support
-- Building the Qt IDE
-- Found Threads: TRUE
-- Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
-- Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
-- IDE: Building with QtWebEngine
-- Detected Qt6 from homebrew: will fix deployment of QtQuickWidgets
-- Found Qt deploy utility: /Users/tt/opt/anaconda3/bin/macdeployqt
-- Configuring done (28.5s)
-- Generating done (1.1s)
-- Build files have been written to: /Users/tt/SCDeburger/supercollider/build
CMakeConfigureLog.yaml (223.0 KB)
Your configure step indeed shows using mixed sources for Qt:
– Found Qt 6.9.0: /usr/local/lib/QtCore.framework/Versions/A/QtCore
and
– Found Qt deploy utility: /Users/tt/opt/anaconda3/bin/macdeployqt
I’d try making sure that only one Qt installation is present in the PATH.
I don’t exactly know what you mean by “the full log”.
I meant the full output after running the build stage (cmake --build . (...)
).
But first I suggest cleaning up the qt install, making sure that QtCore and macdeployqt come from the same installation (if there are multiple Qt installs present in PATH, it’s possible that various other parts of Qt get mixed up, but just QtCore and macdeployqt).
Sorry, I wasn’t too clear the first time round. I’d already seen that and removed the conda bits. I also checked again today for anything named qt in my PATH but apart from the homebrew one I didn’t find anything suspicious. (Noticed there’s a macdeployqt and a macdeployqt6, but they’re in the same folder so I guess this is as should be?)
configure step, only change over last one is that it’s now using /usr/local/bin/macdeployqt:
configure step output:
– The C compiler identification is AppleClang 17.0.0.17000013
– The CXX compiler identification is AppleClang 17.0.0.17000013
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– SuperCollider Version: 3.14.0-dev
– Building from branch develop, commit hash is 39c296efb
– Please specify the build configuration in the next step
– Compiling with Qt GUI
– Found Pthreads: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/lib/libpthread.tbd
– Using bundled boost
– Using bundled yaml-cpp
CMake Deprecation Warning at external_libraries/hidapi/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
Update the VERSION argument value. Or, use the … syntax
to tell CMake that the project requires at least but has been updated
to work with policies introduced by or earlier.
– HIDAPI components:
– Mac
– hidapi_parser
– Building with HID support
– Found install of libsndfile in /usr/local/opt/libsndfile/lib/libsndfile.dylib
– Performing Test SNDFILE_HAS_VORBIS
– Performing Test SNDFILE_HAS_VORBIS - Success
– Performing Test SNDFILE_HAS_OPUS
– Performing Test SNDFILE_HAS_OPUS - Success
– Performing Test SNDFILE_HAS_MPEG
– Performing Test SNDFILE_HAS_MPEG - Success
– FFT library (scsynth): vDSP
– Audio API (scsynth): coreaudio
– Found a homebrew install of readline /usr/local/opt/readline
– Found GNU Readline version 8.2: /usr/local/opt/readline/lib/libreadline.dylib
– Performing Test HAVE_STDATOMIC
– Performing Test HAVE_STDATOMIC - Success
– Found WrapAtomic: TRUE
– Found OpenGL: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/OpenGL.framework
– Found WrapOpenGL: TRUE
– Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
– Found Cups: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/lib/libcups.tbd (found version “2.3.4”)
– Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
– Found Qt 6.9.0: /usr/local/lib/QtCore.framework/Versions/A/QtCore
– sclang: Building with QtWebEngine
– Compiling with Ableton Link support
– Compiling with Readline support
– Building the Qt IDE
– Found Threads: TRUE
– Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
– Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
– IDE: Building with QtWebEngine
– Detected Qt6 from homebrew: will fix deployment of QtQuickWidgets
– Found Qt deploy utility: /usr/local/bin/macdeployqt
– Configuring done (32.8s)
– Generating done (1.1s)
– Build files have been written to: /Users/tt/SCDeburger/supercollider/build
build output:
log.txt (831.2 KB)
Thanks for sending the logs!
Unfortunately, I’m at loss here; I can’t tell what the issue might be and I cannot reproduce it locally.
One difference is that I’m using slightly older Xcode… maybe that made a difference, something to test I guess.
1 Like
Thanks for looking at it anyway! At least I learned a few things.
One thing that is strange that the compilation of e.g. moc_QcTextEdit.o
fails b/c of a non-existing build/lang/__/QtCollider/widgets/moc_QcTextEdit.cpp
but this doesn’t stop the compilation?
Comparing to a CI build https://github.com/supercollider/supercollider/actions/runs/14414321031/job/40434375203#step:14:12284 there seems to be a difference on what gets linked?
Can you share the content of /Users/tt/SCDeburger/supercollider/build/build/libsclang.build/Debug/Script-41F487AF28EB7881B8AF1B30.sh
(or generally speaking the file that gets generated by CMake to build, so something like
PhaseScriptExecution Generate\ lang/__/QtCollider/widgets/moc_QcTextEdit.cpp /Users/tt/SCDeburger/supercollider/build/build/libsclang.build/Debug/Script-41F487AF28EB7881B8AF1B30.sh (in target 'libsclang' from project 'SuperCollider')
cd /Users/tt/SCDeburger/SuperCollider
/bin/sh -c /Users/tt/SCDeburger/supercollider/build/build/libsclang.build/Debug/Script-41F487AF28EB7881B8AF1B30.sh
)
As it seems you have also Qt installed via conda this can create all sorts of trouble as it acts as an additional system package manager - I found conda the worst offender tinkering with PATH variables and taint the environment, it created so much trouble for me in the past and since python wheels are a thing there is no real reason to use it anymore IMO.
You can try to overwrite the PATH variable for the build process by invoking the build process w/ a modified PATH variable which excludes all conda stuff, so something along PATH=/some:/other/... cmake --build build
.
1 Like
I’m not on that computer right now but last night I did try to follow those leads a bit.
From memory: The shell scripts such as the one you mentioned just generate those files (e.g. moc_QcTextEdit.cpp
) on the basis of some other file in the source, and the weird thing is that as far as I can tell the files are created successfully, i.e. their content is not obviously garbled or something. And that’s strange because the compiler claims those files “cannot be found”, even though they’re exactly where they should be.
Maybe this is some permissions voodoo after all? But I am running cmake as the owner of the directory that SC is in so I’m not sure how.
Another idea, not sure how fruitful: The scripts are bash scripts, whereas I called cmake from within zsh. Possibly there’s something off with the bashrc, maybe some unfinished business from that conda installation…
To repeat, I’ve meanwhile removed ana/conda to the best of my knowledge, so the folder where it installed packages simply does no longer exist… (It seemed like a good idea at the time when I was looking mostly for an easy replacement for matlab). Of course, there may be other remnants that I’m not aware of, but you’d have to tell me where to look…
So here’s that requested script, I misremembered the bit about bash. it’s just regular sh.
Script-04A6C79636F27FF09B1A25AE.sh
set -e
if test "$CONFIGURATION" = "Debug"; then :
cd /Users/tt/SCDeburger/Supercollider/build/lang/__/QtCollider/widgets
/usr/local/share/qt/libexec/moc @/Users/tt/SCDeburger/Supercollider/build/lang/__/QtCollider/widgets/moc_QcTextEdit.cpp_parameters
fi
if test "$CONFIGURATION" = "Release"; then :
cd /Users/tt/SCDeburger/Supercollider/build/lang/__/QtCollider/widgets
/usr/local/share/qt/libexec/moc @/Users/tt/SCDeburger/Supercollider/build/lang/__/QtCollider/widgets/moc_QcTextEdit.cpp_parameters
fi
if test "$CONFIGURATION" = "MinSizeRel"; then :
cd /Users/tt/SCDeburger/Supercollider/build/lang/__/QtCollider/widgets
/usr/local/share/qt/libexec/moc @/Users/tt/SCDeburger/Supercollider/build/lang/__/QtCollider/widgets/moc_QcTextEdit.cpp_parameters
fi
if test "$CONFIGURATION" = "RelWithDebInfo"; then :
cd /Users/tt/SCDeburger/Supercollider/build/lang/__/QtCollider/widgets
/usr/local/share/qt/libexec/moc @/Users/tt/SCDeburger/Supercollider/build/lang/__/QtCollider/widgets/moc_QcTextEdit.cpp_parameters
fi
The cpp file that the compiler claims to not find (error: Build input file cannot be found: '/Users/tt/SCDeburger/SuperCollider/build/lang/__/QtCollider/widgets/moc_QcTextEdit.cpp'.
) looks like this:
moc_QcTextEdit.cpp (8.2 KB)