CDRIVER-3906 do not add libm on macOS #738
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Requiring consumers of libbson-static to link against libm on macOS causes an issue for the Go driver's use of libmongocrypt (error encountered originally in MONGOCRYPT-309, but copying details here).
The
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libm.tbd
is a valid input to the macOS linker, and is a text based stub-library. By default, Go rejects unrecognized linker inputs. This will be fixed in golang/go#44263 in thego
command.Example:
Attempting to build with go results in an error:
Users can work around this by specifying the environment variable
CGO_LDFLAGS_ALLOW='^.*tbd$'
. But, libm is part of libsystem on macOS. So I do not think it is necessary to explicitly link to libm on macOS.