[GH-ISSUE #88] Errors when running on linux #69

Closed
opened 2026-02-28 14:30:22 +03:00 by kerem · 2 comments
Owner

Originally created by @Uzay-G on GitHub (Aug 17, 2021).
Original GitHub issue: https://github.com/jpochyla/psst/issues/88

I followed the readme process and encountered some errors.

I pasted the output below, with comments I tried to delimit with ** symbols. Basically, I try to build it; it installs packages, emits a few warnings, compiles some packages, and then a few errors pop out.

This is on Manjaro, an Arch-flavored linux distribution.

 ~/D/t/psst    git submodule update --recursive --init                                                    mar. 17 août 2021 04:55:14
Submodule 'minivorbis-sys/minivorbis' (https://github.com/edubart/minivorbis.git) registered for path 'minivorbis-sys/minivorbis'
Cloning into '/home/halcyon/Downloads/tmp/psst/minivorbis-sys/minivorbis'...
Submodule path 'minivorbis-sys/minivorbis': checked out '4e40a167726effb0ae9d3065452a9ee2bb80a84f'
 ~/D/t/psst    cargo build --release                                                              700ms  mar. 17 août 2021 04:55:21

warning: /home/halcyon/Downloads/tmp/psst/Cargo.toml: unused manifest key: profile.dev.split-debuginfo
    Updating crates.io index
**<abbreviated for clarity, installs everything>**
**<warnings here, not the problem I'm talking about but in case it's related:>**
warning: In file included from ./minivorbis.c:6:
warning: ./minivorbis/minivorbis.h: In function ‘vorbis_analysis_buffer’:
warning: ./minivorbis/minivorbis.h:8869:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
warning:  8869 |   if(b->header)_ogg_free(b->header);b->header=NULL;
warning:       |   ^~
warning: ./minivorbis/minivorbis.h:8869:37: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
warning:  8869 |   if(b->header)_ogg_free(b->header);b->header=NULL;
warning:       |                                     ^
warning: ./minivorbis/minivorbis.h:8870:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
warning:  8870 |   if(b->header1)_ogg_free(b->header1);b->header1=NULL;
warning:       |   ^~
warning: ./minivorbis/minivorbis.h:8870:39: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
warning:  8870 |   if(b->header1)_ogg_free(b->header1);b->header1=NULL;
warning:       |                                       ^
warning: ./minivorbis/minivorbis.h:8871:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
warning:  8871 |   if(b->header2)_ogg_free(b->header2);b->header2=NULL;
warning:       |   ^~
warning: ./minivorbis/minivorbis.h:8871:39: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
warning:  8871 |   if(b->header2)_ogg_free(b->header2);b->header2=NULL;
warning:       |                                       ^
warning: ./minivorbis/minivorbis.h: In function ‘vorbis_lpc_from_data’:
warning: ./minivorbis/minivorbis.h:12561:12: warning: ‘*aut’ may be used uninitialized [-Wmaybe-uninitialized]
warning: 12561 |   error=aut[0] * (1. + 1e-10);
warning:       |         ~~~^~~
warning: ./minivorbis/minivorbis.h: In function ‘_vp_noisemask’:
warning: ./minivorbis/minivorbis.h:13654:3: warning: ‘work’ may be used uninitialized [-Wmaybe-uninitialized]
warning: 13654 |   bark_noise_hybridmp(n,p->bark,work,logmask,0.,
warning:       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
warning: 13655 |                       p->vi->noisewindowfixed);
warning:       |                       ~~~~~~~~~~~~~~~~~~~~~~~~
warning: ./minivorbis/minivorbis.h:13483:13: note: by argument 3 of type ‘const float *’ to ‘bark_noise_hybridmp’ declared here
warning: 13483 | static void bark_noise_hybridmp(int n,const long *b,
warning:       |             ^~~~~~~~~~~~~~~~~~~
**<here tons of messages about how it's compiling xyz packages>**
**<and finally the errors:>**
error[E0277]: `[u8; 20]` is not an iterator
  --> psst-core/src/audio_key.rs:52:20
   |
52 |         buf.extend(file.0);
   |                    ^^^^^^
   |                    |
   |                    expected an implementor of trait `IntoIterator`
   |                    help: consider borrowing here: `&file.0`
   |
   = note: the trait bound `[u8; 20]: IntoIterator` is not satisfied
   = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 20]`

error[E0277]: `[u8; 16]` is not an iterator
  --> psst-core/src/audio_key.rs:53:20
   |
53 |         buf.extend(track.to_raw());
   |                    ^^^^^^^^^^^^^^
   |                    |
   |                    expected an implementor of trait `IntoIterator`
   |                    help: consider borrowing here: `&track.to_raw()`
   |
   = note: the trait bound `[u8; 16]: IntoIterator` is not satisfied
   = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 16]`

error[E0277]: `[u8; 4]` is not an iterator
  --> psst-core/src/audio_key.rs:54:20
   |
54 |         buf.extend(seq.to_be_bytes());
   |                    ^^^^^^^^^^^^^^^^^
   |                    |
   |                    expected an implementor of trait `IntoIterator`
   |                    help: consider borrowing here: `&seq.to_be_bytes()`
   |
   = note: the trait bound `[u8; 4]: IntoIterator` is not satisfied
   = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 4]`

error[E0277]: `[u8; 2]` is not an iterator
  --> psst-core/src/audio_key.rs:55:20
   |
55 |         buf.extend(0_u16.to_be_bytes());
   |                    ^^^^^^^^^^^^^^^^^^^
   |                    |
   |                    expected an implementor of trait `IntoIterator`
   |                    help: consider borrowing here: `&0_u16.to_be_bytes()`
   |
   = note: the trait bound `[u8; 2]: IntoIterator` is not satisfied
   = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 2]`

error[E0277]: `[u8; 4]` is not an iterator
   --> psst-core/src/connection/mod.rs:279:16
    |
279 |     buf.extend(size_u32.to_be_bytes());
    |                ^^^^^^^^^^^^^^^^^^^^^^
    |                |
    |                expected an implementor of trait `IntoIterator`
    |                help: consider borrowing here: `&size_u32.to_be_bytes()`
    |
    = note: the trait bound `[u8; 4]: IntoIterator` is not satisfied
    = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 4]`

error[E0277]: `[u8; 2]` is not an iterator
  --> psst-core/src/connection/shannon_codec.rs:71:20
   |
71 |         buf.extend(len_u16.to_be_bytes());
   |                    ^^^^^^^^^^^^^^^^^^^^^
   |                    |
   |                    expected an implementor of trait `IntoIterator`
   |                    help: consider borrowing here: `&len_u16.to_be_bytes()`
   |
   = note: the trait bound `[u8; 2]: IntoIterator` is not satisfied
   = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 2]`

