Skip to content

Conversation

natale-p
Copy link
Contributor

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

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>
@googlebot
Copy link

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 @googlebot I signed it! and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

ℹ️ Googlers: Go here for more info.

carlocab added a commit to carlocab/homebrew-core that referenced this pull request Nov 18, 2021
Simple programs segfault when linked with tcmalloc. Patch taken from
gperftools/gperftools#1315.

Also, update the test to catch the segfault.

Closes Homebrew#88758.
@natale-p
Copy link
Contributor Author

@googlebot I signed it!

BrewTestBot pushed a commit to Homebrew/homebrew-core that referenced this pull request Nov 19, 2021
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>
mbautin added a commit to yugabyte/yugabyte-db-thirdparty that referenced this pull request Nov 23, 2021
… 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.
@alk
Copy link
Contributor

alk commented Dec 13, 2021

Applied. Thanks.

@alk alk closed this Dec 13, 2021
zchovan added a commit to zchovan/kudu that referenced this pull request Jan 25, 2022
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.
asfgit pushed a commit to apache/kudu that referenced this pull request Jan 25, 2022
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

tcmalloc incompatible with macOS Monterey?
3 participants