I’ve followed the instructions in the repo for installing the Go bindings:
I just cloned master fresh and did not change to any specific branch or tag.
./fdb-go-install.sh install --fdbver 6.0.18
That goes fine (or so it appears) and gives me the CGO flags for compiling.
I add the bindings to my imports, and then I tried to build and I get this compile error:
# github.com/apple/foundationdb/bindings/go/src/fdb
In file included from ../../go/pkg/mod/github.com/apple/foundationdb/bindings/go@v0.0.0-20190222233508-fb9b5e05fda2/src/fdb/cluster.go:27:
/Users/ryanworl/go/src/github.com/apple/foundationdb/bindings/c/foundationdb/fdb_c.h:35:2: error: Requested API version requires a newer version of this header
#error Requested API version requires a newer version of this header
^
1 error generated.
/*
#define FDB_API_VERSION 610
#include <foundationdb/fdb_c.h>
*/
There’s the snippet from cluster.go
in the bindings.
#if !defined(FDB_API_VERSION)
#error You must #define FDB_API_VERSION prior to including fdb_c.h (current version is 600)
#elif FDB_API_VERSION < 13
#error API version no longer supported (upgrade to 13)
#elif FDB_API_VERSION > 600
#error Requested API version requires a newer version of this header
#endif
There’s the relevant contents of fdb_c.h
You can see the mis-matched versions in the .h
file vs what the generated go is expecting.
Now I know that if I bang my head against this enough I can figure it out since I’ve had to change the Node bindings a few times, but I feel like I’m missing something here.
Do the bindings just not work with Go modules right now?