What is the recommended developer setup for compiling and testing FoundationDB locally? We’ve tried a few things, but are struggling with architecture and library compatibility issues.
The build-support container seems to be the recommended tool: GitHub - FoundationDB/fdb-build-support: FoundationDB build and development resources
However, when running it locally on an M2 Mac, we run into issues that I think are amd64 virtualization related:
=================================================================
Managed Stacktrace:
=================================================================
at <unknown> <0xffffffff>
at System.IO.StreamWriter:Flush <0x000f1>
at System.IO.StreamWriter:set_AutoFlush <0x00053>
at System.Console:SetupStreams <0x002a0>
at System.Console:.cctor <0x001b7>
at System.Object:runtime_invoke_void <0x0009d>
at <unknown> <0xffffffff>
at Mono.CSharp.Driver:Main <0x000a3>
at <Module>:runtime_invoke_int_object <0x000a8>
=================================================================
[2/1814] Compile Vexillographer
FAILED: vexillographer.exe /build/vexillographer.exe
cd /build && /usr/bin/mcs -r:System,System.Core,System.Data,System.Xml,System.Xml.Linq /fdb/fdbclient/vexillographer/c.cs /fdb/fdbclient/vexillographer/cpp.cs /fdb/fdbclient/vexillographer/java.cs /fdb/fdbclient/vexillographer/python.cs /fdb/fdbclient/vexillographer/ruby.cs /fdb/fdbclient/vexillographer/vexillographer.cs -target:exe -out:/build/vexillographer.exe
* Assertion: should not be reached at tramp-amd64.c:607
=================================================================
Native Crash Reporting
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
We’ve also tried compiling directly on our mac laptops, but in that case we run into boost compatibility issues since we cannot install the expected version of boost (1.60).
What setup are you using to build FoundationDB? Are there any available docs we should follow?