# Multi version with fdbcli 7.3

**URL:** <https://forums.foundationdb.org/t/multi-version-with-fdbcli-7-3/4432>\
**Category:** Using FoundationDB\
**Created:** [April 15, 2024, 2:59pm UTC](https://forums.foundationdb.org/t/multi-version-with-fdbcli-7-3/4432 "2024-04-15T14:59:56Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![COran](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/coran/32/1006_2.png) [@COran](https://forums.foundationdb.org/u/COran)\
**Post date:** [April 15, 2024, 2:59pm UTC](https://forums.foundationdb.org/t/multi-version-with-fdbcli-7-3/4432/1 "2024-04-15T14:59:56Z")

</div>

Hi,

We are trying to setup multi versions for the fdbcli, while we want to support 3 different versions.  
It seems that the fdbcli in 7.3 is behaving a bit differently that other fdbcli version.

For context :

- the var env `FDB_NETWORK_OPTION_EXTERNAL_CLIENT_DIRECTORY` is set to `/usr/lib/fdb/multiversion`
- the `/usr/lib/fdb/multiversion` folder contains following libraries : libfdb\_c\_6.2.so, libfdb\_c\_7.2.so qnd libfdb\_c\_7.3.so
- the cluster file is pointing on a cluster running in 7.3 version

When I’m running `LD_DEBUG=libs /usr/bin/fdb/6.2/fdbcli`, the fdbcli output is the following :

```auto
Using cluster file `/etc/foundationdb/fdb.cluster'.

WARNING: One or more of the processes in the cluster is incompatible with this version of fdbcli.

The database is unavailable; type `status' for more information.

```

When I’m running `LD_DEBUG=libs /usr/bin/fdb/7.2/fdbcli`, the fdbcli output is the following :

```auto
       calling init: /usr/lib/fdb/multiversion/libfdb_c_6.2.so
        70:
        70:	/usr/lib/fdb/multiversion/libfdb_c_6.2.so: error: symbol lookup error: undefined symbol: fdb_use_future_protocol_version (fatal)
        70:
        70:	calling init: /usr/lib/fdb/multiversion/libfdb_c_7.2.so
        70:
        70:	find library=liblzma.so.5 [0]; searching
        70: search cache=/etc/ld.so.cache
        70: trying file=/lib/x86_64-linux-gnu/liblzma.so.5
        70:
        70:	find library=libz.so.1 [0]; searching
        70: search cache=/etc/ld.so.cache
        70: trying file=/lib/x86_64-linux-gnu/libz.so.1
        70:
        70:
        70:	calling init: /lib/x86_64-linux-gnu/libz.so.1
        70:
        70:
        70:	calling init: /lib/x86_64-linux-gnu/liblzma.so.5
        70:
        70:
        70:	calling init: /usr/lib/fdb/multiversion/libfdb_c_7.3.so
.....
.....
Using cluster file `/etc/foundationdb/fdb.cluster'.

WARNING: One or more of the processes in the cluster is incompatible with this version of fdbcli.

The database is unavailable; type `status' for more information.

```

But when I run the command `LD_DEBUG=libs /usr/bin/fdb/7.3/fdbcli`, the fdbcli failed and it’s not able to start :

```auto
calling init: /usr/lib/fdb/multiversion/libfdb_c_6.2.so
        73:
        73:	/usr/lib/fdb/multiversion/libfdb_c_6.2.so: error: symbol lookup error: undefined symbol: fdb_use_future_protocol_version (fatal)
ERROR: Failed to load a required FDB API function. (2204)

```

I do see the fdbcli loading the `libfdb_c_6.2.so`, but it’s not trying to load other libraries. While the fdbcli 7.2 is loading all of them.

Do you know if something has changed in the fdbcli 7.3 ?

---

<div class="post-metadata">

**Author:** ![newhook](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/newhook/32/1684_2.png) [@newhook](https://forums.foundationdb.org/u/newhook)\
**Post date:** [April 15, 2024, 3:17pm UTC](https://forums.foundationdb.org/t/multi-version-with-fdbcli-7-3/4432/2 "2024-04-15T15:17:53Z")

</div>

I’m not sure what the default value is `IGNORE_EXTERNAL_CLIENT_FAILURES` in the fdbcli. Did you try setting `FDB_NETWORK_OPTION_IGNORE_EXTERNAL_CLIENT_FAILURES`?

---

<div class="post-metadata">

**Author:** ![johscheuer](https://avatars.discourse-cdn.com/v4/letter/j/f475e1/32.png) [@johscheuer](https://forums.foundationdb.org/u/johscheuer)\
**Post date:** [April 15, 2024, 4:47pm UTC](https://forums.foundationdb.org/t/multi-version-with-fdbcli-7-3/4432/3 "2024-04-15T16:47:17Z")

</div>

@newhook provided the right pointer. For 7.3 you have to set `IGNORE_EXTERNAL_CLIENT_FAILURES` as 7.3 added some new checks for loading external client libraries and those checks are not present in the older versions, see:

> <https://github.com/FoundationDB/fdb-kubernetes-operator/blob/main/e2e/fixtures/fdb_operator_client.go#L285-L288>

---

<div class="post-metadata">

**Author:** ![COran](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/coran/32/1006_2.png) [@COran](https://forums.foundationdb.org/u/COran)\
**Post date:** [April 15, 2024, 5:09pm UTC](https://forums.foundationdb.org/t/multi-version-with-fdbcli-7-3/4432/4 "2024-04-15T17:09:28Z")

</div>

Thank you @newhook and @johscheuer it worked. 👌
