gama-platform / gama

Main repository for developing the 2024+ versions of GAMA
https://gama-platform.org
GNU General Public License v3.0
26 stars 5 forks source link

machine_time is not defined or accessible Windows #360

Open ScriBanana opened 6 days ago

ScriBanana commented 6 days ago

Hi everyone,

I am trying to run a model where I use the primitive machine_time, but I get the following: "_machine_time is not defined or accessible in this context. Check its name or declare it._" in the editor, so I cannot run it. However, the interactive console gives me the actual machine time when I type it, as expected.

The model works on Linux with no issue. I am currently trying to run it on Windows 11 on a fresh Gama install. I tried the latest release and the stable 1.9.3 one with the same result.

Repo at https://github.com/ScriBanana/SahelFlux

Desktop:

This may be linked to #172.

ScriBanana commented 4 days ago

Update: Removing the primitive enables the model in its entirety, so it appears to be specific to machine_time on windows.

lesquoyb commented 4 days ago

Hello, yes machine_time by itself is not supported anymore since 1.9.3, it was actually a deprecated shortcut for gama.machine_time which is now the enforced syntax. We somehow forgot to write it in the changelog, sorry for the inconvenience.

ScriBanana commented 4 days ago

Alright, thanks. What is the new alternative, then, please ?

Btw, it is still all over the documentation (https://gama-platform.org/wiki/GlobalSpecies#machine_time, https://gama-platform.org/wiki/OptimizingModels, for example) and still works in the console and doesn't get flagged in Linux, then.

lesquoyb commented 4 days ago

What I meant is that you now have to write gama.machine_time instead of machine_time.

Thanks for the links to the documentation I will add an issue about it on the website's github. It is normal that it works in the console I think because the context of execution inside is different, though I'll double check that tomorrow. I didn't get what you meant by "it doesn't get flagged in Linux", does that mean that there are no error messages when you try to use machine_time in the code on linux ? I reopen the issue just to keep me reminded of those tasks and will close it when done

ScriBanana commented 4 days ago

OK, noted, thanks.

Yes, no error message from the IDE when calling it in a model file on Linux. Kernel: 6.11.4-zen2-1-zen with Gama version 1.9.3-1 from the AUR. I did not try to run a file with it headless in windows.