-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Zig MSVC - unable to build libcxxabi: SubCompilationFailed #15448
Comments
@Vexu , please tags!! 😅 New tests with MSVC (test-msvc branch)https://github.com/kassane/outcome/blob/d154f77a1620dd6f2e39de2e09a5801124692982/build.zig#L271-L277 x86_64 +- install experimental-p0709a success
| +- zig build-exe experimental-p0709a Debug x86_64-windows-msvc success 961ms MaxRSS:50M
+- install experimental-core-outcome-status success
| +- zig build-exe experimental-core-outcome-status Debug x86_64-windows-msvc success 4s MaxRSS:50M
+- install experimental-core-result-status success
| +- zig build-exe experimental-core-result-status Debug x86_64-windows-msvc success 4s MaxRSS:50M
+- install issue0259 success
+- zig build-exe issue0259 Debug x86_64-windows-msvc success 4s MaxRSS:50M
error: lld-link: undefined symbol: class outcome_v2::basic_result<int, class std::error_code, struct outcome_v2::policy::error_code_throw_as_system_error<int, class std::error_code, void>> __cdecl unknown(void)
note: referenced by D:\a\outcome\outcome\test\constexprs\max_result_get_value.cpp:36
note: D:\a\outcome\outcome\zig-cache\o\ce08a147e079231f107601dc4113081c\max_result_get_value.obj:(int __cdecl test1(void))
error: lld-link: undefined symbol: class outcome_v2::basic_result<int, class std::error_code, struct outcome_v2::policy::error_code_throw_as_system_error<int, class std::error_code, void>> __cdecl unknown(void)
note: referenced by D:\a\outcome\outcome\test\constexprs\max_result_construct_value_move_destruct.cpp:37
note: D:\a\outcome\outcome\zig-cache\o\34e14b8115d5109bb306347cf955a4ab\max_result_construct_value_move_destruct.obj:(int __cdecl test1(void)) x86 and aarch64 # x86
error: lld-link: undefined symbol: void __cdecl __ExceptionPtrDestroy(void *)
note: referenced by C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.36.32532\include\exception:232
note: D:\a\outcome\outcome\zig-cache\o\13d54646001d4ebcc6381e697d836a82\single-header-test.obj:(public: __thiscall std::exception_ptr::~exception_ptr(void))
error: lld-link: libcmtd.lib(std_type_info_static.obj): machine type x64 conflicts with x86
error: lld-link: libcmtd.lib(std_type_info_static.obj): machine type x64 conflicts with x86
error: lld-link: libcmtd.lib(delete_scalar_size.obj): machine type x64 conflicts with x86
error: lld-link: libcmtd.lib(chkstk.obj): machine type x64 conflicts with x86
error: lld-link: libcmtd.lib(delete_scalar.obj): machine type x64 conflicts with x86
error: lld-link: libucrtd.lib(debug_heap.obj): machine type x64 conflicts with x86
error: lld-link: libcmtd.lib(gs_report.obj): machine type x64 conflicts with x86
#[...]
# arm64
+- install issue0259 transitive failure
+- zig build-exe issue0259 Debug aarch64-windows-msvc 298 errors
error: lld-link: libcmtd.lib(amdsecgs.obj): machine type x64 conflicts with arm64
error: lld-link: libcmtd.lib(gs_cookie.obj): machine type x64 conflicts with arm64
error: lld-link: libcpmtd.lib(excptptr.obj): machine type x64 conflicts with arm64
error: lld-link: libcmtd.lib(gs_report.obj): machine type x64 conflicts with arm64
error: lld-link: libcmtd.lib(delete_scalar_size.obj): machine type x64 conflicts with arm64
error: lld-link: libcmtd.lib(utility.obj): machine type x64 conflicts with arm64
error: lld-link: libvcruntimed.lib(memcpy.obj): machine type x64 conflicts with arm64
error: lld-link: libvcruntimed.lib(memset.obj): machine type x64 conflicts with arm64
error: lld-link: libucrtd.lib(free.obj): machine type x64 conflicts with arm64 New test, works on x86_64 only: |
Currently, just replace libcpp to libc. It will compile without any errors!! An example of this is the test with xwin for hermetic build. |
Zig Version
0.11.0-dev.2775+21aa55d34
Steps to Reproduce and Observed Behavior
Ref:
Switch target to MSVC.
CI test: https://github.com/kassane/outcome/actions/runs/4789289937
How to test
My fork library (header only) has
build.zig
to zig mastergit clone --recursive https://github.com/kassane/outcome cd outcome zig build -DTests
Expected Behavior
MinGW works (x86_64, x86 and aarch64)
The text was updated successfully, but these errors were encountered: