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

master branch fails to compile after multi-threading changes #77338

Closed
YuriSizov opened this issue May 22, 2023 · 8 comments · Fixed by #77342
Closed

master branch fails to compile after multi-threading changes #77338

YuriSizov opened this issue May 22, 2023 · 8 comments · Fixed by #77342

Comments

@YuriSizov
Copy link
Contributor

YuriSizov commented May 22, 2023

Godot version

4.0 (809a982)

System information

Windows 10, MSVC 14.21.27702 (VS 2019)

Issue description

Trying to compile the engine fails with

scene/2d/node_2d.h(120): error C2280: 'Node::MTFlag::MTFlag(void)': attempting to reference a deleted function
scene/main/node.h(57): note: compiler has generated 'Node::MTFlag::MTFlag' here
scene/main/node.h(57): note: 'Node::MTFlag::MTFlag(void)': function was implicitly deleted because 'Node::MTFlag' has a variant data 
member 'Node::MTFlag::mt' with a non-trivial default constructor
scene/main/node.h(55): note: see declaration of 'Node::MTFlag::mt'

Scons is run as

scons platform=windows -j6 target=editor dev_build=yes

Steps to reproduce

Try to compile the engine from the current master with MSVC 14.2x and the following command (probably irrelevant):

scons platform=windows -j6 target=editor dev_build=yes

Minimal reproduction project

N/A

@anvilfolk
Copy link
Contributor

anvilfolk commented May 22, 2023

Extra information: still works with MSVC 14.36.32532, or whatever comes with Visual Studio Community 2022. From running scons in the console:

Found MSVC version 14.3, arch x86_64

@YuriSizov
Copy link
Contributor Author

Possible culprit is #77145
cc @RandomShaper

@RandomShaper
Copy link
Member

Looking into it. I wonder why CI didn't catch it.

@akien-mga
Copy link
Member

akien-mga commented May 22, 2023

Windows 10, MSVC 14.2 (VS 2019)

For clarity, is it 14.2 or 14.20? I don't see 14.2 in https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B#Internal_version_numbering (and the numbering went from 14.1 to 14.11, in pure Microsoft naming fashion).

Out of curiosity, any reason why you're stuck on (I assume) 14.20 which was the first version of MSVC released with VS 2019? Seems like it has had a lot of updates since for VS 2019.

(We should still fix this to keep compatibility with 14.20 if we can of course.)

I wonder why CI didn't catch it.

The CI runs on windows-latest, which I assume defaults to VS 2022.

@YuriSizov
Copy link
Contributor Author

YuriSizov commented May 22, 2023

For clarity, is it 14.2 or 14.20? I don't see 14.2 in

Our scons prints it as 14.2, but it should be 14.2x, yes (probably treats it as a number and rounds?).

scons: Reading SConscript files ...
Found MSVC version 14.2, arch x86_64

I do have VS 2019, that's for sure :)

@anvilfolk
Copy link
Contributor

MSVC does definitely appear to have weird versioning numbers. From the command line for me it says 14.3, but the folder that holds the compiler has 14.36.32532 soooo maybe they just don't like the second decimal numbers 🙃

@anvilfolk
Copy link
Contributor

@YuriSizov what's in your \Microsoft Visual Studio\2022\Community\VC\Tools\MSVC folder?

At this point it does sound like scons is just grabbing the first digit after the .?

@YuriSizov
Copy link
Contributor Author

YuriSizov commented May 22, 2023

@akien-mga @anvilfolk It should be 14.21.27702, but I suspect the exact 14.2x version is not so relevant to the issue.

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

Successfully merging a pull request may close this issue.

4 participants