v2 build issues

Just attempted a build of the v2 tree. Compilation works fine, but the link stage generates a significant set of errors:

(I put them there since I am sure this will be a temporary problem)

Any clues?

I should have mentioned: building on Debian (Buster), x86_64. This was the link command for libRack.o and Rack itself

cc  -Iinclude -Idep/include -fPIC -fno-gnu-unique -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_LIN  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -c -o build/dep/osdialog/osdialog_gtk3.c.o dep/osdialog/osdialog_gtk3.c
g++ -o libRack.so build/dep/nanovg/src/nanovg.c.o build/dep/osdialog/osdialog.c.o build/dep/oui-blendish/blendish.c.o build/dep/pffft/pffft.c.o build/dep/pffft/fftpack.c.o build/src/tinyexpr.c.o build/src/asset.cpp.o build/src/audio.cpp.o build/src/color.cpp.o build/src/common.cpp.o build/src/context.cpp.o build/src/dep.cpp.o build/src/discord.cpp.o build/src/gamepad.cpp.o build/src/history.cpp.o build/src/keyboard.cpp.o build/src/library.cpp.o build/src/logger.cpp.o build/src/midi.cpp.o build/src/network.cpp.o build/src/patch.cpp.o build/src/plugin.cpp.o build/src/Quantity.cpp.o build/src/random.cpp.o build/src/rtaudio.cpp.o build/src/rtmidi.cpp.o build/src/settings.cpp.o build/src/string.cpp.o build/src/system.cpp.o build/src/tag.cpp.o build/src/app/AudioWidget.cpp.o build/src/app/Browser.cpp.o build/src/app/CableWidget.cpp.o build/src/app/CircularShadow.cpp.o build/src/app/Knob.cpp.o build/src/app/LedDisplay.cpp.o build/src/app/LightWidget.cpp.o build/src/app/MenuBar.cpp.o build/src/app/MidiWidget.cpp.o build/src/app/ModuleLightWidget.cpp.o build/src/app/ModuleWidget.cpp.o build/src/app/MultiLightWidget.cpp.o build/src/app/ParamWidget.cpp.o build/src/app/PortWidget.cpp.o build/src/app/RackScrollWidget.cpp.o build/src/app/RackWidget.cpp.o build/src/app/RailWidget.cpp.o build/src/app/Scene.cpp.o build/src/app/SliderKnob.cpp.o build/src/app/SvgButton.cpp.o build/src/app/SvgKnob.cpp.o build/src/app/SvgPanel.cpp.o build/src/app/SvgPort.cpp.o build/src/app/SvgScrew.cpp.o build/src/app/SvgSlider.cpp.o build/src/app/SvgSwitch.cpp.o build/src/app/Switch.cpp.o build/src/app/TipWindow.cpp.o build/src/core/AudioInterface.cpp.o build/src/core/Blank.cpp.o build/src/core/CV_CC.cpp.o build/src/core/CV_Gate.cpp.o build/src/core/CV_MIDI.cpp.o build/src/core/MIDI_CC.cpp.o build/src/core/MIDI_CV.cpp.o build/src/core/MIDI_Gate.cpp.o build/src/core/MIDI_Map.cpp.o build/src/core/Notes.cpp.o build/src/core/plugin.cpp.o build/src/dsp/minblep.cpp.o build/src/engine/Cable.cpp.o build/src/engine/Engine.cpp.o build/src/engine/LightInfo.cpp.o build/src/engine/Module.cpp.o build/src/engine/ParamQuantity.cpp.o build/src/engine/PortInfo.cpp.o build/src/plugin/Model.cpp.o build/src/plugin/Plugin.cpp.o build/src/ui/Button.cpp.o build/src/ui/ChoiceButton.cpp.o build/src/ui/common.cpp.o build/src/ui/Label.cpp.o build/src/ui/List.cpp.o build/src/ui/Menu.cpp.o build/src/ui/MenuEntry.cpp.o build/src/ui/MenuItem.cpp.o build/src/ui/MenuLabel.cpp.o build/src/ui/MenuOverlay.cpp.o build/src/ui/MenuSeparator.cpp.o build/src/ui/OptionButton.cpp.o build/src/ui/PasswordField.cpp.o build/src/ui/ProgressBar.cpp.o build/src/ui/RadioButton.cpp.o build/src/ui/Scrollbar.cpp.o build/src/ui/ScrollWidget.cpp.o build/src/ui/SequentialLayout.cpp.o build/src/ui/Slider.cpp.o build/src/ui/TextField.cpp.o build/src/ui/Tooltip.cpp.o build/src/widget/event.cpp.o build/src/widget/FramebufferWidget.cpp.o build/src/widget/OpenGlWidget.cpp.o build/src/widget/SvgWidget.cpp.o build/src/widget/Widget.cpp.o build/src/widget/ZoomWidget.cpp.o build/src/window/Svg.cpp.o build/src/window/Window.cpp.o build/dep/osdialog/osdialog_gtk3.c.o -shared -Wl,--whole-archive -static-libstdc++ -static-libgcc dep/lib/libGLEW.a dep/lib/libglfw3.a dep/lib/libjansson.a dep/lib/libcurl.a dep/lib/libssl.a dep/lib/libcrypto.a dep/lib/libarchive.a dep/lib/libzstd.a dep/lib/libspeexdsp.a dep/lib/libsamplerate.a dep/lib/librtmidi.a dep/lib/librtaudio.a -Wl,--no-whole-archive -lpthread -lGL -ldl -lX11 -lasound -ljack -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 
g++ -std=c++11 -Wsuggest-override  -Iinclude -Idep/include -fPIC -fno-gnu-unique -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_LIN  -o Rack libRack.so adapters/standalone.cpp -static-libstdc++ -static-libgcc -Wl,-rpath=.

Confirmed on Ubuntu 21.10 beta

This is a known issue and Andrew is aware.

Is there somewhere we should be to track what’s going on with it?

1 Like

My assumption is that @Vortico will announce an updated version in the Rack Development Blog thread.

I’m getting this with b04e41176a1763827f55f07d88f54ce4c5b20734 on debian 11 (bullseye):

/usr/bin/ld: dep/lib/libGLEW.a(glew.c.o): warning: relocation against `__glewFramebufferTexture3D' in read-only section `.text'
/usr/bin/ld: dep/lib/libjansson.a(load.o): relocation R_X86_64_PC32 against symbol `stdin@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make: *** [compile.mk:58: libRack.so] Error 1
1 Like

On Windows 10 here. make dep worked fine, then on make I got: src/rtaudio.cpp:8:10: fatal error: rtaudio/RtAudio.h: No such file or directory 8 | #include <rtaudio/RtAudio.h>

Instead of doing a git pull of v2, I just recloned the repository and it worked. shrug

Did you do a git submodule update --init --recursive after the v2 pull?

Oh most definitely :slight_smile: I ran into a couple things - I don’t think Rack liked that I was trying to compile in a directory called Rack2. So I renamed the old version Rack 1.0 and once everything was in Rack, and I checked out the v2 branch properly, everything worked fine

3 Likes

I also cloned into Rack2; just for kicks I deleted all that and tried again using Rack. Link failures are identical.

The fix, however, is simple. Linux linkers are very order dependent these days. In the Makefile

$(STANDALONE_TARGET): $(STANDALONE_OBJECTS) $(STANDALONE_SOURCES) 

needs to be

$(STANDALONE_TARGET): $(STANDALONE_SOURCES) $(STANDALONE_OBJECTS) 
2 Likes

Hah! I also started with a fresh source dir and ended up at the linker stage failure.

Trivial to fix, thnx!

This has been fixed with the latest v2 version on Github.

1 Like

If only there was an issue-tracker that could be closed after code was pushed …

But yes, latest git has this fix.

I tried building Rack v2 today, everything looks good (latest v2 git, did the git submodule update, make dep) until I do the make command. The output is as follows, I am too unfamiliar with it to understand how to fix it :confused:

$ make
cc  -Iinclude -Idep/include -fPIC -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES -municode  -c -o build/dep/nanovg/src/nanovg.c.o dep/nanovg/src/nanovg.c
In file included from dep/nanovg/src/nanovg.c:26:
dep/nanovg/src/fontstash.h: In function 'fonsAddFont':
dep/nanovg/src/fontstash.h:911:13: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
  911 |  if (readed != dataSize) goto error;
      |             ^~
In file included from dep/nanovg/src/nanovg.c:28:
dep/nanovg/src/stb_image.h: In function 'stbi__convert_format':
dep/nanovg/src/stb_image.h:1359:44: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
      |                                            ^~~
dep/nanovg/src/stb_image.h:1363:10: note: in expansion of macro 'CASE'
 1363 |          CASE(1,2) dest[0]=src[0], dest[1]=255; break;
      |          ^~~~
dep/nanovg/src/stb_image.h:1363:49: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 1363 |          CASE(1,2) dest[0]=src[0], dest[1]=255; break;
      |                                                 ^~~~~
dep/nanovg/src/stb_image.h:1359:44: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
      |                                            ^~~
dep/nanovg/src/stb_image.h:1364:10: note: in expansion of macro 'CASE'
 1364 |          CASE(1,3) dest[0]=dest[1]=dest[2]=src[0]; break;
      |          ^~~~
dep/nanovg/src/stb_image.h:1364:52: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 1364 |          CASE(1,3) dest[0]=dest[1]=dest[2]=src[0]; break;
      |                                                    ^~~~~
dep/nanovg/src/stb_image.h:1359:44: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
      |                                            ^~~
dep/nanovg/src/stb_image.h:1365:10: note: in expansion of macro 'CASE'
 1365 |          CASE(1,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; break;
      |          ^~~~
dep/nanovg/src/stb_image.h:1365:65: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 1365 |          CASE(1,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; break;
      |                                                                 ^~~~~
dep/nanovg/src/stb_image.h:1359:44: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
      |                                            ^~~
dep/nanovg/src/stb_image.h:1366:10: note: in expansion of macro 'CASE'
 1366 |          CASE(2,1) dest[0]=src[0]; break;
      |          ^~~~
dep/nanovg/src/stb_image.h:1366:36: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 1366 |          CASE(2,1) dest[0]=src[0]; break;
      |                                    ^~~~~
dep/nanovg/src/stb_image.h:1359:44: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
      |                                            ^~~
dep/nanovg/src/stb_image.h:1367:10: note: in expansion of macro 'CASE'
 1367 |          CASE(2,3) dest[0]=dest[1]=dest[2]=src[0]; break;
      |          ^~~~
dep/nanovg/src/stb_image.h:1367:52: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 1367 |          CASE(2,3) dest[0]=dest[1]=dest[2]=src[0]; break;
      |                                                    ^~~~~
dep/nanovg/src/stb_image.h:1359:44: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
      |                                            ^~~
dep/nanovg/src/stb_image.h:1368:10: note: in expansion of macro 'CASE'
 1368 |          CASE(2,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; break;
      |          ^~~~
dep/nanovg/src/stb_image.h:1368:68: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 1368 |          CASE(2,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; break;
      |                                                                    ^~~~~
dep/nanovg/src/stb_image.h:1359:44: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
      |                                            ^~~
dep/nanovg/src/stb_image.h:1369:10: note: in expansion of macro 'CASE'
 1369 |          CASE(3,4) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; break;
      |          ^~~~
dep/nanovg/src/stb_image.h:1369:78: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 1369 |          CASE(3,4) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; break;
      |                                                                              ^~~~~
dep/nanovg/src/stb_image.h:1359:44: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
      |                                            ^~~
dep/nanovg/src/stb_image.h:1370:10: note: in expansion of macro 'CASE'
 1370 |          CASE(3,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;
      |          ^~~~
dep/nanovg/src/stb_image.h:1370:67: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 1370 |          CASE(3,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;
      |                                                                   ^~~~~
dep/nanovg/src/stb_image.h:1359:44: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
      |                                            ^~~
dep/nanovg/src/stb_image.h:1371:10: note: in expansion of macro 'CASE'
 1371 |          CASE(3,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; break;
      |          ^~~~
dep/nanovg/src/stb_image.h:1371:82: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 1371 |          CASE(3,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; break;
      |                                                                                  ^~~~~
dep/nanovg/src/stb_image.h:1359:44: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
      |                                            ^~~
dep/nanovg/src/stb_image.h:1372:10: note: in expansion of macro 'CASE'
 1372 |          CASE(4,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;
      |          ^~~~
dep/nanovg/src/stb_image.h:1372:67: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 1372 |          CASE(4,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;
      |                                                                   ^~~~~
dep/nanovg/src/stb_image.h:1359:44: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
      |                                            ^~~
dep/nanovg/src/stb_image.h:1373:10: note: in expansion of macro 'CASE'
 1373 |          CASE(4,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; break;
      |          ^~~~
dep/nanovg/src/stb_image.h:1373:85: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 1373 |          CASE(4,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; break;
      |                                                                                     ^~~~~
dep/nanovg/src/stb_image.h:1359:44: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
      |                                            ^~~
dep/nanovg/src/stb_image.h:1374:10: note: in expansion of macro 'CASE'
 1374 |          CASE(4,3) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; break;
      |          ^~~~
dep/nanovg/src/stb_image.h:1374:66: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 1374 |          CASE(4,3) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; break;
      |                                                                  ^~~~~
dep/nanovg/src/stb_image.h: In function 'stbi__build_fast_ac':
dep/nanovg/src/stb_image.h:1578:33: warning: left shift of negative value [-Wshift-negative-value]
 1578 |             if (k < m) k += (-1 << magbits) + 1;
      |                                 ^~
dep/nanovg/src/stb_image.h: In function 'stbi__create_png_image_raw':
dep/nanovg/src/stb_image.h:4049:17: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 4049 |                 for (k=0; k < nk; ++k)
      |                 ^~~
dep/nanovg/src/stb_image.h:4053:13: note: in expansion of macro 'CASE'
 4053 |             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); break;
      |             ^~~~
dep/nanovg/src/stb_image.h:4053:95: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 4053 |             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); break;
      |                                                                                               ^~~~~
dep/nanovg/src/stb_image.h:4049:17: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 4049 |                 for (k=0; k < nk; ++k)
      |                 ^~~
dep/nanovg/src/stb_image.h:4054:13: note: in expansion of macro 'CASE'
 4054 |             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;
      |             ^~~~
dep/nanovg/src/stb_image.h:4054:84: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 4054 |             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;
      |                                                                                    ^~~~~
dep/nanovg/src/stb_image.h:4049:17: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 4049 |                 for (k=0; k < nk; ++k)
      |                 ^~~
dep/nanovg/src/stb_image.h:4055:13: note: in expansion of macro 'CASE'
 4055 |             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); break;
      |             ^~~~
dep/nanovg/src/stb_image.h:4055:113: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 4055 |             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); break;
      |                                                                                                                 ^~~~~
dep/nanovg/src/stb_image.h:4049:17: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 4049 |                 for (k=0; k < nk; ++k)
      |                 ^~~
dep/nanovg/src/stb_image.h:4056:13: note: in expansion of macro 'CASE'
 4056 |             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); break;
      |             ^~~~
dep/nanovg/src/stb_image.h:4056:139: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 4056 |             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); break;
      |                                                                                                                                           ^~~~~
dep/nanovg/src/stb_image.h:4049:17: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 4049 |                 for (k=0; k < nk; ++k)
      |                 ^~~
dep/nanovg/src/stb_image.h:4057:13: note: in expansion of macro 'CASE'
 4057 |             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); break;
      |             ^~~~
dep/nanovg/src/stb_image.h:4057:102: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 4057 |             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); break;
      |                                                                                                      ^~~~~
dep/nanovg/src/stb_image.h:4049:17: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 4049 |                 for (k=0; k < nk; ++k)
      |                 ^~~
dep/nanovg/src/stb_image.h:4058:13: note: in expansion of macro 'CASE'
 4058 |             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); break;
      |             ^~~~
dep/nanovg/src/stb_image.h:4058:112: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 4058 |             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); break;
      |                                                                                                                ^~~~~
dep/nanovg/src/stb_image.h:4067:20: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 4067 |                    for (k=0; k < img_n; ++k)
      |                    ^~~
dep/nanovg/src/stb_image.h:4069:13: note: in expansion of macro 'CASE'
 4069 |             CASE(STBI__F_none)         cur[k] = raw[k]; break;
      |             ^~~~
dep/nanovg/src/stb_image.h:4069:57: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 4069 |             CASE(STBI__F_none)         cur[k] = raw[k]; break;
      |                                                         ^~~~~
dep/nanovg/src/stb_image.h:4067:20: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 4067 |                    for (k=0; k < img_n; ++k)
      |                    ^~~
dep/nanovg/src/stb_image.h:4070:13: note: in expansion of macro 'CASE'
 4070 |             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-out_n]); break;
      |             ^~~~
dep/nanovg/src/stb_image.h:4070:88: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 4070 |             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-out_n]); break;
      |                                                                                        ^~~~~
dep/nanovg/src/stb_image.h:4067:20: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 4067 |                    for (k=0; k < img_n; ++k)
      |                    ^~~
dep/nanovg/src/stb_image.h:4071:13: note: in expansion of macro 'CASE'
 4071 |             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;
      |             ^~~~
dep/nanovg/src/stb_image.h:4071:84: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 4071 |             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;
      |                                                                                    ^~~~~
dep/nanovg/src/stb_image.h:4067:20: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 4067 |                    for (k=0; k < img_n; ++k)
      |                    ^~~
dep/nanovg/src/stb_image.h:4072:13: note: in expansion of macro 'CASE'
 4072 |             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-out_n])>>1)); break;
      |             ^~~~
dep/nanovg/src/stb_image.h:4072:106: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 4072 |             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-out_n])>>1)); break;
      |                                                                                                          ^~~~~
dep/nanovg/src/stb_image.h:4067:20: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 4067 |                    for (k=0; k < img_n; ++k)
      |                    ^~~
dep/nanovg/src/stb_image.h:4073:13: note: in expansion of macro 'CASE'
 4073 |             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); break;
      |             ^~~~
dep/nanovg/src/stb_image.h:4073:125: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 4073 |             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); break;
      |                                                                                                                             ^~~~~
dep/nanovg/src/stb_image.h:4067:20: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 4067 |                    for (k=0; k < img_n; ++k)
      |                    ^~~
dep/nanovg/src/stb_image.h:4074:13: note: in expansion of macro 'CASE'
 4074 |             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-out_n] >> 1)); break;
      |             ^~~~
dep/nanovg/src/stb_image.h:4074:95: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 4074 |             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-out_n] >> 1)); break;
      |                                                                                               ^~~~~
dep/nanovg/src/stb_image.h:4067:20: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 4067 |                    for (k=0; k < img_n; ++k)
      |                    ^~~
dep/nanovg/src/stb_image.h:4075:13: note: in expansion of macro 'CASE'
 4075 |             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],0,0)); break;
      |             ^~~~
dep/nanovg/src/stb_image.h:4075:105: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 4075 |             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],0,0)); break;
      |                                                                                                         ^~~~~
dep/nanovg/src/stb_image.h: In function 'stbi__tga_get_comp':
dep/nanovg/src/stb_image.h:4856:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4856 |       case 16: if(is_grey) return STBI_grey_alpha;
      |                  ^
dep/nanovg/src/stb_image.h:4858:7: note: here
 4858 |       case 15: if(is_rgb16) *is_rgb16 = 1;
      |       ^~~~
cc  -Iinclude -Idep/include -fPIC -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES -municode  -c -o build/dep/osdialog/osdialog.c.o dep/osdialog/osdialog.c
make: *** No rule to make target 'build/dep/oui-blendish/blendish.c.o', needed by 'libRack.dll'.  Stop.

(On windows 10 using msys2 mingw 64bit)