From 30f224f055020e1793acdf358fe289c8dabd9dd6 Mon Sep 17 00:00:00 2001 From: native-api Date: Sat, 8 Feb 2025 13:11:05 +0300 Subject: [PATCH] Updated Common build problems (markdown) --- Common-build-problems.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Common-build-problems.md b/Common-build-problems.md index d4177ce..dc05275 100644 --- a/Common-build-problems.md +++ b/Common-build-problems.md @@ -330,6 +330,14 @@ This is the reason why `binutils` is keg-only. To fix, uninstall binutils `brew remove binutils`, or remove them from PATH, or execute the install command with `AR=/usr/bin/ar`. +## macOS: "ld: symbol(s) not found for architecture arm64 + +This happens if: + +* You are building for Arm64 but your Homebrew is for x64 + * Install Arm64 Homebrew and add its `brew` to `PATH` +* (#on-apple-silicon-when-building-for-arm64-a-dependency-is-present-in-x64-homebrew-but-not-arm64-homebrew)[You have both Arm64 and x64 Homebrew installed and a dependent library is installed for x64 but not for Arm64] + ## Python cannot find a dependent dynamic library even though it's installed If you're getting messages like this: @@ -429,7 +437,7 @@ Known error messages they cause: Some Homebrew packages are installed as "keg-only" -- i.e. their executables are not linked to `$(brew --prefix)/bin`. This is typically done because then they would override stock MacOS software (the specific reason is mentioned in `brew info` output), causing breakages. The same happens if you manually add them to `PATH` as specified in their `brew info` output. -## On Apple Silicon, when building for ARM64, a dependency is present in x64 Homebrew but not arm64 Homebrew +## On Apple Silicon, when building for ARM64, a dependency is present in x64 Homebrew but not ARM64 Homebrew Known errors and their resolutions: * `dyld[88714]: symbol not found in flat namespace '_libintl_bindtextdomain'`, `__locale_textdomain in _localemodule.o ld: symbol(s) not found for architecture arm64`