-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Implement and register free_definite_size for macOs #1315
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
Conversation
In Monterey, it seems that free_definite_size is required (despite the documentation saying that is optional). The implementation just forward the call to free. Signed-off-by: Natale Patriciello <natale.patriciello@gmail.com>
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here with What to do if you already signed the CLAIndividual signers
Corporate signers
ℹ️ Googlers: Go here for more info. |
Simple programs segfault when linked with tcmalloc. Patch taken from gperftools/gperftools#1315. Also, update the test to catch the segfault. Closes Homebrew#88758.
@googlebot I signed it! |
Simple programs segfault when linked with tcmalloc. Patch taken from gperftools/gperftools#1315. Also, update the test to catch the segfault. Closes #88758. Closes #89637. Signed-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>
… flags; fix min macOS version (#90) This commit fixes 3 issues and contains various other improvements. 1. yugabyte/yugabyte-db#10533 (incorrectly using libuv from Homebrew): - Explicitly specify libuv search path when building Cassandra C++ driver. This prevents us from using Homebrew-provided libuv even if it is installed. - Do not allow Homebrew library paths to appear in `otool -L` output when checking dynamic libraries. This enforces that the resulting thirdparty package does not depend on any Homebrew libraries, e.g. libuv. 2. yugabyte/yugabyte-db#10448 (tcmalloc issue on macOS Monterey): Update gperftools with a patch that fixes tcmalloc on macOS Monterey. Upstream gperftools issue: gperftools/gperftools#1312, fix: gperftools/gperftools#1315 3. yugabyte/yugabyte-db#10661 (incorrectly setting min macOS version): Add validation that libraries are built for the correct target version of macOS by examining the output of `otool -l`. As part of looking into this, I found out that Boost previously did not even use the compiler and linker flags that we were providing. Fixed this by specifying the `toolset=...` parameter to b2. Also fixed Boost build on x86_64 macOS (after the arm64 commit landed, we would always specify the arm64 architecture). Another dependency that required changes was crypt_blowfish (needed to pass `-mmacosx-version-min=...` in LDFLAGS and ASFLAGS). I noticed that specifying min macOS version as 10.14 (Mojave) does not work when building for arm64, so I specified min macOS version as 11.2 there for now. Also specifying minimum macOS version does not seem to work correctly when building on macOS 10.15 (Catalina) on GitHub Actions, but works well on Big Sur (11.x) so we will look into upgrading our build workers, and we may have to release a few packages manually. Other improvements: - Specify patch_strip as 1 by default so we don't have to specify it everywhere. - Add a --force flag to rebuild dependencies even if the system thinks it does not need to based on "stamp" files. - Add a --delete-build-dir to delete a dependency's build directory before attempting to build that dependency. - Always rebuild dependencies if the build directory is missing. - Generate convenient shell scripts allowing to re-run CMake builds manually. - Expand the "patch marker" file naming format to include the number of patches. - Remove unused test data for compiler version detection (we are now using the https://pypi.org/project/compiler-identification/ module). - The redis_cli dependency used to have custom logic to patch how libhiredis refers to itself on macOS. This patching belongs in hiredis.py, and we have a standard implementation for it (fix_shared_library_references) so the custom code from redis_cli.py is being deleted.
Applied. Thanks. |
Starting with Monterey protobuf related build actions fail due to a missing implementation of free_definite_size in tc_malloc for OSX. Upstream issue and fix: gperftools/gperftools#1312 gperftools/gperftools#1315 gperftools/gperftools@852fb6d Added new patchfile for gperftools and changed download-thirdparty.sh accordingly.
Starting with Monterey protobuf related build actions fail due to a missing implementation of free_definite_size in tc_malloc for OSX. Upstream issue and fix: gperftools/gperftools#1312 gperftools/gperftools#1315 gperftools/gperftools@852fb6d Added new patchfile for gperftools and changed download-thirdparty.sh accordingly. Change-Id: Iae7719b233083616e21e5822d4f682efc324ec40 Reviewed-on: http://gerrit.cloudera.org:8080/18172 Reviewed-by: Attila Bukor <abukor@apache.org> Tested-by: Attila Bukor <abukor@apache.org> Reviewed-by: Alexey Serbin <aserbin@cloudera.com>
In Monterey, it seems that free_definite_size is required (despite the documentation saying that is optional). The implementation just forwards the call to free.
Fix: #1312
Signed-off-by: Natale Patriciello natale.patriciello@gmail.com