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 gets errors on macOS Big Sur #647

Open
orklann opened this issue Oct 25, 2021 · 7 comments
Open

Build gets errors on macOS Big Sur #647

orklann opened this issue Oct 25, 2021 · 7 comments

Comments

@orklann
Copy link

orklann commented Oct 25, 2021

Command to build: cargo make qemu

I think it's not due to Sunrise OS itself, it's the Rust crates this project uses, maybe it will be a quick fix to update some crates to the latest version.

Here is some part of the log. Errors happens at the end of the log

   |
88 |             '0'...'9' | 'x' => {
   |                ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
  --> coreutils/src/printf/tokenize/unescaped_text.rs:95:28
   |
95 |                     e @ '0'...'9' => {
   |                            ^^^ help: use `..=` for an inclusive range

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/printf/tokenize/unescaped_text.rs:176:82
    |
176 |     pub fn from_it_core(it: &mut PutBackN<Chars>, subs_mode: bool) -> Option<Box<token::Token>> {
    |                                                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn token::Token`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/printf/tokenize/unescaped_text.rs:244:21
    |
244 |     ) -> Option<Box<token::Token>> {
    |                     ^^^^^^^^^^^^ help: use `dyn`: `dyn token::Token`

warning: `...` range patterns are deprecated
  --> coreutils/src/printf/tokenize/num_format/formatters/intf.rs:69:24
   |
69 |                     '0'...'9' | 'a'...'f' | 'A'...'F' => {
   |                        ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
  --> coreutils/src/printf/tokenize/num_format/formatters/intf.rs:69:36
   |
69 |                     '0'...'9' | 'a'...'f' | 'A'...'F' => {
   |                                    ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
  --> coreutils/src/printf/tokenize/num_format/formatters/intf.rs:69:48
   |
69 |                     '0'...'9' | 'a'...'f' | 'A'...'F' => {
   |                                                ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
  --> coreutils/src/printf/tokenize/num_format/formatters/intf.rs:79:40
   |
79 | ...                   '0'...'9' => {
   |                          ^^^ help: use `..=` for an inclusive range

warning: unnecessary parentheses around block return value
  --> coreutils/src/printf/tokenize/num_format/formatters/float_common.rs:26:13
   |
26 |             ((string_position - 1) - starting_position >= limit)
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
   |
   = note: `#[warn(unused_parens)]` on by default

warning: unnecessary parentheses around block return value
  --> coreutils/src/printf/tokenize/num_format/formatters/float_common.rs:32:13
   |
32 |             ((((string_position - 1) - starting_position) * 9) / 8 >= limit)
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses

warning: unnecessary parentheses around block return value
  --> coreutils/src/printf/tokenize/num_format/formatters/float_common.rs:34:13
   |
34 |             ((string_position - 1) - starting_position >= limit)
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses

warning: `...` range patterns are deprecated
  --> coreutils/src/printf/tokenize/num_format/formatters/float_common.rs:67:24
   |
67 |                 e @ '0'...'9' | e @ 'A'...'F' | e @ 'a'...'f' => {
   |                        ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
  --> coreutils/src/printf/tokenize/num_format/formatters/float_common.rs:67:40
   |
67 |                 e @ '0'...'9' | e @ 'A'...'F' | e @ 'a'...'f' => {
   |                                        ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
  --> coreutils/src/printf/tokenize/num_format/formatters/float_common.rs:67:56
   |
67 |                 e @ '0'...'9' | e @ 'A'...'F' | e @ 'a'...'f' => {
   |                                                        ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
  --> coreutils/src/printf/tokenize/num_format/formatters/float_common.rs:70:32
   |
70 | ...                   '0'...'9' => {}
   |                          ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
   --> coreutils/src/printf/tokenize/num_format/formatters/float_common.rs:191:16
    |
191 |             '5'...'9' => {
    |                ^^^ help: use `..=` for an inclusive range

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/printf/tokenize/num_format/formatters/base_conv/mod.rs:243:49
    |
243 | pub fn str_to_arrnum(src: &str, radix_def_src: &RadixDef) -> Vec<u8> {
    |                                                 ^^^^^^^^ help: use `dyn`: `dyn RadixDef`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/printf/tokenize/num_format/formatters/base_conv/mod.rs:256:54
    |
256 | pub fn arrnum_to_str(src: &Vec<u8>, radix_def_dest: &RadixDef) -> String {
    |                                                      ^^^^^^^^ help: use `dyn`: `dyn RadixDef`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/printf/tokenize/num_format/formatters/base_conv/mod.rs:270:49
    |
270 | pub fn base_conv_str(src: &str, radix_def_src: &RadixDef, radix_def_dest: &RadixDef) -> String {
    |                                                 ^^^^^^^^ help: use `dyn`: `dyn RadixDef`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/printf/tokenize/num_format/formatters/base_conv/mod.rs:270:76
    |
270 | pub fn base_conv_str(src: &str, radix_def_src: &RadixDef, radix_def_dest: &RadixDef) -> String {
    |                                                                            ^^^^^^^^ help: use `dyn`: `dyn RadixDef`

warning: `...` range patterns are deprecated
   --> coreutils/src/printf/tokenize/num_format/formatters/base_conv/mod.rs:297:16
    |
297 |             '0'...'9' => Some(c as u8 - ZERO_ASC),
    |                ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
   --> coreutils/src/printf/tokenize/num_format/formatters/base_conv/mod.rs:303:14
    |
303 |             0...9 => Some((ZERO_ASC + u) as char),
    |              ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
   --> coreutils/src/printf/tokenize/num_format/formatters/base_conv/mod.rs:315:16
    |
315 |             '0'...'9' => Some(c as u8 - ZERO_ASC),
    |                ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
   --> coreutils/src/printf/tokenize/num_format/formatters/base_conv/mod.rs:316:16
    |
316 |             'A'...'F' => Some(c as u8 + 10 - UPPER_A_ASC),
    |                ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
   --> coreutils/src/printf/tokenize/num_format/formatters/base_conv/mod.rs:317:16
    |
317 |             'a'...'f' => Some(c as u8 + 10 - LOWER_A_ASC),
    |                ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
   --> coreutils/src/printf/tokenize/num_format/formatters/base_conv/mod.rs:323:14
    |
323 |             0...9 => Some((ZERO_ASC + u) as char),
    |              ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
   --> coreutils/src/printf/tokenize/num_format/formatters/base_conv/mod.rs:324:15
    |
324 |             10...15 => Some((UPPER_A_ASC + (u - 10)) as char),
    |               ^^^ help: use `..=` for an inclusive range

warning: `...` range patterns are deprecated
   --> coreutils/src/printf/tokenize/num_format/num_format.rs:146:24
    |
146 |                 e @ '0'...'9' => {
    |                        ^^^ help: use `..=` for an inclusive range

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/printf/tokenize/num_format/num_format.rs:213:19
    |
213 |     let fmtr: Box<Formatter> = match *field.field_type {
    |                   ^^^^^^^^^ help: use `dyn`: `dyn Formatter`

warning: 38 warnings emitted

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/unexpand/unexpand.rs:148:40
    |
148 | fn open(path: String) -> BufReader<Box<Read + 'static>> {
    |                                        ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Read + 'static`
    |
    = note: `#[warn(bare_trait_objects)]` on by default

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/unexpand/unexpand.rs:151:49
    |
151 |         BufReader::new(Box::new(stdin()) as Box<Read>)
    |                                                 ^^^^ help: use `dyn`: `dyn Read`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/unexpand/unexpand.rs:157:50
    |
157 |         BufReader::new(Box::new(file_buf) as Box<Read>)
    |                                                  ^^^^ help: use `dyn`: `dyn Read`

warning: 3 warnings emitted

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/shuf/shuf.rs:150:34
    |
150 |         Box::new(stdin()) as Box<Read>
    |                                  ^^^^ help: use `dyn`: `dyn Read`
    |
    = note: `#[warn(bare_trait_objects)]` on by default

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/shuf/shuf.rs:153:41
    |
153 |             Ok(f) => Box::new(f) as Box<Read>,
    |                                         ^^^^ help: use `dyn`: `dyn Read`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/shuf/shuf.rs:209:43
    |
209 |         None => Box::new(stdout()) as Box<Write>,
    |                                           ^^^^^ help: use `dyn`: `dyn Write`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/shuf/shuf.rs:211:41
    |
211 |             Ok(f) => Box::new(f) as Box<Write>,
    |                                         ^^^^^ help: use `dyn`: `dyn Write`

warning: 4 warnings emitted

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/tr/tr.rs:148:53
    |
148 | fn translate_input<T: SymbolTranslator>(input: &mut BufRead, output: &mut Write, translator: T) {
    |                                                     ^^^^^^^ help: use `dyn`: `dyn BufRead`
    |
    = note: `#[warn(bare_trait_objects)]` on by default

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/tr/tr.rs:148:75
    |
148 | fn translate_input<T: SymbolTranslator>(input: &mut BufRead, output: &mut Write, translator: T) {
    |                                                                           ^^^^^ help: use `dyn`: `dyn Write`

warning: 2 warnings emitted

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/sum/sum.rs:24:28
   |
24 | fn bsd_sum(mut reader: Box<Read>) -> (usize, u16) {
   |                            ^^^^ help: use `dyn`: `dyn Read`
   |
   = note: `#[warn(bare_trait_objects)]` on by default

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/sum/sum.rs:44:29
   |
44 | fn sysv_sum(mut reader: Box<Read>) -> (usize, u16) {
   |                             ^^^^ help: use `dyn`: `dyn Read`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/sum/sum.rs:67:35
   |
67 | fn open(name: &str) -> Result<Box<Read>> {
   |                                   ^^^^ help: use `dyn`: `dyn Read`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/sum/sum.rs:69:44
   |
69 |         "-" => Ok(Box::new(stdin()) as Box<Read>),
   |                                            ^^^^ help: use `dyn`: `dyn Read`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/sort/sort.rs:72:32
   |
72 |     lines: Lines<BufReader<Box<Read>>>,
   |                                ^^^^ help: use `dyn`: `dyn Read`
   |
   = note: `#[warn(bare_trait_objects)]` on by default

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/sort/sort.rs:112:60
    |
112 |     fn push_file(&mut self, mut lines: Lines<BufReader<Box<Read>>>) {
    |                                                            ^^^^ help: use `dyn`: `dyn Read`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/sort/sort.rs:316:47
    |
316 | fn exec_check_file(lines: Lines<BufReader<Box<Read>>>, settings: &Settings) -> i32 {
    |                                               ^^^^ help: use `dyn`: `dyn Read`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/sort/sort.rs:510:23
    |
510 |     let mut file: Box<Write> = match *outfile {
    |                       ^^^^^ help: use `dyn`: `dyn Write`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/tee/tee.rs:89:30
   |
89 |     let mut writers: Vec<Box<Write>> = options
   |                              ^^^^^ help: use `dyn`: `dyn Write`
   |
   = note: `#[warn(bare_trait_objects)]` on by default

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/tee/tee.rs:98:41
   |
98 |         inner: Box::new(stdin()) as Box<Read>,
   |                                         ^^^^ help: use `dyn`: `dyn Read`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/tee/tee.rs:107:44
    |
107 | fn open(name: String, append: bool) -> Box<Write> {
    |                                            ^^^^^ help: use `dyn`: `dyn Write`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/tee/tee.rs:109:20
    |
109 |     let inner: Box<Write> = {
    |                    ^^^^^ help: use `dyn`: `dyn Write`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/sum/sum.rs:72:35
   |
72 |             Ok(Box::new(f) as Box<Read>)
   |                                   ^^^^ help: use `dyn`: `dyn Read`

warning: 5 warnings emitted

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/sort/sort.rs:512:57
    |
512 |             Ok(f) => Box::new(BufWriter::new(f)) as Box<Write>,
    |                                                         ^^^^^ help: use `dyn`: `dyn Write`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/sort/sort.rs:518:43
    |
518 |         None => Box::new(stdout()) as Box<Write>,
    |                                           ^^^^^ help: use `dyn`: `dyn Write`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/sort/sort.rs:534:36
    |
534 | fn open(path: &str) -> Option<(Box<Read>, bool)> {
    |                                    ^^^^ help: use `dyn`: `dyn Read`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/sort/sort.rs:537:45
    |
537 |         return Some((Box::new(stdin) as Box<Read>, is_stdin_interactive()));
    |                                             ^^^^ help: use `dyn`: `dyn Read`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/sort/sort.rs:541:43
    |
541 |         Ok(f) => Some((Box::new(f) as Box<Read>, false)),
    |                                           ^^^^ help: use `dyn`: `dyn Read`

warning: 9 warnings emitted

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/tee/tee.rs:124:15
    |
124 |     }) as Box<Write>
    |               ^^^^^ help: use `dyn`: `dyn Write`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/tee/tee.rs:128:22
    |
128 |     writers: Vec<Box<Write>>,
    |                      ^^^^^ help: use `dyn`: `dyn Write`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/tee/tee.rs:148:16
    |
148 |     inner: Box<Write>,
    |                ^^^^^ help: use `dyn`: `dyn Write`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/tee/tee.rs:156:54
    |
156 |                 self.inner = Box::new(sink()) as Box<Write>;
    |                                                      ^^^^^ help: use `dyn`: `dyn Write`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/tee/tee.rs:167:54
    |
167 |                 self.inner = Box::new(sink()) as Box<Write>;
    |                                                      ^^^^^ help: use `dyn`: `dyn Write`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/tee/tee.rs:177:16
    |
177 |     inner: Box<Read>,
    |                ^^^^ help: use `dyn`: `dyn Read`

warning: 10 warnings emitted

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/fold/fold.rs:92:36
   |
92 |             &mut stdin_buf as &mut Read
   |                                    ^^^^ help: use `dyn`: `dyn Read`
   |
   = note: `#[warn(bare_trait_objects)]` on by default

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/fold/fold.rs:95:35
   |
95 |             &mut file_buf as &mut Read
   |                                   ^^^^ help: use `dyn`: `dyn Read`

warning: 2 warnings emitted

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/cksum/cksum.rs:58:21
   |
58 |     let mut rd: Box<Read> = match fname {
   |                     ^^^^ help: use `dyn`: `dyn Read`
   |
   = note: `#[warn(bare_trait_objects)]` on by default

warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
  --> coreutils/src/cksum/cksum.rs:49:14
   |
49 |     unsafe { mem::uninitialized() }
   |              ^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(deprecated)]` on by default

warning: 2 warnings emitted

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/od/multifilereader.rs:11:16
   |
11 |     Stream(Box<io::Read>),
   |                ^^^^^^^^ help: use `dyn`: `dyn io::Read`
   |
   = note: `#[warn(bare_trait_objects)]` on by default

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/od/multifilereader.rs:17:27
   |
17 |     curr_file: Option<Box<io::Read>>,
   |                           ^^^^^^^^ help: use `dyn`: `dyn io::Read`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/od/parse_inputs.rs:41:31
   |
41 | pub fn parse_inputs(matches: &CommandLineOpts) -> Result<CommandLineInputs, String> {
   |                               ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CommandLineOpts`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/od/output_info.rs:141:14
    |
141 |         sf: &TypeSizeInfo,
    |              ^^^^^^^^^^^^ help: use `dyn`: `dyn TypeSizeInfo`

warning: unused variable: `f`
  --> coreutils/src/od/prn_float.rs:29:26
   |
29 | pub fn format_item_flo32(f: f64) -> String {
   |                          ^ help: if this is intentional, prefix it with an underscore: `_f`
   |
   = note: `#[warn(unused_variables)]` on by default

warning: unused variable: `precision`
  --> coreutils/src/od/prn_float.rs:47:9
   |
47 |     let precision: usize = 8;
   |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_precision`

warning: function is never used: `format_flo32`
  --> coreutils/src/od/prn_float.rs:45:4
   |
45 | fn format_flo32(f: f32) -> String {
   |    ^^^^^^^^^^^^
   |
   = note: `#[warn(dead_code)]` on by default

warning: 7 warnings emitted

warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
   --> coreutils/src/tail/tail.rs:253:25
    |
253 |         write!(f, "{}", Error::description(self))
    |                         ^^^^^^^^^^^^^^^^^^
    |
    = note: `#[warn(deprecated)]` on by default

warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
   --> coreutils/src/tail/tail.rs:156:41
    |
156 |                     show_error!("{}", e.description());
    |                                         ^^^^^^^^^^^

warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
   --> coreutils/src/tail/tail.rs:171:45
    |
171 |                         show_error!("{}", e.description());
    |                                             ^^^^^^^^^^^

warning: unused variable: `pid`
  --> coreutils/src/tail/platform/sunrise.rs:19:28
   |
19 | pub fn supports_pid_checks(pid: self::Pid) -> bool {
   |                            ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
   |
   = note: `#[warn(unused_variables)]` on by default

warning: field is never read: `pid`
 --> coreutils/src/tail/platform/sunrise.rs:4:5
  |
4 |     pid: self::Pid,
  |     ^^^^^^^^^^^^^^
  |
  = note: `#[warn(dead_code)]` on by default

warning: 5 warnings emitted

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/expand/expand.rs:131:40
    |
131 | fn open(path: String) -> BufReader<Box<Read + 'static>> {
    |                                        ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Read + 'static`
    |
    = note: `#[warn(bare_trait_objects)]` on by default

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/expand/expand.rs:134:49
    |
134 |         BufReader::new(Box::new(stdin()) as Box<Read>)
    |                                                 ^^^^ help: use `dyn`: `dyn Read`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/expand/expand.rs:140:50
    |
140 |         BufReader::new(Box::new(file_buf) as Box<Read>)
    |                                                  ^^^^ help: use `dyn`: `dyn Read`

warning: 3 warnings emitted

warning: unused import: `std::mem`
  --> coreutils/src/cp/cp.rs:36:5
   |
36 | use std::mem;
   |     ^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` on by default

warning: unused import: `std::ffi::CString`
  --> coreutils/src/cp/cp.rs:37:5
   |
37 | use std::ffi::CString;
   |     ^^^^^^^^^^^^^^^^^

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:54:25
   |
54 | ) -> (&'static str, Box<Digest + 'static>, usize) {
   |                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Digest + 'static`
   |
   = note: `#[warn(bare_trait_objects)]` on by default

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:55:29
   |
55 |     let mut alg: Option<Box<Digest>> = None;
   |                             ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:59:57
   |
59 |         "md5sum" => ("MD5", Box::new(Md5::new()) as Box<Digest>, 128),
   |                                                         ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:60:60
   |
60 |         "sha1sum" => ("SHA1", Box::new(Sha1::new()) as Box<Digest>, 160),
   |                                                            ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:61:66
   |
61 |         "sha224sum" => ("SHA224", Box::new(Sha224::new()) as Box<Digest>, 224),
   |                                                                  ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:62:66
   |
62 |         "sha256sum" => ("SHA256", Box::new(Sha256::new()) as Box<Digest>, 256),
   |                                                                  ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:63:66
   |
63 |         "sha384sum" => ("SHA384", Box::new(Sha384::new()) as Box<Digest>, 384),
   |                                                                  ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:64:66
   |
64 |         "sha512sum" => ("SHA512", Box::new(Sha512::new()) as Box<Digest>, 512),
   |                                                                  ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:67:74
   |
67 |                 Ok(224) => ("SHA3-224", Box::new(Sha3_224::new()) as Box<Digest>, 224),
   |                                                                          ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:68:74
   |
68 |                 Ok(256) => ("SHA3-256", Box::new(Sha3_256::new()) as Box<Digest>, 256),
   |                                                                          ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:69:74
   |
69 |                 Ok(384) => ("SHA3-384", Box::new(Sha3_384::new()) as Box<Digest>, 384),
   |                                                                          ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:70:74
   |
70 |                 Ok(512) => ("SHA3-512", Box::new(Sha3_512::new()) as Box<Digest>, 512),
   |                                                                          ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:79:72
   |
79 |         "sha3-224sum" => ("SHA3-224", Box::new(Sha3_224::new()) as Box<Digest>, 224),
   |                                                                        ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:80:72
   |
80 |         "sha3-256sum" => ("SHA3-256", Box::new(Sha3_256::new()) as Box<Digest>, 256),
   |                                                                        ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:81:72
   |
81 |         "sha3-384sum" => ("SHA3-384", Box::new(Sha3_384::new()) as Box<Digest>, 384),
   |                                                                        ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:82:72
   |
82 |         "sha3-512sum" => ("SHA3-512", Box::new(Sha3_512::new()) as Box<Digest>, 512),
   |                                                                        ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:85:75
   |
85 |                 Ok(bits) => ("SHAKE128", Box::new(Shake128::new()) as Box<Digest>, bits),
   |                                                                           ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
  --> coreutils/src/hashsum/hashsum.rs:92:75
   |
92 |                 Ok(bits) => ("SHAKE256", Box::new(Shake256::new()) as Box<Digest>, bits),
   |                                                                           ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/hashsum/hashsum.rs:130:66
    |
130 | ...                   Box::new(Sha3_224::new()) as Box<Digest>,
    |                                                        ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/hashsum/hashsum.rs:135:66
    |
135 | ...                   Box::new(Sha3_256::new()) as Box<Digest>,
    |                                                        ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/hashsum/hashsum.rs:140:66
    |
140 | ...                   Box::new(Sha3_384::new()) as Box<Digest>,
    |                                                        ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/hashsum/hashsum.rs:145:66
    |
145 | ...                   Box::new(Sha3_512::new()) as Box<Digest>,
    |                                                        ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/hashsum/hashsum.rs:372:21
    |
372 |     mut digest: Box<Digest>,
    |                     ^^^^^^ help: use `dyn`: `dyn Digest`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/hashsum/hashsum.rs:392:40
    |
392 |             Box::new(stdin_buf) as Box<Read>
    |                                        ^^^^ help: use `dyn`: `dyn Read`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/hashsum/hashsum.rs:395:39
    |
395 |             Box::new(file_buf) as Box<Read>
    |                                       ^^^^ help: use `dyn`: `dyn Read`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/hashsum/hashsum.rs:443:65
    |
443 |                 let mut ckf = BufReader::new(Box::new(f) as Box<Read>);
    |                                                                 ^^^^ help: use `dyn`: `dyn Read`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/hashsum/hashsum.rs:485:22
    |
485 |     digest: &mut Box<Digest + 'a>,
    |                      ^^^^^^^^^^^ help: use `dyn`: `dyn Digest + 'a`

warning: 27 warnings emitted

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/date/date.rs:140:24
    |
140 |         let dates: Box<Iterator<Item = _>> = match settings.date_source {
    |                        ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item = _>`
    |
    = note: `#[warn(bare_trait_objects)]` on by default

warning: 1 warning emitted

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/ptx/ptx.rs:203:35
    |
203 |         let reader: BufReader<Box<Read>> = BufReader::new(if filename == "-" {
    |                                   ^^^^ help: use `dyn`: `dyn Read`
    |
    = note: `#[warn(bare_trait_objects)]` on by default

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/ptx/ptx.rs:473:35
    |
473 |     let mut writer: BufWriter<Box<Write>> = BufWriter::new(if output_filename == "-" {
    |                                   ^^^^^ help: use `dyn`: `dyn Write`

warning: 2 warnings emitted

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/join/join.rs:238:22
    |
238 |     lines: Lines<Box<BufRead + 'a>>,
    |                      ^^^^^^^^^^^^ help: use `dyn`: `dyn BufRead + 'a`
    |
    = note: `#[warn(bare_trait_objects)]` on by default

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/join/join.rs:254:43
    |
254 |             Box::new(stdin.lock()) as Box<BufRead>
    |                                           ^^^^^^^ help: use `dyn`: `dyn BufRead`

warning: trait objects without an explicit `dyn` are deprecated
   --> coreutils/src/join/join.rs:257:67
    |
257 |                 Ok(file) => Box::new(BufReader::new(file)) as Box<BufRead>,
    |                                                                   ^^^^^^^ help: use `dyn`: `dyn BufRead`

warning: 3 warnings emitted

warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
   --> coreutils/src/cp/cp.rs:61:1
    |
61  | / quick_error! {
62  | |     #[derive(Debug)]
63  | |     pub enum Error {
64  | |         /// Simple io::Error wrapper
...   |
101 | |     }
102 | | }
    | |_^
    |
    = note: `#[warn(deprecated)]` on by default
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
   --> coreutils/src/cp/cp.rs:61:1
    |
61  | / quick_error! {
62  | |     #[derive(Debug)]
63  | |     pub enum Error {
64  | |         /// Simple io::Error wrapper
...   |
101 | |     }
102 | | }
    | |_^
    |
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: unused variable: `hard_links`
   --> coreutils/src/cp/cp.rs:707:5
    |
707 |     hard_links: &mut Vec<(String, u64)>,
    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hard_links`
    |
    = note: `#[warn(unused_variables)]` on by default

warning: unused variable: `source`
   --> coreutils/src/cp/cp.rs:708:5
    |
708 |     source: &std::path::PathBuf,
    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`

warning: unused variable: `dest`
   --> coreutils/src/cp/cp.rs:709:5
    |
709 |     dest: std::path::PathBuf,
    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_dest`

warning: unused variable: `found_hard_link`
   --> coreutils/src/cp/cp.rs:710:5
    |
710 |     found_hard_link: &mut bool,
    |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_found_hard_link`

warning: unused variable: `source`
   --> coreutils/src/cp/cp.rs:988:17
    |
988 | fn symlink_file(source: &Path, dest: &Path, context: &str) -> CopyResult<()> {
    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`

warning: unused variable: `dest`
   --> coreutils/src/cp/cp.rs:988:32
    |
988 | fn symlink_file(source: &Path, dest: &Path, context: &str) -> CopyResult<()> {
    |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_dest`

warning: unused variable: `context`
   --> coreutils/src/cp/cp.rs:988:45
    |
988 | fn symlink_file(source: &Path, dest: &Path, context: &str) -> CopyResult<()> {
    |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`

warning: 11 warnings emitted

    Finished dev [unoptimized + debuginfo] target(s) in 11.58s
[cargo-make] INFO - Execute Command: "xargo" "build" "--target=i386-unknown-sunrise-user" "--package=df"
    Finished dev [unoptimized + debuginfo] target(s) in 2.37s
[cargo-make] INFO - Execute Command: "cargo" "install" "--force" "mkisofs-rs"
    Updating crates.io index
  Installing mkisofs-rs v0.1.1
   Compiling libc v0.2.105
   Compiling autocfg v1.0.1
   Compiling proc-macro2 v0.4.30
   Compiling unicode-xid v0.1.0
   Compiling syn v0.15.44
   Compiling unicode-segmentation v1.8.0
   Compiling unicode-width v0.1.9
   Compiling vec_map v0.8.2
   Compiling bitflags v1.3.2
   Compiling strsim v0.8.0
   Compiling ansi_term v0.11.0
   Compiling byteorder v1.4.3
   Compiling num-traits v0.2.14
   Compiling num-integer v0.1.44
   Compiling heck v0.3.3
   Compiling textwrap v0.11.0
   Compiling atty v0.2.14
   Compiling time v0.1.44
   Compiling clap v2.33.3
error[E0658]: `if` is not allowed in a `const fn`
  --> /Users/rkt/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-2.33.3/src/app/settings.rs:7:1
   |
7  | / bitflags! {
8  | |     struct Flags: u64 {
9  | |         const SC_NEGATE_REQS       = 1;
10 | |         const SC_REQUIRED          = 1 << 1;
...  |
51 | |     }
52 | | }
   | |_^
   |
   = note: see issue #49146 <https://github.com/rust-lang/rust/issues/49146> for more information
   = help: add `#![feature(const_if_match)]` to the crate attributes to enable
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0658]: `if` is not allowed in a `const fn`
  --> /Users/rkt/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-2.33.3/src/args/settings.rs:6:1
   |
6  | / bitflags! {
7  | |     struct Flags: u32 {
8  | |         const REQUIRED         = 1;
9  | |         const MULTIPLE         = 1 << 1;
...  |
28 | |     }
29 | | }
   | |_^
   |
   = note: see issue #49146 <https://github.com/rust-lang/rust/issues/49146> for more information
   = help: add `#![feature(const_if_match)]` to the crate attributes to enable
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

   Compiling quote v0.6.13
error: aborting due to 2 previous errors

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

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: failed to compile `mkisofs-rs v0.1.1`, intermediate artifacts can be found at `/var/folders/0r/c2d1114n61930j6hnv6t9dxr0000gq/T/cargo-installKEYuH6`

Caused by:
  build failed
[cargo-make] ERROR - Error while executing command, exit code: 101
[cargo-make] WARN - Build Failed.
⋊> ~/p/SunriseOS on master ◦                                            14:28:49
@roblabla
Copy link
Member

roblabla commented Oct 25, 2021

ugh. So here's what's going on: mkisofs-rs is being built without taking the lockfile into account (https://github.com/Thog/mkisofs-rs/blob/master/Cargo.lock). So it ends up building with a newer version of clap, which our pinned rust version does not support.

I think I know what to do to fix it. In the meantime, you can run cargo install --git https://github.com/Thog/mkisofs-rs --locked to install mkisofs-rs. Running cargo make qemu should then work.

Thanks for raising this issue!

@roblabla
Copy link
Member

This is related to #585.

@orklann
Copy link
Author

orklann commented Oct 25, 2021

ugh. So here's what's going on: mkisofs-rs is being built without taking the lockfile into account (https://github.com/Thog/mkisofs-rs/blob/master/Cargo.lock). So it ends up building with a newer version of clap, which our pinned rust version does not support.

I think I know what to do to fix it. In the meantime, you can run cargo install --git https://github.com/Thog/mkisofs-rs --locked to install mkisofs-rs. Running cargo make qemu should then work.

Thanks for raising this issue!

The build process goes on by using your fix, but there is another error while running qemu.

Here is the log.

[cargo-make] INFO - Execute Command: "qemu-system-i386" "-boot" "d" "-cdrom" "os.iso" "-serial" "mon:stdio" "-vnc" ":0" "-no-reboot" "-drive" "id=diskA,file=DISK.img,format=raw,if=none" "-device" "ahci,id=ahci" "-device" "ide-drive,drive=diskA,bus=ahci.0" "-machine" "q35" "-m" "512M" "-d" "cpu_reset"
CPU Reset (CPU 0)
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000000
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000000 [-------] CPL=0 II=0 A20=0 SMM=0 HLT=0
ES =0000 00000000 00000000 00000000
CS =0000 00000000 00000000 00000000
SS =0000 00000000 00000000 00000000
DS =0000 00000000 00000000 00000000
FS =0000 00000000 00000000 00000000
GS =0000 00000000 00000000 00000000
LDT=0000 00000000 00000000 00000000
TR =0000 00000000 00000000 00000000
GDT=     00000000 00000000
IDT=     00000000 00000000
CR0=00000000 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=00000000 DR7=00000000
CCS=00000000 CCD=00000000 CCO=DYNAMIC
EFER=0000000000000000
FCW=0000 FSW=0000 [ST=0] FTW=ff MXCSR=00000000
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=0000000000qemu-system-i386: -device ide-drive,drive=diskA,bus=ahci.0: 'ide-drive' is not a valid device model name
[cargo-make] ERROR - Error while executing command, exit code: 1
[cargo-make] WARN - Build Failed.

And my qemu version

~/p/SunriseOS on master ◦ qemu-system-i386  --version               
QEMU emulator version 6.1.0
Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers

@orklann
Copy link
Author

orklann commented Oct 25, 2021

This diff fixed the qemu error:

diff --git a/Makefile.toml b/Makefile.toml
index ee43cc80..ae7bc2e9 100644
--- a/Makefile.toml
+++ b/Makefile.toml
@@ -31,7 +31,7 @@ QEMU_COMMON_FLAGS = """\
     -vnc ${VNC_PORT} \
     -no-reboot \
     -drive id=diskA,file=DISK.img,format=raw,if=none -device ahci,id=ahci \
-    -device ide-drive,drive=diskA,bus=ahci.0 \
+    -device ide-hd,drive=diskA,bus=ahci.0 \
     -machine q35 \
     -m 512M"""

And finally qemu is running, and I need to connect to VNC port to access the shell?

@orklann
Copy link
Author

orklann commented Oct 25, 2021

What's the login name and password? I tried root & root, but failed.

@roblabla
Copy link
Member

What's the login name and password? I tried root & root, but failed.

roblabla & test123. Logins are stored in https://github.com/sunriseos/SunriseOS/blob/master/external/filesystem/disk_template/etc/passwd (you can modify it at runtime to with adduser). Note that passwords are stored super unsecurely (it's just storing a sha1 hash of the password, no salting or anything, so it's vulnerable to rainbow tables).

@orklann
Copy link
Author

orklann commented Oct 26, 2021

thank you, login success.

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

Successfully merging a pull request may close this issue.

2 participants