iTXTech / mcl-installer

MCL一键安装工具
GNU Affero General Public License v3.0
351 stars 35 forks source link

Debian aarch64 Segmentation fault && 构建失败 #17

Open Cat-L opened 3 years ago

Cat-L commented 3 years ago

(base) root@raspbian:/home/Mirai# ./mcl-installer-2827601-linux-aarch64 Segmentation fault (base) root@raspbian:/home/Mirai# uname -a Linux raspbian 5.10.42-Release-OPENFANS+20210609-v8 #1 SMP PREEMPT Wed Jun 9 14:11:02 CST 2021 aarch64 GNU/Linux

Cat-L commented 3 years ago
(base) root@raspbian:/home/Mirai/mcl-installer# cargo build --features native-tls --release Compiling proc-macro2 v1.0.24 Compiling unicode-xid v0.2.1 Compiling syn v1.0.60 Compiling autocfg v1.0.1 Compiling cfg-if v1.0.0 Compiling libc v0.2.93 Compiling log v0.4.14 Compiling pin-project-lite v0.2.4 Compiling cc v1.0.66 Compiling pkg-config v0.3.19 Compiling lazy_static v1.4.0 Compiling bytes v1.0.1 Compiling memchr v2.3.4 Compiling itoa v0.4.7 Compiling pin-project-internal v0.4.27 Compiling bitflags v1.2.1 Compiling futures-core v0.3.12 Compiling matches v0.1.8 Compiling foreign-types-shared v0.1.1 Compiling serde_derive v1.0.123 Compiling fnv v1.0.7 Compiling openssl v0.10.32 Compiling hashbrown v0.9.1 Compiling serde v1.0.123 Compiling futures-task v0.3.12 Compiling pin-utils v0.1.0 Compiling native-tls v0.2.7 Compiling futures-sink v0.3.12 Compiling ryu v1.0.5 Compiling tinyvec_macros v0.1.0 Compiling httparse v1.3.5 Compiling try-lock v0.2.3 Compiling crc32fast v1.2.1 Compiling percent-encoding v2.1.0 Compiling openssl-probe v0.1.2 Compiling slab v0.4.2 Compiling adler32 v1.2.0 Compiling serde_json v1.0.62 Compiling httpdate v0.3.2 Compiling tower-service v0.3.1 Compiling encoding_rs v0.8.28 Compiling cfg-if v0.1.10 Compiling mime v0.3.16 Compiling mcl-installer v1.0.0 (/home/Mirai/mcl-installer) Compiling ipnet v2.3.0 Compiling byteorder v1.4.2 Compiling base64 v0.13.0 Compiling tracing-core v0.1.17 Compiling tokio v1.2.0 Compiling indexmap v1.6.1 Compiling futures-channel v0.3.12 Compiling unicode-bidi v0.3.4 Compiling foreign-types v0.3.2 Compiling http v0.2.3 Compiling futures-util v0.3.12 Compiling tinyvec v1.1.1 Compiling form_urlencoded v1.0.0 Compiling miniz_oxide v0.3.7 Compiling openssl-sys v0.9.60 Compiling tracing v0.1.23 Compiling unicode-normalization v0.1.17 Compiling http-body v0.4.0 Compiling quote v1.0.9 Compiling want v0.3.0 Compiling mio v0.7.7 Compiling num_cpus v1.13.0 Compiling socket2 v0.3.19 Compiling flate2 v1.0.14 Compiling idna v0.2.1 Compiling url v2.2.0 Compiling tokio-macros v1.1.0 Compiling pin-project-internal v1.0.5 Compiling thiserror-impl v1.0.23 error: unexpected self parameter in function --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.2.0/src/net/tcp/stream.rs:627:40 627 pub fn try_read_buf(&self, buf: &mut B) -> io::Result { ^^^^^ not valid as function parameter
= note: `self` is only valid as the first parameter of an associated function

error: expected one of async, const, crate, default, extern, fn, pub, type, or unsafe, found `#[doc = r" Try to read data from the stream into the provided buffer, advancing the"]

[doc = r" buffer's internal cursor, returning how many bytes were read."]

[doc = r""]

[doc =

r" Receives any pending data from the socket but does not wait for new data"]

[doc = r" to arrive. On success, returns the number of bytes read. Because"]

[doc =

r" try_read_buf() is non-blocking, the buffer does not have to be stored by"]

[doc = r" the async task and can exist entirely on the stack."]

[doc = r""]

[doc =

r" Usually, [readable()] or [ready()] is used with this function."]

[doc = r""]

[doc = r" [readable()]: TcpStream::readable()"]

[doc = r" [ready()]: TcpStream::ready()"]

[doc = r""]

[doc = r" # Return"]

[doc = r""]

[doc =

r" If data is successfully read, Ok(n) is returned, where n is the"]

[doc =

r" number of bytes read. Ok(0) indicates the stream's read half is closed"]

[doc =

r" and will no longer yield data. If the stream is not ready to read data"]

[doc = r" Err(io::ErrorKind::WouldBlock) is returned."]

[doc = r""]

[doc = r" # Examples"]

[doc = r""]

[doc = r" ```no_run"]

[doc = r" use tokio::net::TcpStream;"]

[doc = r" use std::error::Error;"]

[doc = r" use std::io;"]

[doc = r""]

[doc = r" #[tokio::main]"]

[doc = r" async fn main() -> Result<(), Box> {"]

[doc = r" // Connect to a peer"]

[doc = r#" let stream = TcpStream::connect("127.0.0.1:8080").await?;"#]

[doc = r""]

[doc = r" loop {"]

[doc = r" // Wait for the socket to be readable"]

[doc = r" stream.readable().await?;"]

[doc = r""]

[doc = r" let mut buf = Vec::with_capacity(4096);"]

[doc = r""]

[doc =

r" // Try to read data, this may still fail with WouldBlock"]

[doc = r" // if the readiness event is a false positive."]

[doc = r" match stream.try_read_buf(&mut buf) {"]

[doc = r" Ok(0) => break,"]

[doc = r" Ok(n) => {"]

[doc = r#" println!("read {} bytes", n);"#]

[doc = r" }"]

[doc =

r" Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {"]

[doc = r" continue;"]

[doc = r" }"]

[doc = r" Err(e) => {"]

[doc = r" return Err(e.into());"]

[doc = r" }"]

[doc = r" }"]

[doc = r" }"]

[doc = r""]

[doc = r" Ok(())"]

[doc = r" }"]

[doc = r" ```"]

pub fn try_read_buf(self: (/ERROR/), buf: &mut B) -> io::Result { self.io.registration().try_io(Interest::READABLE, { use std::io::Read; let dst = buf.chunkmut(); let dst = unsafe { &mut (dst as mut as mut [std::mem::MaybeUninit] as mut [u8]) }; let n = (&*self.io).read(dst)?; unsafe { buf.advance_mut(n); } Ok(n) }) }` --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.2.0/src/macros/cfg.rs:132:13
131 #[cfg_attr(docsrs, doc(cfg(feature = "io-util")))]
- expected one of 9 possible tokens
132 $item
^^^^^ unexpected token

::: /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.2.0/src/net/tcp/stream.rs:569:5 | 569 | / cfg_ioutil! { 570 | | /// Try to read data from the stream into the provided buffer, advancing the 571 | | /// buffer's internal cursor, returning how many bytes were read. 572 | | /// ... | 645 | | } 646 | | } | |____- in this macro invocation

error: aborting due to 2 previous errors

error: could not compile tokio. warning: build failed, waiting for other jobs to finish... error: build failed (base) root@raspbian:/home/Mirai/mcl-installer# uname -a Linux raspbian 5.10.42-Release-OPENFANS+20210609-v8 #1 SMP PREEMPT Wed Jun 9 14:11:02 CST 2021 aarch64 GNU/Linux (base) root@raspbian:/home/Mirai/mcl-installer#

Cat-L commented 3 years ago
(base) root@raspbian:/home/Mirai/mcl-installer# cargo build --features rustls --release Compiling once_cell v1.5.2 Compiling untrusted v0.7.1 Compiling spin v0.5.2 Compiling proc-macro-hack v0.5.19 Compiling proc-macro-nested v0.1.7 Compiling mcl-installer v1.0.0 (/home/Mirai/mcl-installer) Compiling ring v0.16.20 Compiling futures-task v0.3.12 Compiling tokio v1.2.0 Compiling pin-project v0.4.27 Compiling pin-project v1.0.5 Compiling serde v1.0.123 Compiling thiserror v1.0.23 error: unexpected self parameter in function --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.2.0/src/net/tcp/stream.rs:627:40 627 pub fn try_read_buf(&self, buf: &mut B) -> io::Result { ^^^^^ not valid as function parameter
= note: `self` is only valid as the first parameter of an associated function

error: expected one of async, const, crate, default, extern, fn, pub, type, or unsafe, found `#[doc = r" Try to read data from the stream into the provided buffer, advancing the"]

[doc = r" buffer's internal cursor, returning how many bytes were read."]

[doc = r""]

[doc =

r" Receives any pending data from the socket but does not wait for new data"]

[doc = r" to arrive. On success, returns the number of bytes read. Because"]

[doc =

r" try_read_buf() is non-blocking, the buffer does not have to be stored by"]

[doc = r" the async task and can exist entirely on the stack."]

[doc = r""]

[doc =

r" Usually, [readable()] or [ready()] is used with this function."]

[doc = r""]

[doc = r" [readable()]: TcpStream::readable()"]

[doc = r" [ready()]: TcpStream::ready()"]

[doc = r""]

[doc = r" # Return"]

[doc = r""]

[doc =

r" If data is successfully read, Ok(n) is returned, where n is the"]

[doc =

r" number of bytes read. Ok(0) indicates the stream's read half is closed"]

[doc =

r" and will no longer yield data. If the stream is not ready to read data"]

[doc = r" Err(io::ErrorKind::WouldBlock) is returned."]

[doc = r""]

[doc = r" # Examples"]

[doc = r""]

[doc = r" ```no_run"]

[doc = r" use tokio::net::TcpStream;"]

[doc = r" use std::error::Error;"]

[doc = r" use std::io;"]

[doc = r""]

[doc = r" #[tokio::main]"]

[doc = r" async fn main() -> Result<(), Box> {"]

[doc = r" // Connect to a peer"]

[doc = r#" let stream = TcpStream::connect("127.0.0.1:8080").await?;"#]

[doc = r""]

[doc = r" loop {"]

[doc = r" // Wait for the socket to be readable"]

[doc = r" stream.readable().await?;"]

[doc = r""]

[doc = r" let mut buf = Vec::with_capacity(4096);"]

[doc = r""]

[doc =

r" // Try to read data, this may still fail with WouldBlock"]

[doc = r" // if the readiness event is a false positive."]

[doc = r" match stream.try_read_buf(&mut buf) {"]

[doc = r" Ok(0) => break,"]

[doc = r" Ok(n) => {"]

[doc = r#" println!("read {} bytes", n);"#]

[doc = r" }"]

[doc =

r" Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {"]

[doc = r" continue;"]

[doc = r" }"]

[doc = r" Err(e) => {"]

[doc = r" return Err(e.into());"]

[doc = r" }"]

[doc = r" }"]

[doc = r" }"]

[doc = r""]

[doc = r" Ok(())"]

[doc = r" }"]

[doc = r" ```"]

pub fn try_read_buf(self: (/ERROR/), buf: &mut B) -> io::Result { self.io.registration().try_io(Interest::READABLE, { use std::io::Read; let dst = buf.chunkmut(); let dst = unsafe { &mut (dst as mut as mut [std::mem::MaybeUninit] as mut [u8]) }; let n = (&*self.io).read(dst)?; unsafe { buf.advance_mut(n); } Ok(n) }) }` --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.2.0/src/macros/cfg.rs:132:13
131 #[cfg_attr(docsrs, doc(cfg(feature = "io-util")))]
- expected one of 9 possible tokens
132 $item
^^^^^ unexpected token

::: /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.2.0/src/net/tcp/stream.rs:569:5 | 569 | / cfg_ioutil! { 570 | | /// Try to read data from the stream into the provided buffer, advancing the 571 | | /// buffer's internal cursor, returning how many bytes were read. 572 | | /// ... | 645 | | } 646 | | } | |____- in this macro invocation

error: aborting due to 2 previous errors

error: could not compile tokio. warning: build failed, waiting for other jobs to finish... error: build failed (base) root@raspbian:/home/Mirai/mcl-installer# uname -a Linux raspbian 5.10.42-Release-OPENFANS+20210609-v8 #1 SMP PREEMPT Wed Jun 9 14:11:02 CST 2021 aarch64 GNU/Linux

Cat-L commented 3 years ago

terminal record.txt

DuckXiu commented 2 years ago

相同的问题

PeratX commented 2 years ago

rust 编译器版本?

PeratX commented 2 years ago

尝试使用musl libc编译的可执行文件 https://github.com/iTXTech/mcl-installer/releases/tag/f7ee211 mcl-installer-f7ee211-linux-aarch64-musl