php-kafka/php-simple-kafka-client

Possible outdated librdkafka.dll for PECL build

nick-zh opened this issue ยท 2 comments

It was reported that after installation , the following error shows up:

The procedure entry point rd_kafka_abort_transaction could not be located in the dynamic library librdkafka.dll

@cmb69 i think we had this discussion already for php-rdkafka. If i remember correctly, the problem is that it defaults to librdkafka:1.2.1 for php-rdkafka:4.x but php-rdkafka:5.x and also this extension rely on transactions which need a higher version.
Is there a way to fix the PECL build? I would love to have it packaged with librdkafka:1.7.0 if that is somehow possible (but anything 1.4.4 or higher would work).
Thanks in advance for helping out and let me know if i can assist with this in any way ๐Ÿ™ ๐Ÿ™‡

cmb69 commented

It seems to me that simple_kafka_client 0.1.4 for Windows has been built against librdkafka 1.5.3 and also ships this version. A quick test (php -i | findstr /i rdkafka) shows:

librdkafka version (runtime) => 1.5.3
librdkafka version (build) => 1.5.3.255

Is it possible that the user still has an older librdkafka.dll in use (either earlier in the PATH, or forgot to overwrite with the librdkafka.dll from the package download)? Note that librdkaka.dll needs to be in the PATH; putting it in the ext/ directory does not make it available.

@cmb69 thank you very much for the swift response (as always). Then i think we should be fine. I will relay this information.
Many thanks ๐Ÿ™

EDIT: I will also add this to the docs ๐Ÿ˜„