zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Hunt <ph...@apache.org>
Subject Re: ZK-3034 Unable to compile C++ test files with cppunit-1.14.0
Date Wed, 27 Jun 2018 18:58:25 GMT
On Mon, Jun 25, 2018 at 10:34 PM Michael Han <hanm@apache.org> wrote:

> Since pkg-config has been available for a long time, what's the drawback in
> terms of compatibilities if we choose only support pkg-config moving
> forward?
>
>
It could break existing downstream build infra. Also the issue is not super
obvious when it does manifest - see my comments on the original PR, I ran
into this myself on existing infra where it has previously compiled just
fine (everything before this most recent OS release).

That said, if we doc and explicitly release note it it might be fine, this
is a bit of a rock/hardplace issue.

Patrick


> For cmake, if we choose only to support cmake, then that's another
> dependency users that consumes release tarball have to install on their OS
> distribution (comparing to autotools / config script approach where users
> just grab the release tarball and build)... so probably not very user
> friendly?
>
> On Mon, Jun 25, 2018 at 5:52 AM, Andor Molnar <andor@cloudera.com.invalid>
> wrote:
>
> > Does anybody else has strong or not that strong opinion?
> >
> > Andor
> >
> >
> >
> > On Wed, Jun 20, 2018 at 8:30 PM, Andor Molnar <andor@cloudera.com>
> wrote:
> >
> > > What do you think @andschwa?
> > > You did some contribution on CMake recently.
> > >
> > > Andor
> > >
> > >
> > >
> > > On Wed, Jun 20, 2018 at 8:09 PM, Patrick Hunt <phunt@apache.org>
> wrote:
> > >
> > >> Hm. Not directly on point but related - should we move off auto* tools
> > at
> > >> some point and just use cmake? (which is already in the codebase) Or
> > some
> > >> other option?
> > >>
> > >> Patrick
> > >>
> > >> On Wed, Jun 20, 2018 at 11:05 AM Andor Molnar
> > <andor@cloudera.com.invalid
> > >> >
> > >> wrote:
> > >>
> > >> > "When is pkg-config needed?"
> > >> >
> > >> > Both. You need the macro to generate ./configure and you need
> > pkg-config
> > >> > and cppunit.pc (part of cppunit package) to compile the tests.
> > >> >
> > >> > "Do we already do something special like generate the configure
> script
> > >> and
> > >> > ship that as part of the release?"
> > >> >
> > >> > That's correct. We ship the generated ./configure script and
> > >> Makefile.in in
> > >> > the release artifact.
> > >> >
> > >> > Andor
> > >> >
> > >> >
> > >> >
> > >> >
> > >> > On Wed, Jun 20, 2018 at 7:38 PM, Patrick Hunt <phunt@apache.org>
> > wrote:
> > >> >
> > >> > > When is pkg-config needed? If you want to compile from source
or
> if
> > >> you
> > >> > > want to compile from the release artifact? Do we already do
> > something
> > >> > > special like generate the configure script and ship that as part
> of
> > >> the
> > >> > > release?
> > >> > >
> > >> > > Patrick
> > >> > >
> > >> > > On Fri, Jun 8, 2018 at 6:44 AM Andor Molnar <andor@cloudera.com>
> > >> wrote:
> > >> > >
> > >> > > > This PR is also related:
> > >> > > >
> > >> > > > https://github.com/apache/zookeeper/pull/362
> > >> > > >
> > >> > > > Andor
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > On Fri, Jun 8, 2018 at 3:18 PM, Andor Molnar <
> andor@cloudera.com>
> > >> > wrote:
> > >> > > >
> > >> > > > > Hi devs,
> > >> > > > >
> > >> > > > > I'm having problems resolving the issue mentioned in
this Jira
> > and
> > >> > need
> > >> > > > > some feedback from you:
> > >> > > > >
> > >> > > > > https://issues.apache.org/jira/browse/ZOOKEEPER-3034
> > >> > > > >
> > >> > > > > In a nutshell the situation with *cppunit* is as follows:
> > >> > > > > LibreOffice team confirmed that from version *1.14.0*
they
> will
> > no
> > >> > > longer
> > >> > > > > ship m4 macro definitions in cppunit releases. They
encourage
> > >> > everybody
> > >> > > > to
> > >> > > > > use *pkg-config* instead in order to generate configure
script
> > and
> > >> > > > > Makefile. By the way, this is not a new thing, it was
> supported
> > >> even
> > >> > > > before
> > >> > > > > 1.14.0.  So basically, they no longer support both
tools, only
> > >> > > > pkg-config.
> > >> > > > >
> > >> > > > > So, in order to support building and running C++ tests
on
> recent
> > >> > > > > distributions with cppunit-1.14.0 like Ubuntu 18.04,
Fedora,
> > >> etc., we
> > >> > > > have
> > >> > > > > to switch to *pkg-config*.
> > >> > > > >
> > >> > > > > *Backward compatibility*
> > >> > > > > pkg-config is going to be a new dependency of the C
client
> which
> > >> we
> > >> > > need
> > >> > > > > to add to the documentation near to autoconf 2.59 requirement.
> > On
> > >> the
> > >> > > > > flipside we can remove the requirement of cppunit.m4.
> > >> > > > >
> > >> > > > > Another thing we can do is to maintain two different
> > configure.ac
> > >> > > > scripts
> > >> > > > > from now on: one for cppunit.m4 and another one for
pkg-config
> > >> which
> > >> > is
> > >> > > > > going to be the default. We also have to describe in
the
> > >> > documentation
> > >> > > > why
> > >> > > > > we made that change and how to revert to the m4 version
if
> > needed.
> > >> > > > >
> > >> > > > > The way it's currently implemented in the following
pull
> request
> > >> has
> > >> > > been
> > >> > > > > tested and works on Ubuntu 14.04, 18.04 and CentOS
7 as long
> as
> > >> > > > pkg-config
> > >> > > > > is installed.
> > >> > > > >
> > >> > > > > https://github.com/apache/zookeeper/pull/528
> > >> > > > >
> > >> > > > > Please share your thoughts and review the changes.
> > >> > > > >
> > >> > > > > Thanks,
> > >> > > > > Andor
> > >> > > > >
> > >> > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message