withoutboats / notty

A new kind of terminal
GNU Affero General Public License v3.0
2.3k stars 41 forks source link

Build error on OSX 10.12: error: Could not compile `glib` #62

Open subzerofun opened 7 years ago

subzerofun commented 7 years ago

Hey i'm really hyped to try out notty, but i haven't been able to compile it.

The compilation always crashes because of glib v0.0.8 - i've pasted the relevant errors below.

I'm already using the nightly build of rust, so it should compile fine – since there are other OSX users here that have managed to compile it without errors.

I've tried using a newer package of glib, but unfortunately that didn't help. Also searched on Google and stackoverflow and found some similar problems with glib. But the solutions provided there also didn't help. Like reinstalling the glib located at /usr/local/opt with brew. Didn't help either... Then cargo updateand re-build – still failing at the same point.

What could be wrong with my installation / settings? Do i need a specific glib version or some extra flags to get past the errors?

Here are the generated errors:

sudo sh build_test.sh
   Compiling notty v0.1.0 (file:///Users/david/github/build/notty)
(...)
test terminal::screen::split::tests::into_6_6::max_right ... ok
test terminal::screen::split::tests::into_6_6::percent ... ok
test terminal::styles::tests::styles_update ... ok

test result: ok. 74 passed; 0 failed; 0 ignored; 0 measured

   Doc-tests notty

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured

   Compiling either v1.1.0
   Compiling cairo-rs v0.1.2
   Compiling gdk-pixbuf v0.1.2
   Compiling libc v0.2.21
   Compiling gdk v0.5.2
   Compiling c_vec v1.2.0
   Compiling gdk-sys v0.3.3
   Compiling gio-sys v0.3.3
   Compiling itertools v0.5.10
   Compiling gdk-pixbuf-sys v0.3.3
   Compiling bitflags v0.5.0
   Compiling bitflags v0.4.0
   Compiling pango-sys v0.3.3
   Compiling cairo-sys-rs v0.3.3
   Compiling gio v0.1.2
   Compiling glib-sys v0.3.3
   Compiling gobject-sys v0.3.3
   Compiling glib v0.1.2
   Compiling pango v0.1.2
   Compiling glib v0.0.8
error[E0591]: `extern "C" fn(&std::cell::RefCell<std::boxed::Box<std::ops::FnMut() -> source::Continue + 'static>>) -> i32 {source::trampoline}` is zero-sized and can't be transmuted to `std::option::Option<unsafe extern "C" fn(*mut libc::c_void) -> i32>`
  --> /Users/david/.cargo/registry/src/github.com-1ecc6299db9ec823/glib-0.0.8/src/source.rs:73:70
   |
73 |         glib_ffi::g_idle_add_full(glib_ffi::G_PRIORITY_DEFAULT_IDLE, transmute(trampoline),
   |                                                                      ^^^^^^^^^
   |
note: cast with `as` to a pointer instead
  --> /Users/david/.cargo/registry/src/github.com-1ecc6299db9ec823/glib-0.0.8/src/source.rs:73:70
   |
73 |         glib_ffi::g_idle_add_full(glib_ffi::G_PRIORITY_DEFAULT_IDLE, transmute(trampoline),
   |                                                                      ^^^^^^^^^

error[E0591]: `extern "C" fn(&std::cell::RefCell<std::boxed::Box<std::ops::FnMut() -> source::Continue + 'static>>) -> i32 {source::trampoline}` is zero-sized and can't be transmuted to `std::option::Option<unsafe extern "C" fn(*mut libc::c_void) -> i32>`
  --> /Users/david/.cargo/registry/src/github.com-1ecc6299db9ec823/glib-0.0.8/src/source.rs:91:78
   |
91 |         glib_ffi::g_timeout_add_full(glib_ffi::G_PRIORITY_DEFAULT, interval, transmute(trampoline),
   |                                                                              ^^^^^^^^^
   |
note: cast with `as` to a pointer instead
  --> /Users/david/.cargo/registry/src/github.com-1ecc6299db9ec823/glib-0.0.8/src/source.rs:91:78
   |
91 |         glib_ffi::g_timeout_add_full(glib_ffi::G_PRIORITY_DEFAULT, interval, transmute(trampoline),
   |                                                                              ^^^^^^^^^

error[E0591]: `extern "C" fn(&std::cell::RefCell<std::boxed::Box<std::ops::FnMut() -> source::Continue + 'static>>) -> i32 {source::trampoline}` is zero-sized and can't be transmuted to `std::option::Option<unsafe extern "C" fn(*mut libc::c_void) -> i32>`
   --> /Users/david/.cargo/registry/src/github.com-1ecc6299db9ec823/glib-0.0.8/src/source.rs:109:13
    |
109 |             transmute(trampoline), into_raw(func), Some(destroy_closure))
    |             ^^^^^^^^^
    |
note: cast with `as` to a pointer instead
   --> /Users/david/.cargo/registry/src/github.com-1ecc6299db9ec823/glib-0.0.8/src/source.rs:109:13
    |
109 |             transmute(trampoline), into_raw(func), Some(destroy_closure))
    |             ^^^^^^^^^

error: aborting due to 3 previous errors

error: Could not compile `glib`.
Build failed, waiting for other jobs to finish...
error: build failed