-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Provide proper shared library versioning and cmake support #304
Comments
Related:
Note that the first solution suggested by Apache Arrow is:
|
Having written a |
There are multiple issues:
Mirroring |
Having now read about "compatibility version" versus "current version", I think that the following changes are needed in order to set things straight on macOS (and Linux) for both builds:
|
For #304. Change-Id: I74e2720ecad9a0b22e8cd73dbffe2e02599827c5 Reviewed-on: https://code-review.googlesource.com/c/re2/+/58450 Reviewed-by: Paul Wankadia <[email protected]>
Could you please verify that commit 13ebb37 works as intended, @essandess? (Ping, @mtorromeo and @foutrelis! Arch Linux was cited in the original comment, so these changes are likely to be RTYI.) |
Thanks to macports/macports-ports#9836, I learned about the cute trick that Homebrew uses: running |
I believe that both issues have been resolved; commit 13ebb37 will be in release
Fixing that should just be a case of conditionally defining (Ping, @veblush and @donnadionne!) |
@junyer Thank you very much for addressing these issues so promptly. Given all the moving pieces here, and the fact that MacPorts just merged in cmake builds of The test of success has been building apache-arrow without hitting the cmake |
Great to hear. :) |
Oh, and @eli-schwartz as well. :) |
Well I did originally suggest the use of pkg_check_modules with the keywords:
Given grpc currently supports cmake 3.5, the hack you added in grpc/grpc#25821 is necessary unless you vendor the latest version of FindPkgConfig.cmake (which I did in another project, because cmake scares me enough already and I want to stick to drawing inside the lines if at all possible, and that means backporting official cmake distribution files to use their documented functionality). There is a TODO there to that effect... so basically the problem here is rediscovering the problems solved in later versions of cmake. |
Arch Linux ended up sticking with the Makefile build, whose Darwin changes don't affect us. No clue on that count. The cmake properties look correct to me based on eyeballing, but haven't tested. |
Thanks for taking a look! I'm not sure whether gRPC has tied their minimum CMake version to Ubuntu LTS releases, but Xenial has 3.5, Bionic has 3.10 and Focal has 3.16, so we might be waiting a while for |
https://build.opensuse.org/request/show/972798 by user gmbr3 + dimstar_suse - Disable tests on ZSystems and RISCV - Switch build to CMake, otherwise CMake config is not installed. Required for Apache ORC and arrow, and google-or-tools. (google/re2#304) - Run some real tests via CTest
re2
is in the critical path of several large projects that rely on cmake builds of grpc, apache-arrow, and others, including several tensorflow-related and other Google projects like magenta. See:Yet the support of a basic build chain for
re2
in common environments (macOS, Linux) isn't yet supported, and done so "unenthusiastically", forcing hacky backflips like this, this, and this just to provide shared library versioning.Would you please provide support of shared library versioning and if not enthusiastic, then basic cmake support that gets the versioning correct?
Other builds rely on all these, and these issues must be hacked in or ignored now.
The text was updated successfully, but these errors were encountered: