ananthakumaran / fdb

FoundationDB client for Elixir
MIT License
51 stars 5 forks source link

Do later versions of FoundationDB (6.3.21) work? #18

Closed cjbottaro closed 2 years ago

cjbottaro commented 2 years ago

Hello,

It seems like client bindings are very tightly coupled to the C client library. The current version of FoundationDB which is linked to on the client and server downloads page is 6.3.21. Will that work with this library?

If not, what is involved with making a release that is compatible?

Thanks!

ananthakumaran commented 2 years ago

From what I remember, the major and minor version has to be the same. The patch version can be different though. To make a new release, the work usually involves updating the version number in a bunch of places (example https://github.com/ananthakumaran/fdb/pull/13/files) and if there are any API changes, then making corresponding changes to the nif layer. As you have noted, the download links are not working. I will try to cut a release over this weekend, assuming the downloads are back by then.

cjbottaro commented 2 years ago

I found a different download link: https://www.foundationdb.org/download/

How do you know if there are any API changes? It that something the compiler will tell you?

And thank you very much, I appreciate it! :)

ananthakumaran commented 2 years ago

You can try out https://github.com/ananthakumaran/fdb/pull/19. This should support 6.3.x.

How do you know if there are any API changes? It that something the compiler will tell you?

yes, and also there is a bindings test suite that all language bindings use, which will break if something is not implemented / incorrectly implemented. I typically read the release note which will have enough info.

I found a different download link: https://www.foundationdb.org/download/

windows builds are still broken. I am also in the process of moving the CI to github, which might take a bit more time.

cjbottaro commented 2 years ago
cc -g -O3 -ansi -pedantic -Wall -Wextra -Wno-unused-parameter -I"/opt/homebrew/Cellar/erlang/24.1.7/lib/erlang/erts-12.1.5/include" -Ic_src -std=gnu99 -fPIC -shared -L/usr/local/lib/ -L/usr/lib/ -dynamiclib -undefined dynamic_lookup -lfdb_c -o priv/fdb_nif.so c_src/fdb_nif.c
ld: warning: ignoring file /usr/local/lib//libfdb_c.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64

Heh, I think I may be out of luck until they release ARM builds of the client library.

ananthakumaran commented 2 years ago

The latest release should support 6.3.x