-
Notifications
You must be signed in to change notification settings - Fork 12k
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
[libc++] -DLIBCXX_CXX_ABI=system-libcxxabi
not usable?
#104672
Comments
Gentle ping @ldionne |
Hmm, FWICS Note that we're doing only Linux builds, so perhaps the issue is specific to OSX. We're also passing |
@h-vetinari I think you're missing |
On Apple platforms, using system-libcxxabi as an ABI library wouldn't work because we'd try to re-export symbols from libc++abi that the system libc++abi.dylib might not have. Instead, only re-export those symbols when we're using the in-tree libc++abi. This does mean that libc++.dylib won't re-export any libc++abi symbols when building against the system libc++abi, which could be fixed in various ways. However, the best solution really depends on the intended use case, so this patch doesn't try to solve that problem. As a drive-by, also improve the diagnostic message when the user forgets to set the LIBCXX_CXX_ABI_INCLUDE_PATHS variable, which would previously lead to a confusing error. Closes llvm#104672
Since we have another week for 19.1.4, let's backport this as well. |
Failed to cherry-pick: 5d452ab https://github.com/llvm/llvm-project/actions/runs/11800523880 Please manually backport the fix and push it to your github fork. Once this is done, please create a pull request |
/cherry-pick 21da4e7 |
/pull-request #115892 |
) On Apple platforms, using system-libcxxabi as an ABI library wouldn't work because we'd try to re-export symbols from libc++abi that the system libc++abi.dylib might not have. Instead, only re-export those symbols when we're using the in-tree libc++abi. This does mean that libc++.dylib won't re-export any libc++abi symbols when building against the system libc++abi, which could be fixed in various ways. However, the best solution really depends on the intended use case, so this patch doesn't try to solve that problem. As a drive-by, also improve the diagnostic message when the user forgets to set the LIBCXX_CXX_ABI_INCLUDE_PATHS variable, which would previously lead to a confusing error. Closes llvm#104672 (cherry picked from commit 21da4e7)
I recently noticed ba4f1e4, which is exactly the kind of build we need to do for our distribution for various reasons. I've tried this with LLVM 18.1.8 and 19.1.0-rc2, but in both cases, I get
Our build invocation roughly boils down to the following (removed some uninteresting things, but happy to elaborate);
I've tried removing
libcxxabi
from-DLLVM_ENABLE_RUNTIMES=
(and the build invocation) though the result stays the same.CC @ldionne @mgorny
The text was updated successfully, but these errors were encountered: