-
-
Notifications
You must be signed in to change notification settings - Fork 152
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
_Float16 undeclared when compiling on aarch64 #178
Comments
I have downgraded back to 3.2.0 for now |
I am assuming that c8780a5 introduced this, but I don't have an aarch64 machine to test on |
That commit was an effort to fix fp16-related issues, though I guess I made it worse for some targets. I recently ran into similar issues in another project and have been meaning to backport my findings to toml++. Should be relatively easy to sort out. (I'll add an escape hatch so you can disable all that stuff anyway.) |
Adding to this close / stale issue as we see this with the 3.2.0 code:
Should we just try to build of the master branch? Or are you planning a release soon? |
It will be safe to use the current master, but I will be doing a release in the next week or so if you'd prefer to wait - there's a few other small issues on the backlog that I would like to include. One of them, #187, is a TOML-language spec compliance issue. Admittedly a pretty weird edge-case, but I'd like to solve it all the same. |
Hm. Apparently I already took you master branch code when I bootstrapped my repo of rcpptoml around it. The only difference is in edd@rob:~/git/tomlplusplus(master)$ git pull --all
Already up to date.
edd@rob:~/git/tomlplusplus(master)$ rsync -ncav include/toml++/ ../rcpptomlplusplus/inst/include/toml++/
sending incremental file list
impl/
impl/preprocessor.h
sent 2,091 bytes received 19 bytes 4,220.00 bytes/sec
total size is 636,899 speedup is 301.85 (DRY RUN)
edd@rob:~/git/tomlplusplus(master)$ Will give that a shot. |
Yup, I just removed my attempts at trying to automatically detect |
Yeah. Saw that. I am not quite sure how to handle that, probably need a preprocessor. We can upload to an arm test builder at the R Project, and I just did that (and rushed at first, fooled myself locally) and it passes. But so does the prior version on that machine as that build is 64 bit. Should I bail and enable |
Hmmn? I'm confused. If you enable it everywhere you'll get the same compiler issues you got in 3.2.0. The thing I removed was the various preprocessor The only thing it impacts is the ability to directly get/set values as std::optional<_Float16> f16_val = some_node.value<_Float16>(); Which is a pretty niche thing, and unlikely to be useful for you given you're wrapping the library anyways. My recommendation would be to explicitly set |
I am confused to. I build RcppTOML in early Jan off your repo then, I should have most fixes but still have the now-removed heuristic of yours to see when to enable float16 support. That is what I shipped to CRAN, it clearly fails on two platforms: https://cloud.r-project.org/web/checks/check_results_RcppTOML.html My fellow Debianer looking after my (usptream) package also has woes. I then confused myself once more by using the machine accessible at https://mac.r-project.org/macbuilder/submit.html but the CRAN arm64 aka aarch64 build already passed, it was the plain old macOS that failed per the table in Back to float16. So when/where should I enable? Only on i386? Why does arm64 fail at Debian in |
I am extra dense today. Thank you. I thought our woes were from wanting to enable rather than explicitly disable where it may fail. |
Small wins. The 'win-builder' R Project machine, in its 'support previous release of R' setting where it still builds with i386 and x86_64 flavours (current release dropped i386) fared well once I added the define. See https://win-builder.r-project.org/fEJ9pDGItp63/00install.out and copying 'for keeps' as that page will get purhed in a few days:
That is with the updated |
Environment
toml++ version and/or commit hash: cc741c9
Compiler: GNU 12.1.0
C++ standard mode: 17
Target arch: aarch64 (arm64)
Library configuration overrides: None
Relevant compilation flags: None?
Describe the bug
Building toml++ on aarch64 results in the following error:
Note that this issue does not occur on x86_64 with the same toolchain.
Steps to reproduce (or a small repro code sample)
Best I can offer is the Flatpak builder here: flathub/org.prismlauncher.PrismLauncher#6
Additional information
Full build log: https://buildbot.flathub.org/#/builders/42/builds/565/steps/8/logs/stdio
The text was updated successfully, but these errors were encountered: