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

Config.pm: Windows: Ensure x64 architecture #28

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

AntonOks
Copy link

As far as I know, Rakudo is not building under 32bit Windows.
If so, let's check and assure we use the MSVC 64bit cl.exe for a desired build run.

See also MoarVM/MoarVM#1789 (comment)

As far as I know, Rakudo is not building under 32bit Windows.
If so, let's check and assure we use the MSVC 64bit cl.exe for a desired build run.

See also MoarVM/MoarVM#1789 (comment)
if ( version->parse($actual_version) < $expect_version ) {
$self->sorry( "Expected Microsoft Compiler version "
. $expect_version
. "+, but got "
. $actual_version );
}
if ( $cl_arch ne "x64" ) {
$self->sorry( "Rakudo compiles currently only on "
. "x64 architectures, but we are on "
Copy link

@ugexe ugexe May 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've built rakudo on arm64 Windows before. If I remember correctly it requires using c11-atomics (which is how I ended up writing this PR) and an updated version of dyncall

Copy link

@ugexe ugexe May 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also if I understand correctly the issue you linked to in MoarVM is related to building libuv, yet one can pass an option to use an external copy of libuv. We shouldn't block the user from installing on architectures due to a flaw in how we build a 3rd party dependency, particularly if that dependency can be provided in another way.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've built rakudo on arm64 Windows before. If I remember correctly it requires using c11-atomics (which is how I ended up writing this PR) and an updated version of dyncall

Wow, cool, thanks for this info!!!

I have tried to build Rakudo & friends on my arm-based Lenovo Windows10 box, which emulates Windows x86 / 32bit, some months ago. This definitely didn't build / compile.

Have adopted the regex'es now to match [\D+64$] ... this should work for arm64 then as well...

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also if I understand correctly the issue you linked to in MoarVM is related to building libuv, yet one can pass an option to use an external copy of libuv. We shouldn't block the user from installing on architectures due to a flaw in how we build a 3rd party dependency, particularly if that dependency can be provided in another way.

Well, that's just an example... I've tried to build Rakudo on some of my older 32bit Windows boxes (up to Windows10) in the past and never succeeded.. at that time, I was told, Rakudo doesn't compile on Win 32bit "per purpose"... and if this is the case, let's implement a check in parallel to the CL.EXE version...

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and if this is the case, let's implement a check in parallel to the CL.EXE version..

Agreed, and indeed we should confirm it doesn't compile on 32 bit windows on purpose. If you could happen to find that conversation in the irc logs and link it in a comment of this PR I think that'd be sufficient

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.

2 participants