ARM client library?

Is there such a thing? If not, are there instructions on building the client library from source?

Thanks for the help.

The instructions on building from source are in the README:

To build outside the official docker image you’ll need at least these dependencies:

  1. Install cmake Version 3.13 or higher CMake
  2. Install Mono
  3. Install Ninja (optional, but recommended)

If compiling for local development, please set -DUSE_WERROR=ON in cmake. Our CI compiles with -Werror on, so this way you’ll find out about compiler warnings that break the build earlier.

Once you have your dependencies, you can run cmake and then build:

  1. Check out this repository.
  2. Create a build directory (you can have the build directory anywhere you like). There is currently a directory in the source tree called build, but you should not use it. See #3098
  3. cd <PATH_TO_BUILD_DIRECTORY>
  4. cmake -G Ninja <PATH_TO_FOUNDATIONDB_DIRECTORY>
  5. ninja # If this crashes it probably ran out of memory. Try ninja -j1

The official CentOS7 build docker image supports Linux aarch64.

You can build and run FDB on Linux aarch64 today, but keep in mind that since it’s not officially being tested, it’s still an unofficial port.

2 Likes

Is there any way to build libfdb_c.dylib in a Docker container? End goal is to get a client library that works on M1 Macs. Thanks!

If you build it in a docker container it will not work on macOS. If you want to build a macOS binary (no matter which CPU platform) you need to build outside of docker.

Check Building foundationdb source code in Macos Big Sur M1 chip, I summarized how to build fdb 6.3.22 on an M1 Mac. But just for development and testing.

1 Like