kattrali / thyme

Command-line interface implementation of Sage Solitaire
BSD 2-Clause "Simplified" License
6 stars 2 forks source link

Can't build on 32-bit armv7 #8

Closed MagaTailor closed 8 years ago

MagaTailor commented 8 years ago

Using the latest rustc 1.6 nightly I'm getting this:

   Compiling ui v1.0.0 (file:///tmp/thyme-master)
ui/src/renderer.rs:134:38: 134:75 error: mismatched types:
 expected `u64`,
    found `u32`
(expected u64,
    found u32) [E0308]
ui/src/renderer.rs:134     printw_repeat(" ", BOARD_MARGIN, ncurses::COLOR_PAIR(CARD_COLOR_EMPTY));
                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ui/src/renderer.rs:134:38: 134:75 help: run `rustc --explain E0308` to see a detailed explanation
ui/src/renderer.rs:163:21: 163:26 error: mismatched types:
 expected `u32`,
    found `u64`
(expected u32,
    found u64) [E0308]
ui/src/renderer.rs:163     ncurses::attron(color);
                                           ^~~~~
ui/src/renderer.rs:163:21: 163:26 help: run `rustc --explain E0308` to see a detailed explanation
ui/src/renderer.rs:165:22: 165:27 error: mismatched types:
 expected `u32`,
    found `u64`
(expected u32,
    found u64) [E0308]
ui/src/renderer.rs:165     ncurses::attroff(color);
                                            ^~~~~
ui/src/renderer.rs:165:22: 165:27 help: run `rustc --explain E0308` to see a detailed explanation
ui/src/renderer.rs:167:33: 167:38 error: mismatched types:
 expected `u64`,
    found `u32`
(expected u64,
    found u32) [E0308]
ui/src/renderer.rs:167     printw_repeat(" ", spacing, black);
                                                       ^~~~~
ui/src/renderer.rs:167:33: 167:38 help: run `rustc --explain E0308` to see a detailed explanation
ui/src/renderer.rs:170:40: 170:45 error: mismatched types:
 expected `u64`,
    found `u32`
(expected u64,
    found u32) [E0308]
ui/src/renderer.rs:170         printw_repeat(" ", CARD_WIDTH, black);
                                                              ^~~~~
ui/src/renderer.rs:170:40: 170:45 help: run `rustc --explain E0308` to see a detailed explanation
ui/src/renderer.rs:173:33: 173:38 error: mismatched types:
 expected `u64`,
    found `u32`
(expected u64,
    found u32) [E0308]
ui/src/renderer.rs:173     printw_repeat(" ", spacing, black);
                                                       ^~~~~
ui/src/renderer.rs:173:33: 173:38 help: run `rustc --explain E0308` to see a detailed explanation
ui/src/renderer.rs:177:21: 177:26 error: mismatched types:
 expected `u32`,
    found `u64`
(expected u32,
    found u64) [E0308]
ui/src/renderer.rs:177     ncurses::attron(color);

and so on for a total of 19 times. Would simple casting fix this issue?

kattrali commented 8 years ago

Thanks, @petevine. Yeah, a cast would handle this. I can take a look sometime later.

kattrali commented 8 years ago

I pushed an update for this, can you confirm the fix?

MagaTailor commented 8 years ago

Yes, it's fixed, thx.

The final linking stage fails though - probably because ncurses is too old? (5.9)

undefined reference to symbol 'halfdelay'

kattrali commented 8 years ago

Hmm, I'm not sure. I thought halfdelay was older than that. Investigating.

MagaTailor commented 8 years ago

I've been wondering about the version of the rust ncurses crate - is 5.73.0 related in any way to the supported version of the underlying library?

kattrali commented 8 years ago

is 5.73.0 related in any way to the supported version of the underlying library?

It doesn't seem to be related, based on how the version numbers are being changed.

Though its also odd that it started at 5.71.0.

MagaTailor commented 8 years ago

I'd been half-expecting this type of failure after originally seeing ncurses 6 mentioned in the readme but still wanted to test the rust parts on arm.