confluentinc / confluent-kafka-dotnet

Confluent's Apache Kafka .NET client
https://github.com/confluentinc/confluent-kafka-dotnet/wiki
Apache License 2.0
59 stars 861 forks source link

Version 2.5 miss libsasl2.so.3 in ubuntu 22.04 cause error! #2264

Open bnuzhouwei opened 2 months ago

bnuzhouwei commented 2 months ago

librdkafka.so: linux-vdso.so.1 (0x00007ffd72c94000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8ab1f63000) libsasl2.so.3 => not found libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8ab1f5e000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8ab1f59000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f8ab1f54000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8ab1d29000) /lib64/ld-linux-x86-64.so.2 (0x00007f8ab2802000)

emasab commented 2 months ago

Prebuilt binaries in librdkafka.redist are linked with RHEL compatible distributions. We have upgraded to RHEL 8 and compatible version and they have this bumped soname that is different from Debian/Ubuntu one.

A solution that works is to remove usage of librdkafka.redist, this way, and install librdkafka Debian packages from Confluent Debian clients repository.

<PackageReference Include="Confluent.Kafka" Version="2.5.0" />
<PackageReference Include="librdkafka.redist" Version="2.5.0" ExcludeAssets="All" />

That is necessary only if you need to use GSSAPI/Kerberos. Given this difference we can think about including in librdkafka.redist a librdkafka shared library built in a Debian based system, that is currently not available. But at the moment preferred way is through librdkafka Debian packages if you need GSSAPI authentication, or to switch to a RHEL compatible distro.