macOS performance

Hi, new here and first post :slight_smile:
Finding out about score made me really happy, because it is exactly what I was looking for.
The problem is that I can not get it to work properly at all on my mac. I suppose it might be an issue with my system as Natron, for example, is also not really performant. I downloaded the demo of a proprietary tool “Magic Music Visuals” which works fine though.

So I am turning to this forum to find out if anyone has ideas to make this work on my system or if anyone has similar issues. There must be a bottleneck somewhere.

Thanks in advance for any ideas.

Hi !
Would you be able to share some scores that don’t work fast enough for you, so that we can see where the bottlenecks are on macOS ?

Thanks for the reply. It really is basic things that do not work. Video Playback for example, is stuttery, even after conversion to HAP. All I do is create a window device, and drag the video into the timeline and it stutters. Same with ifs process etc. Anything video. I am not sure why. Thats why I need some help isolating. Is it my macOS version? Is it my graphics card? Do I have a general issue with FFMPG? I hoped for some wisdom of anyone else, who already had to troubleshoot ossia score.

On a more personal note: I really want to get into ossia. Score is looking like the foss creative environment of my dreams (for fun, not for business). Only my time is limited, but I am willing to pay in minutes and hours.

Okay, that’s definitely not normal. On my mac (macmini 2018 with intel iGPU) just putting a video does not stutter, especially not if it’s HAP, and I can easily put video filters after it before the framerate drops.

Are you running a M1 or an Intel mac ? Do you have a retina screen, and if so, which screen resolution / scaling setting are you using ?

1 Like

It is a good old intel machine, I already posted the threads over at github issue #1396 but paste them again plus GPU info below. I checked out from github (with submodules) and tried building score so that I can attach a debugger, but I need to get my dependencies straight (used the osx-brew.build.sh)

Model Name: MacBook Pro
Model Identifier: MacBookPro16,1
Processor Name: 8-Core Intel Core i9
Processor Speed: 2,3 GHz
Number of Processors: 1
Total Number of Cores: 8
L2 Cache (per Core): 256 KB
L3 Cache: 16 MB
Hyper-Threading Technology: Enabled
Memory: 32 GB

Here is some graphics card information:

Chipset Model: AMD Radeon Pro 5500M
Type: GPU
Bus: PCIe
PCIe Lane Width: x8
VRAM (Total): 8 GB

Metal Family: Supported, Metal GPUFamily macOS 2

Intel UHD Graphics 630:

Chipset Model: Intel UHD Graphics 630
Type: GPU
Bus: Built-In
VRAM (Dynamic, Max): 1536 MB
Vendor: Intel
Metal Family: Supported, Metal GPUFamily macOS 2

Okay, very much not normal then, as this is quite more powerful than the macmini I test with…

For building on a mac you need:

  • Latest XCode (update if you’re not sure)
  • Inside the source dir:
brew update
brew upgrade
brew install ninja qt boost cmake ffmpeg portaudio jack fftw sdl lv2 lilv suil freetype

mkdir build
cd build

cmake .. \
  -GNinja \
  -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  -DCMAKE_INSTALL_PREFIX=install \
  -DSCORE_DYNAMIC_PLUGINS=1 \
  -DCMAKE_UNITY_BUILD=1

cmake --build .
cmake --build . --target install

then you should be able to see where time is taken through Xcode’s Instruments:

https://help.apple.com/instruments/mac/current/#/devc1724975

1 Like

Thanks, will give it a try. Forgot one important detail. I can not go to the latest xcode version because I am still on macOS 11.6.2 for reasons. Could that be the issue? What are you using on your test machine?

Edit build is failing:
FAILED: 3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx.o
Looking into it now, but help appreciated.

On 11.6 you should have not the last version but close enough that it will work (some plug-ins will be disabled ; for what you want it should be fine though).

Can you try to post the whole log ? Also I spent some time fixing stuff with brew’s Qt version this morning so you may need to pull the repo again:

cd score
git pull
git submodule update --init --recursive

(and in the meantime if you could send me e.g. a video file you’ve tried and the FPS you’re getting + screen resolution / scaling factor, it would be great ! also you mentioned FFMPEG but it’s most likely not it, we only use it for decoding (and even then, decoding HAP is mostly done with a special codepath that goes through the GPU for maximum performance))

1 Like

For reference I tried a simple score with a 1080p video followed by two ISF effects:

it takes between 10% and 20% cpu here, and seems to run at 60fps ; most of the CPU is taken by the UI redraw ; the video pipeline does not even show up when profiling.

It would be interesting to see what Instruments give you in the same case. I used an HAP sample from Vidvox.

1 Like

Thanks for the instructions. Trying to continue on this as soon as possible. Got corona right now, so taking it slow :face_with_thermometer:

Ow take care ! Cheers

1 Like

Thanks.
It might be an issue with my qt5 version or my path but I am too unexprienced to find it. I made sure to upgrage both, qt and qt5 via brew. Here is the result of cmake --build . >> output.txt from my second build attempt after deleting score checkout and starting from scratch.

[1/82] Building CXX object 3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx.o
FAILED: 3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx.o 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DBOOST_ASIO_DISABLE_CONCEPTS=1 -DBOOST_MATH_DISABLE_FLOAT128=1 -DFMT_HEADER_ONLY=1 -DHAVE_CONFIG_H=1 -DKFR_DFT_NPo2 -DLIBREMIDI_COREAUDIO -DLIBREMIDI_HEADER_ONLY -DLIBREMIDI_JACK -DOSSIA_DISABLE_QT_PLUGIN -DOSSIA_EXPORTS -DQT_CORE_LIB -DQT_DISABLE_DEPRECATED_BEFORE=0x050800 -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_KEYWORDS -DQT_QML_LIB -DQT_SERIALPORT_LIB -DQT_WEBSOCKETS_LIB -DRAPIDJSON_HAS_STDSTRING=1 -DSERVUS_USE_DNSSD -DTINYSPLINE_DOUBLE_PRECISION -DWIIUSE_STATIC -I/Users/account1/Documents/Development/ossia/score/build/3rdparty/libossia/src -I/Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src -I/Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/exprtk -I/Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/wiiuse/src -I/Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt -I/Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/verdigris/src -I/Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/cpp-taskflow -I/Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/Flicks -I/Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/rapidfuzz-cpp -I/Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty -I/Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/libartnet -I/Users/account1/Documents/Development/ossia/score/build/3rdparty/libossia/src/libartnet -I/Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/Servus/servus/.. -I/Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/libsamplerate/src -I/Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/rubberband/rubberband -I/Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/kfr/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/weakjack -isystem /usr/local/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/variant/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/nano-signal-slot/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/spdlog/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/brigand/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/fmt/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/hopscotch-map/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/mdspan/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/GSL/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/tuplet/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/flat_hash_map -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/flat -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/readerwriterqueue -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/concurrentqueue -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/SmallFunction/smallfun/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/websocketpp -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/dr_libs -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/rnd/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/rapidjson/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/libremidi/include -isystem /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/3rdparty/oscpack -iframework /usr/local/opt/qt5/lib -isystem /usr/local/opt/qt5/lib/QtQml.framework/Headers -isystem /usr/local/opt/qt5/lib/QtNetwork.framework/Headers -isystem /usr/local/opt/qt5/lib/QtCore.framework/Headers -isystem /usr/local/opt/qt5/./mkspecs/macx-clang -isystem /usr/local/opt/qt5/lib/QtWebSockets.framework/Headers -isystem /usr/local/opt/qt5/lib/QtSerialPort.framework/Headers -isystem /usr/local/Cellar/sdl2/2.0.22/include/SDL2 -isystem /usr/local/opt/qt5/lib/QtGui.framework/Headers -isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk/System/Library/Frameworks/OpenGL.framework/Headers -std=c++20  -O2 -g -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk -mmacosx-version-min=11.6 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wno-gnu-statement-expression -Wno-four-char-constants -Wno-cast-align -Wno-unused-local-typedef -Wall -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -Wno-missing-braces -Wnon-virtual-dtor -pedantic -Wunused -Woverloaded-virtual -pipe -Werror=return-type -Werror=trigraphs -Wmissing-field-initializers -Wno-auto-var-id -Wno-availability -Wno-deprecated-declarations -Wno-exceptions -Wno-extra-semi -Wno-gnu-folding-constant -Wno-gnu-zero-variadic-macro-arguments -Wno-inconsistent-missing-override -Wno-infinite-recursion -Wno-missing-method-return-type -Wno-non-virtual-dtor -Wno-nullability-completeness-on-arrays -Wno-nullability-extension -Wno-pedantic -Wno-sign-compare -Wno-switch -Wno-unguarded-availability-new -Wno-unknown-warning-option -Wno-unused-function -Wno-unused-private-field -Wno-unused-variable -Wno-variadic-macros -Wno-zero-length-array -Wmisleading-indentation -fPIC -faligned-allocation -mstackrealign -mno-sse3 -msse4.2 -mavx2 -mfma -std=gnu++20 -MD -MT 3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx.o -MF 3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx.o.d -o 3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx.o -c /Users/account1/Documents/Development/ossia/score/build/3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx
In file included from /Users/account1/Documents/Development/ossia/score/build/3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx:123:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.cpp:3:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.hpp:5:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/js_utilities.hpp:16:
In file included from /usr/local/opt/qt5/lib/QtCore.framework/Headers/QStringBuilder:1:
/usr/local/opt/qt5/lib/QtCore.framework/Headers/qstringbuilder.h:234:34: error: use of undeclared identifier 'QCharRef'
template <> struct QConcatenable<QCharRef> : private QAbstractConcatenable
                                 ^
/usr/local/opt/qt5/lib/QtCore.framework/Headers/qstringbuilder.h:278:34: error: unknown type name 'QStringRef'; did you mean 'CFStringRef'?
template <> struct QConcatenable<QStringRef> : private QAbstractConcatenable
                                 ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:481:61: note: 'CFStringRef' declared here
typedef const struct CF_BRIDGED_TYPE(NSString) __CFString * CFStringRef;
                                                            ^
In file included from /Users/account1/Documents/Development/ossia/score/build/3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx:123:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.cpp:3:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.hpp:5:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/js_utilities.hpp:16:
In file included from /usr/local/opt/qt5/lib/QtCore.framework/Headers/QStringBuilder:1:
/usr/local/opt/qt5/lib/QtCore.framework/Headers/qstringbuilder.h:280:13: error: unknown type name 'QStringRef'; did you mean 'CFStringRef'?
    typedef QStringRef type;
            ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:481:61: note: 'CFStringRef' declared here
typedef const struct CF_BRIDGED_TYPE(NSString) __CFString * CFStringRef;
                                                            ^
In file included from /Users/account1/Documents/Development/ossia/score/build/3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx:123:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.cpp:3:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.hpp:5:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/js_utilities.hpp:16:
In file included from /usr/local/opt/qt5/lib/QtCore.framework/Headers/QStringBuilder:1:
/usr/local/opt/qt5/lib/QtCore.framework/Headers/qstringbuilder.h:283:27: error: unknown type name 'QStringRef'; did you mean 'CFStringRef'?
    static int size(const QStringRef &a) { return a.size(); }
                          ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:481:61: note: 'CFStringRef' declared here
typedef const struct CF_BRIDGED_TYPE(NSString) __CFString * CFStringRef;
                                                            ^
In file included from /Users/account1/Documents/Development/ossia/score/build/3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx:123:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.cpp:3:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.hpp:5:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/js_utilities.hpp:16:
In file included from /usr/local/opt/qt5/lib/QtCore.framework/Headers/QStringBuilder:1:
/usr/local/opt/qt5/lib/QtCore.framework/Headers/qstringbuilder.h:284:39: error: unknown type name 'QStringRef'; did you mean 'CFStringRef'?
    static inline void appendTo(const QStringRef &a, QChar *&out)
                                      ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:481:61: note: 'CFStringRef' declared here
typedef const struct CF_BRIDGED_TYPE(NSString) __CFString * CFStringRef;
                                                            ^
In file included from /Users/account1/Documents/Development/ossia/score/build/3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx:123:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.cpp:3:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.hpp:5:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/js_utilities.hpp:16:
In file included from /usr/local/opt/qt5/lib/QtCore.framework/Headers/QStringBuilder:1:
/usr/local/opt/qt5/lib/QtCore.framework/Headers/qstringbuilder.h:283:52: error: member reference type 'const CFStringRef' (aka 'const __CFString *const') is a pointer; did you mean to use '->'?
    static int size(const QStringRef &a) { return a.size(); }
                                                  ~^
/usr/local/opt/qt5/lib/QtCore.framework/Headers/qstringbuilder.h:283:52: error: incomplete definition of type '__CFString'
    static int size(const QStringRef &a) { return a.size(); }
                                                  ~^
/usr/local/include/QtCore/qstringview.h:65:1: note: forward declaration of '__CFString'
Q_FORWARD_DECLARE_CF_TYPE(CFString);
^
/usr/local/include/QtCore/qglobal.h:830:64: note: expanded from macro 'Q_FORWARD_DECLARE_CF_TYPE'
#  define Q_FORWARD_DECLARE_CF_TYPE(type) typedef const struct __ ## type * type ## Ref
                                                               ^
<scratch space>:381:1: note: expanded from here
__CFString
^
In file included from /Users/account1/Documents/Development/ossia/score/build/3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx:123:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.cpp:3:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.hpp:5:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/js_utilities.hpp:16:
In file included from /usr/local/opt/qt5/lib/QtCore.framework/Headers/QStringBuilder:1:
/usr/local/opt/qt5/lib/QtCore.framework/Headers/qstringbuilder.h:286:24: error: member reference type 'const CFStringRef' (aka 'const __CFString *const') is a pointer; did you mean to use '->'?
        const int n = a.size();
                      ~^
/usr/local/opt/qt5/lib/QtCore.framework/Headers/qstringbuilder.h:286:24: error: incomplete definition of type '__CFString'
        const int n = a.size();
                      ~^
/usr/local/include/QtCore/qstringview.h:65:1: note: forward declaration of '__CFString'
Q_FORWARD_DECLARE_CF_TYPE(CFString);
^
/usr/local/include/QtCore/qglobal.h:830:64: note: expanded from macro 'Q_FORWARD_DECLARE_CF_TYPE'
#  define Q_FORWARD_DECLARE_CF_TYPE(type) typedef const struct __ ## type * type ## Ref
                                                               ^
<scratch space>:381:1: note: expanded from here
__CFString
^
In file included from /Users/account1/Documents/Development/ossia/score/build/3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx:123:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.cpp:3:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.hpp:5:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/js_utilities.hpp:16:
In file included from /usr/local/opt/qt5/lib/QtCore.framework/Headers/QStringBuilder:1:
/usr/local/opt/qt5/lib/QtCore.framework/Headers/qstringbuilder.h:287:52: error: member reference type 'const CFStringRef' (aka 'const __CFString *const') is a pointer; did you mean to use '->'?
        memcpy(out, reinterpret_cast<const char*>(a.constData()), sizeof(QChar) * n);
                                                  ~^
/usr/local/opt/qt5/lib/QtCore.framework/Headers/qstringbuilder.h:287:52: error: incomplete definition of type '__CFString'
        memcpy(out, reinterpret_cast<const char*>(a.constData()), sizeof(QChar) * n);
                                                  ~^
/usr/local/include/QtCore/qstringview.h:65:1: note: forward declaration of '__CFString'
Q_FORWARD_DECLARE_CF_TYPE(CFString);
^
/usr/local/include/QtCore/qglobal.h:830:64: note: expanded from macro 'Q_FORWARD_DECLARE_CF_TYPE'
#  define Q_FORWARD_DECLARE_CF_TYPE(type) typedef const struct __ ## type * type ## Ref
                                                               ^
<scratch space>:381:1: note: expanded from here
__CFString
^
In file included from /Users/account1/Documents/Development/ossia/score/build/3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx:123:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.cpp:7:
In file included from /usr/local/opt/qt5/lib/QtNetwork.framework/Headers/QNetworkAccessManager:1:
/usr/local/opt/qt5/lib/QtNetwork.framework/Headers/qnetworkaccessmanager.h:95:10: error: ISO C++ forbids forward references to 'enum' types
    enum QT_DEPRECATED_NETWORK_API_5_15 NetworkAccessibility {
         ^
/usr/local/opt/qt5/lib/QtNetwork.framework/Headers/qnetworkaccessmanager.h:95:41: error: field has incomplete type 'enum QT_DEPRECATED_NETWORK_API_5_15'
    enum QT_DEPRECATED_NETWORK_API_5_15 NetworkAccessibility {
                                        ^
/usr/local/opt/qt5/lib/QtNetwork.framework/Headers/qnetworkaccessmanager.h:95:10: note: forward declaration of 'QT_DEPRECATED_NETWORK_API_5_15'
    enum QT_DEPRECATED_NETWORK_API_5_15 NetworkAccessibility {
         ^
/usr/local/opt/qt5/lib/QtNetwork.framework/Headers/qnetworkaccessmanager.h:102:12: error: unknown type name 'NetworkAccessibility'
    Q_ENUM(NetworkAccessibility)
           ^
/usr/local/opt/qt5/lib/QtNetwork.framework/Headers/qnetworkaccessmanager.h:102:12: error: unknown type name 'NetworkAccessibility'
/usr/local/opt/qt5/lib/QtNetwork.framework/Headers/qnetworkaccessmanager.h:159:58: error: unknown type name 'NetworkAccessibility'
    QT_DEPRECATED_VERSION_5_15 void setNetworkAccessible(NetworkAccessibility accessible);
                                                         ^
/usr/local/opt/qt5/lib/QtNetwork.framework/Headers/qnetworkaccessmanager.h:160:32: error: unknown type name 'NetworkAccessibility'
    QT_DEPRECATED_VERSION_5_15 NetworkAccessibility networkAccessible() const;
                               ^
/usr/local/opt/qt5/lib/QtNetwork.framework/Headers/qnetworkaccessmanager.h:201:85: error: no type named 'NetworkAccessibility' in 'QNetworkAccessManager'
    QT_DEPRECATED_VERSION_5_15 void networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility accessible);
                                                             ~~~~~~~~~~~~~~~~~~~~~~~^
In file included from /Users/account1/Documents/Development/ossia/score/build/3rdparty/libossia/src/CMakeFiles/ossia.dir/Unity/unity_0_cxx.cxx:123:
In file included from /Users/account1/Documents/Development/ossia/score/3rdparty/libossia/src/ossia-qt/http/http_protocol.cpp:8:
In file included from /usr/local/opt/qt5/lib/QtNetwork.framework/Headers/QNetworkReply:1:
/usr/local/opt/qt5/lib/QtNetwork.framework/Headers/qnetworkreply.h:160:38: error: expected parameter declarator
    QT_DEPRECATED_NETWORK_API_5_15_X("Use QNetworkReply::errorOccurred(QNetworkReply::NetworkError) instead")
                                     ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
ninja: build stopped: subcommand failed.

Hi @jcelerier where you able to spot why my build is not working?

Hi ! sorry, I was at a conference until now.

The qt and qt5 packages cannot coexist on homebrew (mainly because it puts them both in /usr/local/include/ so you get a mix of files from both versions which does not work at all).

If you can, just use the qt5 package and remove the qt(6) one

1 Like

That worked! Thanks a million.
I did brew uninstall qt and brew uninstall qt5 followed by:

brew install qt@5
echo 'export PATH="/usr/local/opt/qt@5/bin:$PATH"' >> ~/.zshrc
export LDFLAGS="-L/usr/local/opt/qt@5/lib"
export CPPFLAGS="-I/usr/local/opt/qt@5/include"
export PKG_CONFIG_PATH="/usr/local/opt/qt@5/lib/pkgconfig"

As suggested by brew to make sure the proper version is picked upon compilation.

Maybe you might consider to replace “brew install qt” with “brew install qt@5” in the scripts, at least as long as qt6 is not yet supported?

And one more question: Should --target install have created an app bundle or do I need to create that myself? Thanks again for your patience, really appreciate to be guided through this process.

great :slight_smile:

Maybe you might consider to replace “brew install qt” with “brew install qt@5” in the scripts, at least as long as qt6 is not yet supported?

yes, definitely (technically, it builds with qt6 but there are a couple unfixed issues).

And one more question: Should --target install have created an app bundle

hmmmm with these build flags I don’t think so - they are optimized for local development so you should just have an ossia-score binary in the build folder, which should be enough to check the performance issues (as now you have a build with debug symbols which will be able to tell us where things are slow)

1 Like

e.g. ideally if you could use the Profiler: Xcode Instruments usage to improve app performance when you have a slow thing running, and send me the trace so that I try to understand what happens it would be absolutely great

1 Like

It was not possible to just start the binary, I get something like this:

~ % /Users/account1/Documents/Development/ossia/score/build/install/bin/score ; exit;
dyld: Library not loaded: @rpath/libscore_lib_base.dylib
  Referenced from: /Users/account1/Documents/Development/ossia/score/build/install/bin/score
  Reason: image not found
zsh: abort      /Users/account1/Documents/Development/ossia/score/build/install/bin/score
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

I get an app if I add this to the cmake command. But it is not starting either.
-DSCORE_DEPLOYMENT_BUILD=1
Slowly getting the hang of it I guess. It is incredible how long I was able to avoid cmake in my life :sweat_smile:

the “ossia-score” binary at the root of the build dir, generated before “make install”, doesn’t run either ? you shouldn’t need to install anything to be able to run it, it’s only relevant when making a build to distribute to other computers

1 Like

I get 3 binaries.
The “score” binary complains about the Library and quits on attempt to run it from terminal or via doubleclick.

Edit: Searched the directory again. No ossia-score binary