My vote +1
These new build instructions helped, and I was able to successfully
compile, make and test the distribution.
Some more specifics in the build instructions would help even more:
1. Make sure you have cmake >= 3.12. If not, install one. On OSX:
$ brew install cmake
If cmake is already installed, you need to
$ brew upgrade cmake
3. Unpacking the pybind11 download zip results in a pybind11-master
directory.
Rename it to pybind11 and place it under the python directory at the root
of the distribution overwriting the empty python/pybind11 directory there.
4. Generate make files:
Make and move to the build directory
$ mkdir build
$ cd build
$ cmake .. #don't omit the ..
$ make
$ make test
This resulted in successful tests running with no errors.
On Wed, Aug 28, 2019 at 3:01 PM Alexander Saydakov <
[email protected]> wrote:
> Let me amend the build instructions in case simple "make test" does not
> work.
> 1. Make sure you have cmake 3.12. If not, install one. On OSX: brew install
> cmake.
> 2. Download pybind11:
> https://github.com/pybind/pybind11/archive/master.zip
> 3. Unpack pybind11 under python directory as python/pybind11
> 4. Generate make files: mkdir build; cd build; cmake ..
> 5. make test
>
> On Wed, Aug 28, 2019 at 2:20 PM leerho <[email protected]> wrote:
>
> > Alex,
> >
> > After installing cppunit I tried make test.
> >
> > $ make test
> >
> > Compiling cpc/src/iconEstimator.cpp...
> >
> > Compiling cpc/src/fm85Confidence.cpp...
> >
> > Compiling cpc/src/fm85Merging.cpp...
> >
> > Compiling cpc/src/fm85.cpp...
> >
> > Compiling cpc/src/fm85Util.cpp...
> >
> > Compiling cpc/src/fm85Compression.cpp...
> >
> > Compiling cpc/src/cpc_sketch.cpp...
> >
> > Compiling cpc/src/u32Table.cpp...
> >
> > Linking libdatasketches.dylib
> >
> > Compiling common/test/test_runner.cpp...
> >
> > Compiling common/test/test_allocator.cpp...
> >
> > Compiling cpc/test/cpc_union_test.cpp...
> >
> > Compiling cpc/test/compression_test.cpp...
> >
> > Compiling cpc/test/cpc_sketch_test.cpp...
> >
> > Linking cpc/cpc_test...
> >
> > ld: unknown option: -rpath=/usr/local/lib
> >
> > clang: *error: *linker command failed with exit code 1 (use -v to see
> > invocation)
> >
> > make: *** [cpc_exec] Error 1
> >
> > $ gcc --version
> >
> > Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr
> >
> >
> --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
> >
> > Apple LLVM version 10.0.1 (clang-1001.0.46.4)
> >
> > Target: x86_64-apple-darwin18.7.0
> >
> > Thread model: posix
> >
> > InstalledDir:
> >
> >
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
> >
> >
> > If I need a specific GCC, which one?
> >
> >
> > Lee.
> >
> >
> >
> >
> >
> > On Wed, Aug 28, 2019 at 11:27 AM Alexander Saydakov <
> > [email protected]> wrote:
> >
> > > It has been about 6 days and we have not a single vote one way or
> > another.
> > >
> > > I would like to ask mentors to clarify a couple of things. Is it
> > necessary
> > > to build and run unit tests to vote? Can we expect people to install
> > > dependencies?
> > >
> > > This C++ library is supposed to be header-only. We did not fully
> achieve
> > > this yet, but we are quite close. We do not want to build and
> distribute
> > > any binaries. There are two things that can be built: unit tests and
> > Python
> > > bindings. And both are optional. Not every user of this library would
> > care
> > > about Python. And unit tests are mostly for development purposes, but
> > might
> > > be useful as a part of the release process to verify that things can
> > > compile and run. But in that case one needs to have CppUnit installed.
> > > Another complication is with make vs. cmake. As I said in the call for
> > > vote, the easiest way is to run "make test", but the Makefile might not
> > be
> > > compatible with some particular environment (complier options for GCC
> and
> > > Clang may be different and so on). We started using cmake to
> > automatically
> > > resolve such differences. However, our setup requires cmake 3.12 that
> is
> > > newer than default versions in many operating systems. This is because
> > some
> > > good features are missing in the older versions. So we either need to
> > > modify our setup to manage without these features somehow, or expect
> > people
> > > to upgrade cmake. Also, building with cmake currently is going to build
> > > make files for Python bindings as well, so we either need modify our
> > setup
> > > to bypass that by default or expect people to download pybind11
> > dependency.
> > >
> > > I would love to hear suggestions.
> > > Do you think we can release this library as it is now?
> > > This core library is used in datasketches-postgresql, which is an
> > extension
> > > for PostgreSQL. I hope to be able to release the next version of that
> one
> > > soon. By the way, building that one would take installing PostgeSQL.
> Can
> > we
> > > expect people to do that just to vote on a release candidate?
> > >
> > > I would love to see some votes one way or another.
> > > Thank you very much.
> > >
> > >
> > > On Tue, Aug 27, 2019 at 3:29 PM Jon Malkin <[email protected]>
> wrote:
> > >
> > > > Grabbed code:
> > > > ==> make test
> > > > Compiling cpc/src/iconEstimator.cpp...
> > > > Compiling cpc/src/fm85Confidence.cpp...
> > > > Compiling cpc/src/fm85Merging.cpp...
> > > > Compiling cpc/src/fm85.cpp...
> > > > Compiling cpc/src/fm85Util.cpp...
> > > > Compiling cpc/src/fm85Compression.cpp...
> > > > Compiling cpc/src/cpc_sketch.cpp...
> > > > Compiling cpc/src/u32Table.cpp...
> > > > Linking libdatasketches.dylib
> > > > Compiling common/test/test_runner.cpp...
> > > > Compiling common/test/test_allocator.cpp...
> > > > Compiling cpc/test/cpc_union_test.cpp...
> > > > Compiling cpc/test/compression_test.cpp...
> > > > Compiling cpc/test/cpc_sketch_test.cpp...
> > > > Linking cpc/cpc_test...
> > > > ld: unknown option: -rpath=/usr/local/lib
> > > > clang: error: linker command failed with exit code 1 (use -v to see
> > > > invocation)
> > > > make: *** [cpc_exec] Error 1
> > > >
> > > > And since pybind11 is symlinked in under git, meaning it doesn't get
> > > > packaged here, cmake also won't work from the zip.
> > > >
> > > > jon
> > > >
> > > > On Sun, Aug 25, 2019, 7:24 AM Furkan KAMACI <[email protected]>
> > > > wrote:
> > > >
> > > > > Hi Alexander,
> > > > >
> > > > > Thanks for running this release!
> > > > >
> > > > > I have 2 questions.
> > > > >
> > > > > 1) Is there any detailed installation guide for apart from
> > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/apache/incubator-datasketches-cpp/blob/1.0.0-incubating-rc1/python/README.md
> > > > > I
> > > > > get an error while following that procedure (Permission denied
> > > > (publickey))
> > > > >
> > > > > For source code, I run make test but I got error on my OSX:
> > > > >
> > > > > Linking libdatasketches.dylib
> > > > > Compiling common/test/test_runner.cpp...
> > > > > common/test/test_runner.cpp:20:10: fatal error:
> > > > > 'cppunit/extensions/TestFactoryRegistry.h' file not found
> > > > > #include <cppunit/extensions/TestFactoryRegistry.h>
> > > > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > > > 1 error generated.
> > > > > make: *** [common/build/test_runner.o] Error 1
> > > > >
> > > > > 2) Do I miss something while trying to verify PGP:
> > > > >
> > > > > wget
> > > https://dist.apache.org/repos/dist/dev/incubator/datasketches/KEYS
> > > > > gpg --import KEYS
> > > > > wget
> > > > >
> > > > >
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/incubator/datasketches/cpp/1.0.0-incubating-rc1/apache-datasketches-cpp-1.0.0-incubating-src.zip.asc
> > > > > gpg --verify apache-datasketches-cpp-1.0.0-incubating-src.zip.asc
> > > > > apache-datasketches-cpp-1.0.0-incubating-src.zip.asc
> > > > >
> > > > > gpg: Signature made Fri Aug 23 01:59:34 2019 +03
> > > > > gpg: using RSA key
> > > > 40A247F61E8C6C75678C69C568486114A8E8B4E0
> > > > > gpg: BAD signature from "Alexander Saydakov (CODE SIGNING KEY) <
> > > > > [email protected]>" [unknown]
> > > > >
> > > > > Kind Regards,
> > > > > Furkan KAMACI
> > > > >
> > > > > On Fri, Aug 23, 2019 at 3:44 AM Alexander Saydakov
> > > > > <[email protected]> wrote:
> > > > >
> > > > > > Dear Apache DataSketches PPMC and Community,
> > > > > >
> > > > > > This is a call for vote to release Apache DataSketches-cpp
> version
> > > > > > 1.0.0-incubating
> > > > > >
> > > > > > This is a C++ version of the core library with Python bindings.
> > > > > >
> > > > > > This is the first release of this component.
> > > > > >
> > > > > > We are not going to release any artifacts besides the source
> code.
> > > > > >
> > > > > > The release candidate:
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/incubator/datasketches/cpp/1.0.0-incubating-rc1/
> > > > > >
> > > > > > Source repository:
> > > > > > https://github.com/apache/incubator-datasketches-cpp
> > > > > >
> > > > > > Git tag for this release:
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/apache/incubator-datasketches-cpp/releases/tag/1.0.0-incubating-rc1
> > > > > >
> > > > > > The artifact has been signed with key:
> > > > > > pub 4096R/A8E8B4E0 2019-08-20 Alexander Saydakov (CODE SIGNING
> > KEY)
> > > <
> > > > > > [email protected]>
> > > > > > Fingerprint=40A2 47F6 1E8C 6C75 678C 69C5 6848 6114 A8E8 B4E0
> > > > > >
> > > > > > The public signing key can be found in the KEYS file:
> > > > > >
> https://dist.apache.org/repos/dist/dev/incubator/datasketches/KEYS
> > > > > >
> > > > > > Building and running unit tests requires cppunit-devel.
> > > > > > The easiest way to build is:
> > > > > > make test
> > > > > >
> > > > > > Building Python bindings requires cmake 3.12 or higher and
> > pybind11.
> > > > > > Please see the following document for details:
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/apache/incubator-datasketches-cpp/blob/1.0.0-incubating-rc1/python/README.md
> > > > > >
> > > > > > The vote will be performed in two stages:
> > > > > > - This letter will be published on dev@ and remain open for at
> > > least
> > > > > 72
> > > > > > hours and until at least 3 (+1) PPMC votes are reached. All PPMC
> > > > members
> > > > > > including mentors can vote. However, a negative vote from a
> mentor
> > > will
> > > > > > cancel this voting process.
> > > > > > - After it passes the first stage, the summary of that vote and
> > the
> > > > key
> > > > > > information from this letter will be published on
> incubator@general
> > > > and
> > > > > > remain open for at least 72 hours and until at least 3 (+1) IPMC
> > > votes
> > > > > are
> > > > > > reached.
> > > > > >
> > > > > > Please vote accordingly:
> > > > > > [ ] +1 approve
> > > > > > [ ] +0 no opinion
> > > > > > [ ] -1 disapprove with the reason
> > > > > >
> > > > > > Thanks,
> > > > > > Alexander Saydakov
> > > > > > [email protected]
> > > > > >
> > > > >
> > > >
> > >
> >
>