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
fix: do not define _LIBCPP_ABI_NAMESPACE=Cr for all native modules #34932
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This define is only needed when linking against Chromiums libc++ which we currently do not ship / expose the symbols of. We probably should make those symbols visible and actually ensure that electron-rebuild et. al link against our libc++ instead of the system libc++ but for now this fixes compilation issues on macOS where the default system clang links to the system libc++ which does not (obviously) use the Chromium ABI namespace. For our nan tests which do link against Chromiums libc++ we define the ABI namespace in the spec runner.
MarshallOfSound
added
semver/patch
backwards-compatible bug fixes
target/20-x-y
fast-track 🚅
Indicates that this PR is intended to bypass the 24 hour rule. Needs approval from Releases
labels
Jul 15, 2022
VerteDinde
approved these changes
Jul 15, 2022
Release Notes Persisted
|
I was unable to backport this PR to "20-x-y" cleanly; |
VerteDinde
pushed a commit
that referenced
this pull request
Jul 18, 2022
…34932) This define is only needed when linking against Chromiums libc++ which we currently do not ship / expose the symbols of. We probably should make those symbols visible and actually ensure that electron-rebuild et. al link against our libc++ instead of the system libc++ but for now this fixes compilation issues on macOS where the default system clang links to the system libc++ which does not (obviously) use the Chromium ABI namespace. For our nan tests which do link against Chromiums libc++ we define the ABI namespace in the spec runner.
@VerteDinde has manually backported this PR to "20-x-y", please check out #34944 |
VerteDinde
added a commit
that referenced
this pull request
Jul 18, 2022
…34944) fix: do not define _LIBCPP_ABI_NAMESPACE=Cr for all native modules (#34932) This define is only needed when linking against Chromiums libc++ which we currently do not ship / expose the symbols of. We probably should make those symbols visible and actually ensure that electron-rebuild et. al link against our libc++ instead of the system libc++ but for now this fixes compilation issues on macOS where the default system clang links to the system libc++ which does not (obviously) use the Chromium ABI namespace. For our nan tests which do link against Chromiums libc++ we define the ABI namespace in the spec runner. Co-authored-by: Samuel Attard <sam@electronjs.org>
schetle
pushed a commit
to schetle/electron
that referenced
this pull request
Nov 3, 2022
…lectron#34932) This define is only needed when linking against Chromiums libc++ which we currently do not ship / expose the symbols of. We probably should make those symbols visible and actually ensure that electron-rebuild et. al link against our libc++ instead of the system libc++ but for now this fixes compilation issues on macOS where the default system clang links to the system libc++ which does not (obviously) use the Chromium ABI namespace. For our nan tests which do link against Chromiums libc++ we define the ABI namespace in the spec runner.
khalwa
pushed a commit
to solarwindscloud/electron
that referenced
this pull request
Feb 22, 2023
…lectron#34932) This define is only needed when linking against Chromiums libc++ which we currently do not ship / expose the symbols of. We probably should make those symbols visible and actually ensure that electron-rebuild et. al link against our libc++ instead of the system libc++ but for now this fixes compilation issues on macOS where the default system clang links to the system libc++ which does not (obviously) use the Chromium ABI namespace. For our nan tests which do link against Chromiums libc++ we define the ABI namespace in the spec runner.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
fast-track 🚅
Indicates that this PR is intended to bypass the 24 hour rule. Needs approval from Releases
semver/patch
backwards-compatible bug fixes
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.
This define is only needed when linking against Chromiums libc++ which we currently
do not ship / expose the symbols of. We probably should make those symbols visible and
actually ensure that electron-rebuild et. al link against our libc++ instead of the system libc++
but for now this fixes compilation issues on macOS where the default system clang links to the system libc++
which does not (obviously) use the Chromium ABI namespace.
For our nan tests which do link against Chromiums libc++ we define the ABI namespace in the spec runner.
Notes: Fixed
_dyld_missing_symbol_abort
crash on macOS when using c++ native modules