Hello Pankaj, ZooKeeper C client provides two different APIs, a sync (multithreaded) and an async (single threaded). If you want to use the sync API (multi threaded) then make sure to link your application code against the zookeeper_mt library.
When compiling the ZooKeeper C client code, you can set if you want to also build the zookeeper_mt library. Depending on your preferred build tool: - cmake: use the -DTHREADED cmake option to enable sync API build - make: use the "./configure --without-syncapi" to disable the sync API build normally I just use "mvn clean install -DskipTests -Pfull-build" command to build both the java and C code, which will build both the sync and async zookeeper libraries. This readme file should help, although I am not 100% sure it is totally up-to-date :) https://github.com/apache/zookeeper/tree/master/zookeeper-client/zookeeper-client-c Kind regards, Mate On Fri, Jun 5, 2020 at 6:04 PM Pankaj Kumar <pankajku...@juniper.net.invalid> wrote: > Hi, > I was making libzookeeper and libzookeeper-devel for latest zookeeper > release 3.6.1. > In our software we are making some api calls, however some api calls are > giving error:- > > > error: ‘zoo_create’ was not declared in this scope > > path_buffer_len); > > ^ > > error: ‘zoo_delete’ was not declared in this scope > > return zoo_delete(zh, path, version); > > > > error: ‘zoo_get’ was not declared in this scope > > return zoo_get(zh, path, watch, buffer, buffer_len, stat); > > ^ > > error: ‘zoo_exists’ was not declared in this scope > > > > > > Then after looking into latest library code and found that these calls are > defined under #define THREADED > And for this thing to work I have to compile zookeeper C client with > -DTHREADED option. > > What I want to ask that How can I enable this compile -DTHREADED option. I > have tried this with “make” command and “./configure” command, but couldn’t > proceed further. > > Can someone please help me on how to use DTHREADED option? > > Thanks, > Pankaj > > > Juniper Business Use Only >