I compiled and tested manually the C-client on windows recently (in
relation to adding SSL support). As far as I can tell, the unit tests are
not working on windows at the moment, however it shouldn't be a big deal to
make them work. But some scripts definitely will need to be re-implemented
for windows, like those which generates the test SSL certificates and in
general starts the ZooKeeper servers for the tests.

Also we had a recent discussion with Damien (@ztzg) and it turned out that
the SASL is also not supported by the C-client on windows. The Cyrus SASL
official page (https://www.cyrusimap.org/sasl/sasl/windows.html) says:
"Note, that Cyrus SASL on Windows is still laregely a “work in progress”. ".

In general I don't really know of anyone who would use the native C-client
on windows or on mac in production.
To make it work on mac for development makes more sense I think. However,
for my needs I am quite happy with the docker-based development as well.

Cheers,
Mate

On Mon, Nov 25, 2019 at 7:42 PM deepak <deepak...@gmail.com> wrote:

> Hi Enrico,
>
> I am able to build the native client on Windows, but it seems like there
> are not tests configured in the VC project?
> Could you please point me to the jenkins job you're referring to? I'd be
> curious to see how it's setup.
>
> In any case, the official support matrix
> <
> http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_supportedPlatforms
> >
> claims the native client is not supported on Windows.  My intention with
> this thread was to find out if there are users in the community who are
> running the native client on Windows in production.  Knowing there are some
> such users would give us confidence if we were to move forward with it.
> Part of the challenge is we need to account for commitment from our team to
> investigate and fix/work around any issues that we may encounter with the
> native client on Windows.
>
> --
> Deepak
>
> On Sat, Nov 23, 2019 at 1:13 AM Enrico Olivelli <eolive...@gmail.com>
> wrote:
>
> > Il sab 23 nov 2019, 04:42 deepak <deepak...@gmail.com> ha scritto:
> >
> > > Hi Andor,
> > >
> > > MacOS support would be great from a developer convenience perspective -
> > > this would enable us to implement our application (that interacts with
> > > ZooKeeper) in a test-driven way.  From a software development
> > perspective,
> > > it would be great if we are able to run all the ZooKeeper native client
> > > tests, and also all of our application level unit / integration tests
> > > locally on MacOS before pushing out the changes to source control
> > > repository.
> > >
> > > We could use Linux to develop our application due to this limitation,
> > which
> > > would be a minor inconvenience.
> > >
> > > Lack of Windows support is a little more disappointing.
> >
> >
> > We have a Job on jenkins that builds zk client on windows.
> > I thought the client was working on windows.
> >
> > For MacOs, can we try to enable it?
> >
> > Enrico
> >
> >
> >
> > This would mean we
> > > can't support features that rely on ZooKeeper for the Windows version
> of
> > > our application.  I do not see an easy way around this.  etcd seems to
> > > support a limited set of APIs through HTTP
> > > <https://etcd.io/docs/v3.4.0/rfc/>, and there is also the full-fledged
> > > support for gRPC
> > > <
> >
> https://github.com/etcd-io/etcd/blob/master/Documentation/learning/api.md
> > > >
> > > - both of which allow for possibilities to integrate a native C/C++
> > > application with etcd.  Whereas with ZooKeeper, the only viable option
> I
> > > see (to support a native C/C++ application on Windows) is to use JNI
> > (with
> > > which I have limited experience, but seems like this may work).
> > >
> > > --
> > > Deepak
> > >
> > > On Fri, Nov 22, 2019 at 4:12 AM Andor Molnar <an...@apache.org> wrote:
> > >
> > > > Hi deepak,
> > > >
> > > > I’m trying to refresh my memory about this. I think I’ve given up
> > > building
> > > > on MacOS, because when we call the linker at the end of the
> > compilation,
> > > we
> > > > call it with a parameter which is not supported in OSX’s standard
> > > > toolchain. (Xcode)
> > > >
> > > > Which means I’ve managed to get around with the issue you mentioned,
> > but
> > > I
> > > > can’t recall the details.
> > > >
> > > > Btw I usually use CentOS docker/VM to compile and validate the C
> > client.
> > > > Why do you need native Mac support?
> > > >
> > > > Andor
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > > On 2019. Nov 6., at 5:11, deepak <deepak...@gmail.com> wrote:
> > > > >
> > > > > Hi All,
> > > > >
> > > > > I see that from the support matrix
> > > > > <
> > > >
> > >
> >
> http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_supportedPlatforms
> > > > >that
> > > > > the native client is not supported on Windows and MacOS.  I am
> > curious
> > > to
> > > > > know if anyone has had success in getting it to work on these
> > > platforms?
> > > > > On MacOS, naturally, we are mostly interested in development, and
> on
> > > > > Windows, we would like to use it in production.
> > > > >
> > > > > At this point, I am hitting compile problems on MacOS (see below
> for
> > > > > details).
> > > > >
> > > > > On Windows, I was able to run "cmake --build ." successfully, but
> > > running
> > > > > "ctest -V" gives me "No tests were found!!!".  It seems there are
> no
> > > unit
> > > > > tests configured to run on Windows?  Or am I missing something?
> > > > >
> > > > > PS:
> > > > > Compile problems on MacOS:
> > > > > zookeeper-client-c$ make check
> > > > > /Library/Developer/CommandLineTools/usr/bin/make  zktest-st
> zktest-mt
> > > > > g++ -DHAVE_CONFIG_H -I.  -I./include -I./tests -I./generated
> > > > > -DUSE_STATIC_LIB -I/opt/local/include
> > > > > -DZKSERVER_CMD="\"./tests/zkServer.sh\"" -DZOO_IPV6_ENABLED  -g -O2
> > -MT
> > > > > zktest_st-LibCSymTable.o -MD -MP -MF
> .deps/zktest_st-LibCSymTable.Tpo
> > > -c
> > > > -o
> > > > > zktest_st-LibCSymTable.o `test -f 'tests/LibCSymTable.cc' || echo
> > > > > './'`tests/LibCSymTable.cc
> > > > > In file included from tests/LibCSymTable.cc:19:
> > > > > ./tests/LibCSymTable.h:85:36: error: unknown type name 'clockid_t';
> > did
> > > > you
> > > > > mean 'clock_t'?
> > > > >    DECLARE_SYM(int,clock_gettime,(clockid_t clk_id, struct
> > timespec*));
> > > > >                                   ^~~~~~~~~
> > > > >                                   clock_t
> > > > > ./tests/LibCSymTable.h:51:29: note: expanded from macro
> 'DECLARE_SYM'
> > > > >    typedef ret (*sym##_sig)sig; \
> > > > >                            ^
> > > > > /usr/include/sys/_types/_clock_t.h:31:33: note: 'clock_t' declared
> > here
> > > > > typedef __darwin_clock_t        clock_t;
> > > > >                                ^
> > > > > 1 error generated.
> > > > > make[1]: *** [zktest_st-LibCSymTable.o] Error 1
> > > > > make: *** [check-am] Error 2
> > > > >
> > > > > Trying to work around this by using "clock_t" instead of
> > "clockid_t", I
> > > > get
> > > > > past this to hit this next error:
> > > > >
> > > > > [...snip...]
> > > > > In file included from tests/TestZookeeperInit.cc:19:
> > > > > In file included from
> > > > > /opt/local/include/cppunit/extensions/HelperMacros.h:9:
> > > > > /opt/local/include/cppunit/TestCaller.h:121:28: error: no member
> > named
> > > > > 'bind' in namespace 'std';
> > > > >      did you mean 'find'?
> > > > >            m_test_function( std::bind(test, m_fixture) )
> > > > >                             ~~~~~^~~~
> > > > >                                  find
> > > >
> > > >
> > >
> >
>

Reply via email to