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

Build fails #97

Closed
davelab6 opened this issue May 3, 2021 · 4 comments
Closed

Build fails #97

davelab6 opened this issue May 3, 2021 · 4 comments

Comments

@davelab6
Copy link

davelab6 commented May 3, 2021

% git clone https://github.com/MFEK/glif;
% cd glif;
% cargo run --;
    Updating git repository `https://github.com/MFEK/imgui-skia-renderer.rlib`
    Updating git repository `https://github.com/mfek/ipc`
    Updating git repository `https://github.com/raphlinus/nfd-rs`
    Updating git submodule `https://github.com/mlabbe/nativefiledialog`
  Downloaded libloading v0.7.0
  Downloaded gcc v0.3.55
  Downloaded bincode v1.3.2
  Downloaded derive_more v0.99.13
  Downloaded parking_lot_core v0.8.3
  Downloaded raw-window-handle v0.3.3
  Downloaded strum_macros v0.20.1
  Downloaded enum-iterator-derive v0.6.0
  Downloaded bytemuck v1.5.1
  Downloaded color_quant v1.1.0
  Downloaded num-rational v0.3.2
  Downloaded enum-iterator v0.6.0
  Downloaded backtrace v0.3.56
  Downloaded scoped_threadpool v0.1.9
  Downloaded jpeg-decoder v0.1.22
  Downloaded miniz_oxide v0.3.7
  Downloaded strum v0.20.0
  Downloaded semver-parser v0.7.0
  Downloaded objc_id v0.1.1
  Downloaded git-version v0.3.4
  Downloaded vk-mem v0.2.2
  Downloaded serde_bytes v0.11.5
  Downloaded skulpin v0.13.0
  Downloaded profiling-procmacros v0.1.3
  Downloaded skulpin-renderer v0.13.0
  Downloaded syn v1.0.67
  Downloaded unidiff v0.3.3
  Downloaded pathfinder_simd v0.5.0
  Downloaded version-compare v0.0.10
  Downloaded parking_lot v0.11.1
  Downloaded png v0.16.8
  Downloaded rustc-demangle v0.1.18
  Downloaded weezl v0.1.4
  Downloaded ureq v2.1.0
  Downloaded objc-foundation v0.1.1
  Downloaded chlorine v1.0.7
  Downloaded sdl2 v0.34.3
  Downloaded raw-window-metal v0.1.2
  Downloaded rafx v0.0.10
  Downloaded imgui v0.7.0
  Downloaded object v0.23.0
  Downloaded num-iter v0.1.42
  Downloaded adler32 v1.2.0
  Downloaded app_dirs v1.2.1
  Downloaded ash-window v0.6.0
  Downloaded glam v0.8.7
  Downloaded image v0.23.14
  Downloaded float-ord v0.2.0
  Downloaded pathfinder_geometry v0.5.1
  Downloaded rafx-framework v0.0.10
  Downloaded rafx-base v0.0.10
  Downloaded rafx-api v0.0.10
  Downloaded gimli v0.23.0
  Downloaded dirs v2.0.2
  Downloaded colored v2.0.0
  Downloaded git-version-macro v0.3.4
  Downloaded sdl2-sys v0.34.3
  Downloaded ash v0.32.0
  Downloaded tiff v0.6.1
  Downloaded encoding_rs v0.8.28
  Downloaded profiling v0.1.10
  Downloaded imgui-sys v0.7.0
  Downloaded imgui-sdl2 v0.14.0
  Downloaded downcast-rs v1.2.0
  Downloaded clipboard v0.5.0
  Downloaded addr2line v0.14.1
  Downloaded semver v0.9.0
  Downloaded gif v0.11.2
  Downloaded font-kit v0.10.0
  Downloaded deflate v0.8.6
  Downloaded lock_api v0.4.2
  Downloaded convert_case v0.4.0
  Downloaded cmake v0.1.45
  Downloaded rustc_version v0.2.3
  Downloaded dirs-sys v0.3.5
  Downloaded 75 crates (9.5 MB) in 1.23s (largest was `profiling` at 1.7 MB)
   Compiling libc v0.2.91
   Compiling cfg-if v1.0.0
   Compiling autocfg v1.0.1
   Compiling cc v1.0.67
   Compiling lazy_static v1.4.0
   Compiling proc-macro2 v1.0.24
   Compiling unicode-xid v0.2.1
   Compiling bitflags v1.2.1
   Compiling syn v1.0.67
   Compiling memchr v2.3.4
   Compiling log v0.4.14
   Compiling adler v1.0.2
   Compiling serde_derive v1.0.125
   Compiling crc32fast v1.2.1
   Compiling regex-syntax v0.6.23
   Compiling serde v1.0.125
   Compiling core-foundation-sys v0.8.2
   Compiling untrusted v0.7.1
   Compiling spin v0.5.2
   Compiling foreign-types-shared v0.1.1
   Compiling tinyvec_macros v0.1.0
   Compiling matches v0.1.8
   Compiling glob v0.3.0
   Compiling version_check v0.9.3
   Compiling scopeguard v1.1.0
   Compiling ryu v1.0.5
   Compiling percent-encoding v2.1.0
   Compiling unicode-width v0.1.8
   Compiling block v0.1.6
   Compiling humantime v2.1.0
   Compiling vec_map v0.8.2
   Compiling termcolor v1.1.2
   Compiling bindgen v0.57.0
   Compiling serde_json v1.0.64
   Compiling base64 v0.13.0
   Compiling ansi_term v0.11.0
   Compiling unicode-segmentation v1.7.1
   Compiling strsim v0.8.0
   Compiling encoding_rs v0.8.28
   Compiling itoa v0.4.7
   Compiling once_cell v1.7.2
   Compiling lazycell v1.3.0
   Compiling rustc-hash v1.1.0
   Compiling byteorder v1.3.4
   Compiling chunked_transfer v1.4.0
   Compiling peeking_take_while v0.1.2
   Compiling shlex v0.1.1
   Compiling cfg-if v0.1.10
   Compiling rayon-core v1.9.0
   Compiling either v1.6.1
   Compiling smallvec v1.6.1
   Compiling semver-parser v0.7.0
   Compiling glam v0.8.7
   Compiling version-compare v0.0.10
   Compiling downcast-rs v1.2.0
   Compiling fnv v1.0.7
   Compiling adler32 v1.2.0
   Compiling arrayvec v0.5.2
   Compiling chlorine v1.0.7
   Compiling proc-macro-hack v0.5.19
   Compiling xml-rs v0.8.3
   Compiling gcc v0.3.55
   Compiling sdl2 v0.34.3
   Compiling weezl v0.1.4
   Compiling color_quant v1.1.0
   Compiling same-file v1.0.6
   Compiling roots v0.0.6
   Compiling gimli v0.23.0
   Compiling xmlwriter v0.1.0
   Compiling scoped_threadpool v0.1.9
   Compiling bytemuck v1.5.1
   Compiling object v0.23.0
   Compiling convert_case v0.4.0
   Compiling rustc-demangle v0.1.18
   Compiling float-ord v0.2.0
   Compiling strum v0.20.0
   Compiling app_dirs v1.2.1
   Compiling libloading v0.6.7
   Compiling libloading v0.7.0
   Compiling instant v0.1.9
   Compiling foreign-types v0.3.2
   Compiling tinyvec v1.1.1
   Compiling unicode-bidi v0.3.4
   Compiling lock_api v0.4.2
   Compiling textwrap v0.11.0
   Compiling form_urlencoded v1.0.1
   Compiling cmake v0.1.45
   Compiling miniz_oxide v0.4.4
   Compiling crossbeam-utils v0.8.3
   Compiling memoffset v0.6.3
   Compiling num-traits v0.2.14
   Compiling rayon v1.5.0
   Compiling num-integer v0.1.44
   Compiling num-iter v0.1.42
   Compiling num-rational v0.3.2
   Compiling nom v5.1.2
   Compiling itertools v0.9.0
   Compiling miniz_oxide v0.3.7
   Compiling semver v0.9.0
   Compiling heck v0.3.2
   Compiling walkdir v2.3.2
   Compiling clang-sys v1.0.1
   Compiling gif v0.11.2
   Compiling ash v0.32.0
   Compiling xmltree v0.10.2
   Compiling unicode-normalization v0.1.17
   Compiling nfd v0.0.4 (https://github.com/raphlinus/nfd-rs?rev=5e09b79bf511e3a91ae8cefdb96e9734fa4a79c2#5e09b79b)
   Compiling addr2line v0.14.1
   Compiling ring v0.16.20
   Compiling vk-mem v0.2.2
   Compiling imgui-sys v0.7.0
   Compiling rustc_version v0.2.3
   Compiling glifparser v0.0.0 (https://github.com/MFEK/glifparser.rlib#1d902863)
   Compiling mfek-ipc v0.0.0 (https://github.com/mfek/ipc#c0b924d5)
error[E0554]: `#![feature]` may not be used on the stable release channel
 --> /Users/dcrossland/.cargo/git/checkouts/glifparser.rlib-8a794fa86f0b184f/1d90286/src/lib.rs:1:1
  |
1 | #![feature(assoc_char_funcs, let_chains)]
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to previous error

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

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed
%
@ctrlcctrlv
Copy link
Collaborator

Nightly compiler is required, per README.

Download and install rustup, selecting the nightly toolchain.

@alerque
Copy link
Contributor

alerque commented May 4, 2021

You do need to download and have the nightly toolchain available, but you don't have to set it as your default. You can select it at Cargo runtime by adding +nightly before whatever build or run command you want to execute with a particular toolchain (likewise to use +stable if nightly your user's default).

$ cargo +nightly run --

@ctrlcctrlv
Copy link
Collaborator

Oh, interesting @alerque. Even I didn't know that! As mentioned at MFEK/stroke#13, I could consider dropping the requirement to use Nightly, but we do use quite a few nightly features across the repositories and I didn't view it as a very onerous requirement due to the fact that most people get Rust via rustup anyway.

Also, a long term goal of this project is to distribute binaries, like FontForge project, and not have my users compiling anyway.

@alerque
Copy link
Contributor

alerque commented May 4, 2021

Sure. I like to keep the stable toolchain as my system and user default but using nightly makes perfect sense for a project like this. Honestly there is an even easier way to handle this: most Rust tooling detects a rust-toolchain file in the project directory where you can pick the appropriate toolchain for the project no matter what the user's defaults are. See PR.

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

3 participants