• RuntimesGodotBugs
  • Compiling C++ Engine Module Failed for godot 3.6

I got this error when try to compile module for godot 3.6
AttributeError: 'str' object has no attribute 'get':
File "D:\Local project\Runtimes\spine-godot\godot\SConstruct", line 769:
methods.generate_vs_project(env, GetOption("num_jobs"))
File "D:\Local project\Runtimes\spine-godot\godot\methods.py", line 847:
batch_file = find_visual_c_batch_file(env)
File "D:\Local project\Runtimes\spine-godot\godot\methods.py", line 801:
product_dir = find_vc_pdir(env, msvc_version)
File "C:\Program Files\Python313\Lib\site-packages\SCons\Tool\MSCommon\vc.py", line 1733:
frozen_binary, _ = _VSWhereExecutable.vswhere_freeze_env(env)
File "C:\Program Files\Python313\Lib\site-packages\SCons\Tool\MSCommon\vc.py", line 1209:
elif not env.get('VSWHERE'):

Step Reproduce:
1) run in windows 11 using visual studio 2022
2) clone/open repo spine-runtime then use branch 4.2
3) open git bash and put this commands
cd spine-godot
./build/setup.sh 3.6-stable false
./build/build.sh release_debug

need help @Mario

Related Discussions
...

The error you're encountering seems to be related to the use of an incorrect or unsupported version of Godot. The spine-godot runtime documentation specifies instructions for compiling with Godot 3.5.x and 4.x, but not for 3.6. It is possible that the spine-godot runtime does not support Godot 3.6, which could be causing the issue. You might want to try using a supported version, such as 3.5.2-stable, as indicated in the documentation. Here is the command you should use for Godot 3.5.x:

cd spine-godot
./build/setup.sh 3.5.2-stable false
./build/build.sh release_debug

Ensure you have all the necessary build dependencies installed as per the official Godot instructions.

Does your build process include SCons at all?

    And how you guys can build editor windows godot 3.6? Is there posibility how to custom build godot and spine module for 3.6 engine version?
    I am sorry i didn't mean to push you guys. This is requirement from my company to use godot 3.6 for stable deployment for webgl/html
    cc @Mario

    Well i still get same errors even if i pick custom build for godot 3.5.x for example i test on godot 3.5.3 stable and 3.5.2 stable

    SilverStraw hi bro, yeah before use this module, i already install dependencies for godot custom build engine. And it works.

    And now i want to include spine-godot module. But it appears uknown error that i never meet before.Already follow instructions in the spine docs

    I can't repro this. The issue is here:

    File "D:\Local project\Runtimes\spine-godot\godot\SConstruct", line 769:
    methods.generate_vs_project(env, GetOption("num_jobs"))

    Seems like the num_jobs environment var isn't set by the built. That is being set here by the setup.sh build script for GitBash on Windows:

    EsotericSoftware/spine-runtimesblob/4.2/spine-godot/build/build.sh#L30

    It is then subsequently passed to Scons and Godot's build system, which is supposed to setup the env vars.

    The build.sh script logs the number of CPUs (and thus jobs) it determined here:
    EsotericSoftware/spine-runtimesblob/4.2/spine-godot/build/build.sh#L37

    Please show the full output of the build.

      Mario thanks, i will try again.

      By the way is there another way to build custom engine godot + spine? beside official spine-godot documentation.

      The spine-godot docs document all the possible ways of building Godot with spine-godot as a module. Including building via GitHub actions, which would rule out any issues in your local development setup. You can also try the new spine-godot GDExtension, which does not require a special Godot editor build.