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 ../../email@example.com/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
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?