Skip to content

The base template does not compile when using Metal (Mac OS) #99

Closed
@Quetzal2

Description

@Quetzal2

This is not like #97, because I am not talking about a published version of Amethyst (like v0.13.2). This makes it a bit trickier to solve (can't just add a template in https://github.com/amethyst/tools/tree/master/templates, like #98).

The issue with Amethyst v0.13.2 (and below)

The actual issue is that amethyst v0.13.2 pulls the metal crate (metal-rs) v0.15.0:
amethyst v0.13.2
→ amethyst_animation v0.8.1
→ amethyst_rendy v0.3.0
→ rendy v0.3.2
→ rendy-command v0.3.0
→ rendy-util v0.3.1
→ gfx-backend-metal v0.2.4
→ metal v0.15.0 .

However, only metal v0.16.0 compiles, having the msg_send explicit typing fix (previous versions did not have it -> SSheldon/rust-objc#62 (comment) . This raises now a compilation error). Prior versions of metal (and some other libraries) do not compile anymore. This is the commit fixing this issue (after v0.15.0): gfx-rs/metal-rs@032800f#diff-b4aea3e418ccdb71239b96952d9cddb6

Using Amethyst master

This leaves Mac OS users no other choice (that I know of) than to use the current master, which pulls metal v0.16.0, which is great! :)

The only issue is that the v0.12.0 template (v0.12.0 is the current Amethyst version used) is not compatible with current master, which makes sense, since it has not been released yet. These are the simple fixes (one of them will already be introduced for v0.13.2) Quetzal2@6d2f66c .

Conclusion

The Mac OS platform has no straight forward way to have an Amethyst base project as of now.

Maybe it's worth waiting for the next release, but at least I wanted to raise awareness of the situation of the metal backend. Basically, earlier versions of those packages don't compile anymore, so it is important to use the latest ones.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions