mcl-installer icon indicating copy to clipboard operation
mcl-installer copied to clipboard

Debian aarch64 Segmentation fault && 构建失败

Open Cat-L opened this issue 3 years ago • 6 comments

(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 avatar Jun 21 '21 11:06 Cat-L

(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<B: BufMut>(&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, wherenis 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<dyn Error>> {"] #[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 withWouldBlock"] #[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<B: BufMut>(self: (/*ERROR*/), buf: &mut B) -> io::Result<usize> { self.io.registration().try_io(Interest::READABLE, || { use std::io::Read; let dst = buf.chunk_mut(); let dst = unsafe { &mut *(dst as *mut _ as *mut [std::mem::MaybeUninit<u8>] 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_io_util! { 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 avatar Jun 21 '21 11:06 Cat-L

(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<B: BufMut>(&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, wherenis 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<dyn Error>> {"] #[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 withWouldBlock"] #[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<B: BufMut>(self: (/*ERROR*/), buf: &mut B) -> io::Result<usize> { self.io.registration().try_io(Interest::READABLE, || { use std::io::Read; let dst = buf.chunk_mut(); let dst = unsafe { &mut *(dst as *mut _ as *mut [std::mem::MaybeUninit<u8>] 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_io_util! { 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 avatar Jun 21 '21 11:06 Cat-L

terminal record.txt

Cat-L avatar Jun 21 '21 11:06 Cat-L

相同的问题

DuckXiu avatar Apr 12 '22 12:04 DuckXiu

rust 编译器版本?

PeratX avatar Apr 21 '22 03:04 PeratX

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

PeratX avatar Apr 29 '22 07:04 PeratX