FoundationDB

Install Help on MacOS with Go Languange Binding


(Steven Prichard) #1

Hey All,

Not really sure where to put this…Anyways, I am trying to get up and running with FoundationDB locally. I have followed the download instructions for the client and server code for MacOS. That seems to be working fine. I hit a snap when I attempt to install the Go language binding. I attempt to follow the instructions here (https://github.com/apple/foundationdb/tree/master/bindings/go). When I attempt to run the make fdb_go I get the following error:

Building bin/actorcompiler.exe
make: /usr/bin/dmcs: No such file or directory
make: *** [bin/actorcompiler.exe] Error 1

Attempting to switch gears go into the Go binding dir, and attempt to run ./fdb-go-install.sh install. At which point I get the following error:

Missing binaries: mono

If anyone could help me out, that would be great! I am running MacOS 10.13.4 (17E199)


(Alec Grieser) #2

This seems like the right place to put this!

Our go bindings, believe it or not, require mono to build (but not to run). The reason for this is that we have a tool that generates header files used by go based on some other code, and that tool requires the mono runtime to run.

In theory, we could probably see if you have installed the client packages, which also contain the generated header files, and then you wouldn’t need mono. Hm.


(Steven Prichard) #3

Perfect, So if have mono installed on my machine I should be fine?

I imagine this change would take time to get to me, so for getting going today. I should just install Mono locally?


(Alec Grieser) #4

Yeah, installing mono would be the right thing.


(Dennis Schafroth) #5

I had success with mono from brew.


(Steven Prichard) #6

Hey guys, wanted to give an update. Installing mono via brew worked! I seem to have the go language binding installed properly. However, when following the Hello Word example I get the following error:

cgo-gcc-export-header-prolog:43:1: warning: '/*' within block comment [-Wcomment]
cgo-gcc-export-header-prolog:44:1: warning: '/*' within block comment [-Wcomment]
../../apple/foundationdb/bindings/go/src/fdb/range.go:54: undefined: StreamingMode

I’m not sure if this means something went wrong in the install process, or if there is a bug in the Go package. Anyone got any ideas?


(Alec Grieser) #7

Interesting. The StreamingMode typedef is defined in generated.go, which is output from our build but also checked into our repository for a variety of reasons.

Do you have that file within ../../apple/foundationdb/bindings/go/src/fdb?