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

Building on Apple M1 (update winit) #1423

Open
emllnd opened this issue Jun 1, 2021 · 0 comments
Open

Building on Apple M1 (update winit) #1423

emllnd opened this issue Jun 1, 2021 · 0 comments

Comments

@emllnd
Copy link

emllnd commented Jun 1, 2021

Hi!

I wanted to test conrod and run the examples, but was unable to do so as it depends on winit versions that run into a compilation error on machines with an Apple M1 processor (0.19.5, 0.23).

Based on this issue in the winit repo it seems like winit versions starting from 0.24 are again able to be built on M1 machines. Another test project that I've successfully built on the machine uses winit v0.25.

I might be able to edit/expand this post with further information later and even submit a PR. I had a quick look at the code. It might be a straightforward case of copypasting relevant event conversion implementations from v023 and changing the version number in a few places, but I couldn't figure it all out just yet.

Error messages below.

Winit version 0.19.5

conrod % cargo run --release --example all_piston_window
Updating crates.io index
Compiling autocfg v1.0.1

[...]

Compiling conrod_derive v0.73.0 (/Users/XXXXXXXX/Desktop/conrod/conrod_derive)
Compiling image v0.23.14
Compiling winit v0.19.5
error[E0308]: mismatched types
   --> /Users/XXXXXXXX/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.5/src/platform/macos/view.rs:209:9
    |
205 | extern fn has_marked_text(this: &Object, _sel: Sel) -> BOOL {
    |                                                        ---- expected `bool` because of return type
...
209 |         (marked_text.length() > 0) as i8
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found `i8`

error[E0308]: mismatched types
   --> /Users/XXXXXXXX/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.5/src/platform/macos/window.rs:103:26
    |
103 |             is_zoomed != 0
    |                          ^ expected `bool`, found integer

error[E0308]: mismatched types
   --> /Users/XXXXXXXX/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.5/src/platform/macos/window.rs:175:57
    |
175 |                 self.window.setFrame_display_(new_rect, 0);
    |                                                         ^ expected `bool`, found integer

error[E0308]: mismatched types
    --> /Users/XXXXXXXX/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.5/src/platform/macos/window.rs:1301:48
     |
1301 |         window.setFrame_display_(current_rect, 0)
     |                                                ^ expected `bool`, found integer

error[E0308]: mismatched types
    --> /Users/XXXXXXXX/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.5/src/platform/macos/window.rs:1308:48
     |
1308 |         window.setFrame_display_(current_rect, 0)
     |                                                ^ expected `bool`, found integer

error[E0308]: mismatched types
    --> /Users/XXXXXXXX/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.5/src/platform/macos/window.rs:1325:48
     |
1325 |         window.setFrame_display_(current_rect, 0)
     |                                                ^ expected `bool`, found integer

error[E0308]: mismatched types
    --> /Users/XXXXXXXX/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.5/src/platform/macos/window.rs:1332:48
     |
1332 |         window.setFrame_display_(current_rect, 0)
     |                                                ^ expected `bool`, found integer

error: aborting due to 7 previous errors

For more information about this error, try `rustc --explain E0308`.
error: could not compile `winit`

Winit version 0.23

conrod % cargo run --release --example all_winit_glium  
Compiling core-foundation-sys v0.8.2
Compiling core-foundation-sys v0.7.0

[...]

Compiling conrod_core v0.73.0 (/Users/XXXXXXXX/Desktop/conrod/conrod_core)
Compiling tiff v0.3.1
error[E0308]: mismatched types
   --> /Users/XXXXXXXX/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.23.0/src/platform_impl/macos/util/async.rs:170:55
    |
170 |                 ns_window.setFrame_display_(new_rect, 0);
    |                                                       ^ expected `bool`, found integer

error[E0308]: mismatched types
   --> /Users/XXXXXXXX/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.23.0/src/platform_impl/macos/view.rs:391:9
    |
386 | extern "C" fn has_marked_text(this: &Object, _sel: Sel) -> BOOL {
    |                                                            ---- expected `bool` because of return type
...
391 |         (marked_text.length() > 0) as i8
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found `i8`

error[E0308]: mismatched types
   --> /Users/XXXXXXXX/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.23.0/src/platform_impl/macos/window.rs:656:22
    |
656 |         is_zoomed != 0
    |                      ^ expected `bool`, found integer

error[E0308]: mismatched types
    --> /Users/XXXXXXXX/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.23.0/src/platform_impl/macos/window.rs:1171:48
     |
1171 |         window.setFrame_display_(current_rect, 0)
     |                                                ^ expected `bool`, found integer

error[E0308]: mismatched types
    --> /Users/XXXXXXXX/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.23.0/src/platform_impl/macos/window.rs:1178:48
     |
1178 |         window.setFrame_display_(current_rect, 0)
     |                                                ^ expected `bool`, found integer

error[E0308]: mismatched types
    --> /Users/XXXXXXXX/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.23.0/src/platform_impl/macos/window.rs:1195:48
     |
1195 |         window.setFrame_display_(current_rect, 0)
     |                                                ^ expected `bool`, found integer

error[E0308]: mismatched types
    --> /Users/XXXXXXXX/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.23.0/src/platform_impl/macos/window.rs:1202:48
     |
1202 |         window.setFrame_display_(current_rect, 0)
     |                                                ^ expected `bool`, found integer

error: aborting due to 7 previous errors

For more information about this error, try `rustc --explain E0308`.
error: could not compile `winit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant