Skip to content
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

Tweak to build with clang on Windows. #135

Merged
merged 2 commits into from
Feb 12, 2024

Conversation

kalibera
Copy link
Contributor

Without this fix, e.g. DAISIE fails to build on clang/Windows due to undefined symbol sched_yield().

I am seeing this with LLVM 17, where clang identifies as gcc 4.2. I think ideally the ifdef should be changed so that modern clang also uses the C++ version - I see on godbolt that clang 6.0.0 should be good enough, but I am not sure how to portably check the "clang" way.

@eddelbuettel
Copy link
Member

@kalibera Thanks for this (and the parallel email with CRAN paper trail). It should be easy to apply.

We are etching closer to (belatedly) migrating to Eigen 3.4.0 (see issue #103, scroll to bottom) and I should also check if we need / use this change there. Is there a winbuilder or alike setup (GitHub Actions maybe?) that reproduces the failure?

@eddelbuettel
Copy link
Member

eddelbuettel commented Feb 12, 2024

Looks like I can carry the one-liner straight over to the corresponding file in the PR. Possibly cherry-pick your PR.

@eddelbuettel
Copy link
Member

@kalibera I added a changelog entry and will merge with that.

@eddelbuettel eddelbuettel merged commit f7259df into RcppCore:master Feb 12, 2024
1 check passed
@kalibera
Copy link
Contributor Author

@kalibera Thanks for this (and the parallel email with CRAN paper trail). It should be easy to apply.

Thanks.

We are etching closer to (belatedly) migrating to Eigen 3.4.0 (see issue #103, scroll to bottom) and I should also check if we need / use this change there. Is there a winbuilder or alike setup (GitHub Actions maybe?) that reproduces the failure?

There is nothing provided by CRAN, I am not sure about others. When I checked last, there wasn't any fast server hardware yet available to buy. Not even a Windows server OS for the platform. Probably both of that would be needed to setup such box.

To get a personal Windows/arm64 box, the best now is probably still an Apple silicon mac running Windows 11 in a virtual machine. It is very likely many of these problems would be seen with LLVM also on x86_64 Windows. Then there is some devkit from Microsoft, though I recall it used to be sold out.

@eddelbuettel
Copy link
Member

@yixuan I carried this over to your 3.4.0 branch via two cherry-picks, a rebase appeared to have been more work.

@yixuan
Copy link
Collaborator

yixuan commented Feb 12, 2024

@eddelbuettel This looks great. Many thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants