Is there any particular reason why you’re building this firmware? Would be interesting to hear if you’re planning to do something cool with it. Note that this legacy firmware that pretty much doesn’t get updated - so you won’t gain much by building it yourself unless you plan to add something to it.
The new firmware is in OpenWare repo. It supports multiple devices, not just Owl. But some features from Owl have not being added (specifically, patch switching from button press). But it also adds more features (you can overwrite any patch, not just last 4) and development is at least slowly moving forward.
Regarding your issue, I’ve noticed that I’ve been disabling this macro definition when I was trying to build it a long time ago:
diff --git a/Source/Owl.h b/Source/Owl.h
index 95cd3a9..81c4167 100644
--- a/Source/Owl.h
+++ b/Source/Owl.h
@@ -17,9 +17,9 @@
#ifndef max
#define max(a,b) ((a)>(b)?(a):(b))
#endif /* max */
-#ifndef abs
-#define abs(x) ((x)>0?(x):-(x))
-#endif /* abs */
+//#ifndef abs
+//#define abs(x) ((x)>0?(x):-(x))
+//#endif /* abs */
void audioCallback(int16_t *src, int16_t *dst);
void setButton(uint8_t bid, uint16_t state);
So looks like I had to do it because it created conflict with stdlib function. I’ve just confirmed that undoing it gives me the same error that you’ve had. However, I get different kind of error even if I disable it (related to FloatParameter class and other errors).
I’ll see if I can figure out why it’s broken, otherwise we’ll have to wait for @mars to have a look at this