-
Notifications
You must be signed in to change notification settings - Fork 163
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
Build failure on arm64-uwp #173
Comments
Hi, It is a little difficult to decipher your As you've seen, on Windows this typically requires the use of That is This requires getting the mangled names correct for the platform, which I think is the crux of your problem. The error message does give the mangled name for From the look of the error, I believe CCTZ has the correct mangled names for |
@devbww Thanks for reply! Lines 56 to 59 in 3ab2dae
Now, the only thing I can confirm is that when building Lines 60 to 64 in 3ab2dae
|
I'm afraid I don't know for sure (I've never done an ARM build), but #694 implied that the
That sounds right, but isn't that the status quo? And that makes me wonder how you got an error in the first place. Thanks for any help you can provide in clearing this up. |
In PR microsoft/vcpkg#11827, I patched Line 56 in 3ab2dae
to
and use the official changes with line Lines 60 to 61 in 3ab2dae
The result shows us:
According to the unmodified macro in the source code, the author meant that the first And if I use the second
Use command |
The two blobs you linked to are both against https://github.com/google/cctz, whereas you're building https://github.com/abseil/abseil-cpp, which includes an edited copy of CCTZ. None of the mangled symbol names in the CCTZ code will be appropriate for Abseil because of those edits (which alter the namespace). I think your best bet at figuring out the right symbols for "arm64-uwp" is to build CCTZ directly. Whatever you figure out and submit to CCTZ in this repo would then be picked up (and edited appropriately) by Abseil. That should forestall your need to make any "fix-arm-build.patch" at all for So, does the CCTZ repo build on your platforms? |
Since cctz's dependency benchmark cannot be built in uwp(google/benchmark#661), I cannot test whether cctz is possible to build in |
I would have imagined that Abseil also uses google/benchmark, but OK. In that case I would address the issue entirely within abseil/abseil-cpp. Don't look at the CCTZ repository or its mangled symbol names at all. The goal remains the same though: find the mangled names for The Abseil code is a little more convoluted because it uses preprocessor string concatenation to build those mangled symbol names, but, once you compare the unresolved name to the name being generated, any difference should be clear. This whole thing is predicated on your linker supporting |
So I think this issue is an abseil bug, thanks @devbww for your help! |
Hi guys,
I received an issue microsoft/vcpkg#13929 report that cctz failed to build on triplet
arm64-uwp
.And I've opened a PR microsoft/vcpkg#14109 to fix that.
Can someone give me some suggestions?
Note: this changes related to PR #145.
Thanks.
The text was updated successfully, but these errors were encountered: