Rack 1.0 issues

Since today I cannot build Rack 1.0 anymore. I get this error, someone has a idea?

cc -DVERSION=1.dev -Iinclude -Idep/include -Idep/lib/libzip/include -fopenmp -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_MAC -mmacosx-version-min=10.7 -c -o build/dep/nanovg/src/nanovg.c.o dep/nanovg/src/nanovg.c

clang: error: unsupported option ‘-fopenmp’

make: *** [build/dep/nanovg/src/nanovg.c.o] Error 1

I have the same problem, but I don’t have enough knowledge and search on the Internet did not give anything sensible for me.

OpenMP should be supported in clang 3.7+. What’s your clang version?

It’s the one which comes with XCode:

Apple LLVM version 9.0.0 (clang-900.0.39.2)

Target: x86_64-apple-darwin16.7.0

Thread model: posix

It’s not trivial to upgrade the clang version on a OSX system.

I’m having the exact same problem, followed a bunch of instructions on stackoverflow to install llvm via brew, but to no avail.

Here are some urls:

Maybe someone else has more luck? If you can’t get it to work with clang, it should be possible to install gcc and compile it that way. I didn’t try this out, description in the stackoverflow link above

For now I’ve checked out the last commit before OpenMP was introduced.

Ouput of clang --version after installing llvm with homebrew:

BlockquoteApple LLVM version 10.0.0 (clang-1000.11.45.5) Target: x86_64-apple-darwin18.0.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Looks like Xcode’s clang is compiled without support for OpenMP despite it being added 4 years ago. I’ll just drop support for building Rack itself with clang for now and add support for brew’s gcc which can be obtained with brew install gcc. On most versions of Mac, this is available as a “brew bottle” (compiled binaries) so you don’t have to wait 45+ minutes to compile GCC.

I’ve pushed a commit which disables OpenMP (and thus the multithread feature) on Mac. I will probably keep it this way for a while and build release versions of Rack with my own self-compiled LLVM. Using OpenMP is actually kind of silly, so perhaps I’ll write a drop-in GOMP_parallel() implementation after Rack 1.0 is released.

Remember that several dependencies have been updated, so now is a good time to git submodule update; cd dep; make clean; make -j4 (replacing 4 with your number of logical cores).

builds now thanks.

OpenMP and thus multithreading in Rack now works on Mac, thanks to Dmitry Wolf’s suggestion. Run make dep after pulling the new commit.

3 Likes

Rack v1 compiles fine on Window now.

FYI, this is how comes up on a 4K screen after running make run:

I feel like we had these issues before on a 4K screen for 0.6.

I’m on MAC OSX 10.13.4 (17E202)
Apple LLVM version 9.1.0 (clang-902.0.39.2)
Target: x86_64-apple-darwin17.5.0
Thread model: posix
Xcode Version 9.4.1 (9F2000)

for the first time today I’ve created a new Rack100 directory and cloned the project
jumped in the v1 branch
done the subload
done the make dep (no errors)
but doing the final make I have a bunch undefined in arch86_64
and all related to regarding JACK?!

like this one:

    Undefined symbols for architecture x86_64:
      "_jack_activate", referenced from:
          RtApiJack::startStream() in librtaudio.a(RtAudio.cpp.o)

probably related to this one
when was recompiling the rtaudio

-- Checking for module 'jack'
--   Found jack, version 0.121.3

You probably post your OS and other information with reports like these.

sorry forgot… :slight_smile: correcting original post

Caused by a typo in the dep Makefile. Pull latest commit, remove dep/lib/librtaudio.a and rerun make dep.

1 Like

solved…

When I set my thread count to 4 I get this kind of CPU usage, which does not look good to me :wink: I got the latest Macbook Pro 13" with i7 2.9 Quadcore CPU. Also the app menu does not draw correctly on Retina screens, works fine on low res monitor.

You don’t need multithreading for a simple patch like that. It will just be a waste of energy.
What is your CPU model? Do you have 4 physical cores or 2?

Of course, its the template patch from VCV. A empty patch show the same result. Intel i7 2.7 4 physical cores, thats my macbook but I have also a older MacMini with i7 2.6 4 physical cores and it shows the same results. I know multithreading use more CPU in general but it should not max out the CPU when starting the App :wink:

How many threaded cores is there on the CPU?