error[E0277]: `[u8; 4]` is not an iterator
  --> psst-core/src/connection/shannon_codec.rs:82:20
   |
82 |         buf.extend(mac);
   |                    ^^^
   |                    |
   |                    expected an implementor of trait `IntoIterator`
   |                    help: consider borrowing here: `&mac`
   |
   = note: the trait bound `[u8; 4]: IntoIterator` is not satisfied
   = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 4]`

error[E0277]: `[u8; 2]` is not an iterator
   --> psst-core/src/mercury.rs:181:20
    |
181 |         buf.extend(8_u16.to_be_bytes()); // Sequence length.
    |                    ^^^^^^^^^^^^^^^^^^^
    |                    |
    |                    expected an implementor of trait `IntoIterator`
    |                    help: consider borrowing here: `&8_u16.to_be_bytes()`
    |
    = note: the trait bound `[u8; 2]: IntoIterator` is not satisfied
    = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 2]`

error[E0277]: `[u8; 8]` is not an iterator
   --> psst-core/src/mercury.rs:182:20
    |
182 |         buf.extend(self.seq.to_be_bytes());
    |                    ^^^^^^^^^^^^^^^^^^^^^^
    |                    |
    |                    expected an implementor of trait `IntoIterator`
    |                    help: consider borrowing here: `&self.seq.to_be_bytes()`
    |
    = note: the trait bound `[u8; 8]: IntoIterator` is not satisfied
    = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 8]`

error[E0277]: `[u8; 2]` is not an iterator
   --> psst-core/src/mercury.rs:184:20
    |
184 |         buf.extend(self.count.to_be_bytes());
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^
    |                    |
    |                    expected an implementor of trait `IntoIterator`
    |                    help: consider borrowing here: `&self.count.to_be_bytes()`
    |
    = note: the trait bound `[u8; 2]: IntoIterator` is not satisfied
    = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 2]`

error[E0277]: `[u8; 2]` is not an iterator
   --> psst-core/src/mercury.rs:187:24
    |
187 |             buf.extend(len.to_be_bytes());
    |                        ^^^^^^^^^^^^^^^^^
    |                        |
    |                        expected an implementor of trait `IntoIterator`
    |                        help: consider borrowing here: `&len.to_be_bytes()`
    |
    = note: the trait bound `[u8; 2]: IntoIterator` is not satisfied
    = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 2]`

error[E0658]: use of unstable library feature 'seek_convenience'
   --> psst-core/src/stream_storage.rs:145:36
    |
145 |         let position = self.writer.stream_position()?;
    |                                    ^^^^^^^^^^^^^^^
    |
    = note: see issue #59359 <https://github.com/rust-lang/rust/issues/59359> for more information

error[E0658]: use of unstable library feature 'seek_convenience'
   --> psst-core/src/stream_storage.rs:167:36
    |
167 |         let position = self.reader.stream_position()?;
    |                                    ^^^^^^^^^^^^^^^
    |
    = note: see issue #59359 <https://github.com/rust-lang/rust/issues/59359> for more information

error: aborting due to 13 previous errors

Originally created by @Uzay-G on GitHub (Aug 17, 2021). Original GitHub issue: https://github.com/jpochyla/psst/issues/88 I followed the readme process and encountered some errors. I pasted the output below, with comments I tried to delimit with `**` symbols. Basically, I try to build it; it installs packages, emits a few warnings, compiles some packages, and then a few errors pop out. This is on Manjaro, an Arch-flavored linux distribution. ```bash ~/D/t/psst    git submodule update --recursive --init mar. 17 août 2021 04:55:14 Submodule 'minivorbis-sys/minivorbis' (https://github.com/edubart/minivorbis.git) registered for path 'minivorbis-sys/minivorbis' Cloning into '/home/halcyon/Downloads/tmp/psst/minivorbis-sys/minivorbis'... Submodule path 'minivorbis-sys/minivorbis': checked out '4e40a167726effb0ae9d3065452a9ee2bb80a84f' ~/D/t/psst    cargo build --release 700ms  mar. 17 août 2021 04:55:21 warning: /home/halcyon/Downloads/tmp/psst/Cargo.toml: unused manifest key: profile.dev.split-debuginfo Updating crates.io index **<abbreviated for clarity, installs everything>** **<warnings here, not the problem I'm talking about but in case it's related:>** warning: In file included from ./minivorbis.c:6: warning: ./minivorbis/minivorbis.h: In function ‘vorbis_analysis_buffer’: warning: ./minivorbis/minivorbis.h:8869:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] warning: 8869 | if(b->header)_ogg_free(b->header);b->header=NULL; warning: | ^~ warning: ./minivorbis/minivorbis.h:8869:37: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ warning: 8869 | if(b->header)_ogg_free(b->header);b->header=NULL; warning: | ^ warning: ./minivorbis/minivorbis.h:8870:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] warning: 8870 | if(b->header1)_ogg_free(b->header1);b->header1=NULL; warning: | ^~ warning: ./minivorbis/minivorbis.h:8870:39: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ warning: 8870 | if(b->header1)_ogg_free(b->header1);b->header1=NULL; warning: | ^ warning: ./minivorbis/minivorbis.h:8871:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] warning: 8871 | if(b->header2)_ogg_free(b->header2);b->header2=NULL; warning: | ^~ warning: ./minivorbis/minivorbis.h:8871:39: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ warning: 8871 | if(b->header2)_ogg_free(b->header2);b->header2=NULL; warning: | ^ warning: ./minivorbis/minivorbis.h: In function ‘vorbis_lpc_from_data’: warning: ./minivorbis/minivorbis.h:12561:12: warning: ‘*aut’ may be used uninitialized [-Wmaybe-uninitialized] warning: 12561 | error=aut[0] * (1. + 1e-10); warning: | ~~~^~~ warning: ./minivorbis/minivorbis.h: In function ‘_vp_noisemask’: warning: ./minivorbis/minivorbis.h:13654:3: warning: ‘work’ may be used uninitialized [-Wmaybe-uninitialized] warning: 13654 | bark_noise_hybridmp(n,p->bark,work,logmask,0., warning: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ warning: 13655 | p->vi->noisewindowfixed); warning: | ~~~~~~~~~~~~~~~~~~~~~~~~ warning: ./minivorbis/minivorbis.h:13483:13: note: by argument 3 of type ‘const float *’ to ‘bark_noise_hybridmp’ declared here warning: 13483 | static void bark_noise_hybridmp(int n,const long *b, warning: | ^~~~~~~~~~~~~~~~~~~ **<here tons of messages about how it's compiling xyz packages>** **<and finally the errors:>** error[E0277]: `[u8; 20]` is not an iterator --> psst-core/src/audio_key.rs:52:20 | 52 | buf.extend(file.0); | ^^^^^^ | | | expected an implementor of trait `IntoIterator` | help: consider borrowing here: `&file.0` | = note: the trait bound `[u8; 20]: IntoIterator` is not satisfied = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 20]` error[E0277]: `[u8; 16]` is not an iterator --> psst-core/src/audio_key.rs:53:20 | 53 | buf.extend(track.to_raw()); | ^^^^^^^^^^^^^^ | | | expected an implementor of trait `IntoIterator` | help: consider borrowing here: `&track.to_raw()` | = note: the trait bound `[u8; 16]: IntoIterator` is not satisfied = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 16]` error[E0277]: `[u8; 4]` is not an iterator --> psst-core/src/audio_key.rs:54:20 | 54 | buf.extend(seq.to_be_bytes()); | ^^^^^^^^^^^^^^^^^ | | | expected an implementor of trait `IntoIterator` | help: consider borrowing here: `&seq.to_be_bytes()` | = note: the trait bound `[u8; 4]: IntoIterator` is not satisfied = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 4]` error[E0277]: `[u8; 2]` is not an iterator --> psst-core/src/audio_key.rs:55:20 | 55 | buf.extend(0_u16.to_be_bytes()); | ^^^^^^^^^^^^^^^^^^^ | | | expected an implementor of trait `IntoIterator` | help: consider borrowing here: `&0_u16.to_be_bytes()` | = note: the trait bound `[u8; 2]: IntoIterator` is not satisfied = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 2]` error[E0277]: `[u8; 4]` is not an iterator --> psst-core/src/connection/mod.rs:279:16 | 279 | buf.extend(size_u32.to_be_bytes()); | ^^^^^^^^^^^^^^^^^^^^^^ | | | expected an implementor of trait `IntoIterator` | help: consider borrowing here: `&size_u32.to_be_bytes()` | = note: the trait bound `[u8; 4]: IntoIterator` is not satisfied = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 4]` error[E0277]: `[u8; 2]` is not an iterator --> psst-core/src/connection/shannon_codec.rs:71:20 | 71 | buf.extend(len_u16.to_be_bytes()); | ^^^^^^^^^^^^^^^^^^^^^ | | | expected an implementor of trait `IntoIterator` | help: consider borrowing here: `&len_u16.to_be_bytes()` | = note: the trait bound `[u8; 2]: IntoIterator` is not satisfied = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 2]` error[E0277]: `[u8; 4]` is not an iterator --> psst-core/src/connection/shannon_codec.rs:82:20 | 82 | buf.extend(mac); | ^^^ | | | expected an implementor of trait `IntoIterator` | help: consider borrowing here: `&mac` | = note: the trait bound `[u8; 4]: IntoIterator` is not satisfied = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 4]` error[E0277]: `[u8; 2]` is not an iterator --> psst-core/src/mercury.rs:181:20 | 181 | buf.extend(8_u16.to_be_bytes()); // Sequence length. | ^^^^^^^^^^^^^^^^^^^ | | | expected an implementor of trait `IntoIterator` | help: consider borrowing here: `&8_u16.to_be_bytes()` | = note: the trait bound `[u8; 2]: IntoIterator` is not satisfied = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 2]` error[E0277]: `[u8; 8]` is not an iterator --> psst-core/src/mercury.rs:182:20 | 182 | buf.extend(self.seq.to_be_bytes()); | ^^^^^^^^^^^^^^^^^^^^^^ | | | expected an implementor of trait `IntoIterator` | help: consider borrowing here: `&self.seq.to_be_bytes()` | = note: the trait bound `[u8; 8]: IntoIterator` is not satisfied = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 8]` error[E0277]: `[u8; 2]` is not an iterator --> psst-core/src/mercury.rs:184:20 | 184 | buf.extend(self.count.to_be_bytes()); | ^^^^^^^^^^^^^^^^^^^^^^^^ | | | expected an implementor of trait `IntoIterator` | help: consider borrowing here: `&self.count.to_be_bytes()` | = note: the trait bound `[u8; 2]: IntoIterator` is not satisfied = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 2]` error[E0277]: `[u8; 2]` is not an iterator --> psst-core/src/mercury.rs:187:24 | 187 | buf.extend(len.to_be_bytes()); | ^^^^^^^^^^^^^^^^^ | | | expected an implementor of trait `IntoIterator` | help: consider borrowing here: `&len.to_be_bytes()` | = note: the trait bound `[u8; 2]: IntoIterator` is not satisfied = note: required because of the requirements on the impl of `IntoIterator` for `[u8; 2]` error[E0658]: use of unstable library feature 'seek_convenience' --> psst-core/src/stream_storage.rs:145:36 | 145 | let position = self.writer.stream_position()?; | ^^^^^^^^^^^^^^^ | = note: see issue #59359 <https://github.com/rust-lang/rust/issues/59359> for more information error[E0658]: use of unstable library feature 'seek_convenience' --> psst-core/src/stream_storage.rs:167:36 | 167 | let position = self.reader.stream_position()?; | ^^^^^^^^^^^^^^^ | = note: see issue #59359 <https://github.com/rust-lang/rust/issues/59359> for more information error: aborting due to 13 previous errors ```
kerem closed this issue 2026-02-28 14:30:23 +03:00
Author
Owner

@leokhachatorians commented on GitHub (Aug 17, 2021):

I fixed this issue myself by just simply running rustup update

<!-- gh-comment-id:900016201 --> @leokhachatorians commented on GitHub (Aug 17, 2021): I fixed this issue myself by just simply running `rustup update`
Author
Owner

@jpochyla commented on GitHub (Aug 18, 2021):

Glad you got it working! It'd be indeed a good idea to document the minimal Rust version we require.

<!-- gh-comment-id:900887039 --> @jpochyla commented on GitHub (Aug 18, 2021): Glad you got it working! It'd be indeed a good idea to document the minimal Rust version we require.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/psst#69
No description provided.