Fails on Godot 3.5
Closed this issue · 8 comments
Hi, just tried updating from Godot 3.4.4 to 3.5, and I get this error:
E 0:00:00.930 gdnative_init: Error loading GDNative file res://addons/dijkstra-map/Dijkstra_map_library/bin/windows/dijkstra_map_gd.dll: GodotEngine v4.* is not yet supported. See godot-rust/gdnative#396
So when can we expect to get this fixed?
I messed with the code to get confident again and see if there was an easy way to fix the issue
in dijkstra-map-gd/Cargo.toml i put gdnative = { git = "https://github.com/Bromeon/godot-rust.git", hash = "1c65c2e145f3068ac1255ecad591121cf2a2cdef" }
just after the issue you referenced was fixed.
But we're using 0.9 and it's using 0.10 so we would have to transition to that which is a little more than i can handle.
I'll tinker a little bit more to see if there is an easy workaround.
@timujin you could eventually open a PR if you feel confident making the transition!
Someone on that 910 PR mentioned doing that with the draft branch:
gdnative = { git = "https://github.com/Bromeon/godot-rust.git", branch = "feature/godot-3.5" }
and said it worked for them. That would have a few more commits than the 1c65
I think.
But no doubt that also uses 0.10.
I'd try to help, but I've literally never used Rust!
The next godot-rust v0.10.1 release is planned, until then I can recommend the approach mentioned by @goblinJoel. I would depend on a branch rather than a rev, because you can simply run cargo update
to include more recent improvements.
However I'm not yet sure if I can include the Godot 3.5 updates into that version, due to SemVer concerns (sometimes the GDNative API changes between Godot minor versions, and for sure it adds new default parameters, which are currently breaking changes in Rust).
If someone has more information about the GDNative API changes between Godot 3.4 and 3.5, that would be great to know! The official changelog is quite brief, I think I'll need to also look into other categories (e.g. get_meta()
default parameter is listed under Core).
Update: Godot 3.5.1 is now officially supported with gdnative 0.11.0
.
As anticipated, I went with a SemVer breaking change, although the API is almost entirely compatible.
started working on the transition but it fails with trait errors/ macro errors that i dont understand right now ^^'
if someone feels like helping i opened a draft, advice is welcome as well !
the draft works as a workaround with some caveat for now, there is instructions to make it work there #112
The work is Done ! You still have to compile yourself to support godot 3.5.1 but its all working, closing now