Date: Fri, 25 Nov 2022 11:18:32 -0800 From: Mark Millard <marklmi@yahoo.com> To: Nuno Teixeira <eduardo@freebsd.org> Cc: FreeBSD Mailing List <freebsd-ports@freebsd.org> Subject: Re: [zstd-sys 2.0.1+zstd.1.5.2] crate failing on arm64 Message-ID: <0DDF2664-A1F9-4BD6-BFD4-F2CE476EAFF1@yahoo.com> In-Reply-To: <CAFDf7UJ_1M%2BWFRZKxzLiY6by5fnwJsqePMuai_C7Qi7rMcJALA@mail.gmail.com> References: <96078C14-CBEB-4450-ACE1-EB0488DD1814.ref@yahoo.com> <96078C14-CBEB-4450-ACE1-EB0488DD1814@yahoo.com> <CAFDf7ULKuSUETZS4WLs3%2Bcepn94%2BnagY2OitNWoLP-JNjZUOGA@mail.gmail.com> <7AB31838-8D70-4D48-A1F8-2FE8C8E7AA0E@yahoo.com> <D8C48CA3-665D-434E-AB9E-496451B0DA5B@yahoo.com> <CAFDf7UJ_1M%2BWFRZKxzLiY6by5fnwJsqePMuai_C7Qi7rMcJALA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> On Nov 25, 2022, at 8:16 AM, Nuno Teixeira <eduardo@freebsd.org> = wrote: >=20 > Ok, I'm a little lost... >=20 > What you think about a short error message to send to upstream: > --- > error[E0554]: `#![feature]` may not be used on the stable release = channel > --> <anon>:1:12 > | > 1 | #![feature(windows_by_handle)] > | ^^^^^^^^^^^^^^^^^ >=20 > error[E0635]: unknown feature `windows_by_handle` > --> <anon>:1:12 > | > 1 | #![feature(windows_by_handle)] > | ^^^^^^^^^^^^^^^^^ >=20 > error: aborting due to 2 previous errors >=20 > Some errors have detailed explanations: E0554, E0635. > For more information about an error, try `rustc --explain E0554`. > --- > with link to full log. >=20 > Thanks I will not have access to an amd64 context for compare/contrast with = until next week. That might better identify things unique to aarch64. As stands, this is very exploratory for me. I=E2=80=99ve never = programmed in rust. > Mark Millard <marklmi@yahoo.com> escreveu no dia quinta, 24/11/2022 = =C3=A0(s) 17:27: > On Nov 24, 2022, at 07:00, Mark Millard <marklmi@yahoo.com> wrote: >=20 > > On Nov 24, 2022, at 03:03, Nuno Teixeira <eduardo@freebsd.org> = wrote: > >=20 > >> Hello Mark, >=20 > Hello. >=20 > >> I have compared some of errors/warnings with amd64 build logs and = they are present in there too. >=20 > Interesting. >=20 > >> I think I found a glitch at the end of arm64 log: > >> --- > >> [zstd-sys 2.0.1+zstd.1.5.2] running: "ar" "cq" = "/wrkdirs/usr/ports... > >> (...) > >> "/wrkdirs/usr/ports/editors/lapce/ > >> = work/target/aarch64-unknown-freebsd/release/build/zstd-sys-97d70ebd740964f= 8/out/zstd/lib/decompress/huf_decompress_amd64.o" > >> = = ^^^^^ >=20 > Well, in my older context, >=20 > # grep "^#" = /wrkdirs/usr/ports/editors/lapce/work/lapce-0.2.1/cargo-crates/zstd-sys-2.= 0.1+zstd.1.5.2/zstd/lib/decompress/huf_decompress_amd64.S | grep -v = "#define " > #include "../common/portability_macros.h" > #if defined(__ELF__) && defined(__GNUC__) > #endif > #if ZSTD_ENABLE_ASM_X86_64_BMI2 > #undef GET_NEXT_DELT > #undef DECODE_FROM_DELT > #undef DECODE > #undef RELOAD_BITS > #undef DECODE > #undef RELOAD_BITS > #endif >=20 > The #endif is the last line of the file and, ignoring > comments and blank lines for the most part, the rest > of the file before/at the #if ZSTD_ENABLE_ASM_X86_64_BMI2 > is just: >=20 > #include "../common/portability_macros.h" >=20 > /* Stack marking > * ref: https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart > */ > #if defined(__ELF__) && defined(__GNUC__) > .section .note.GNU-stack,"",%progbits > #endif >=20 > #if ZSTD_ENABLE_ASM_X86_64_BMI2 >=20 >=20 > Looks like the ZSTD_ENABLE_ASM_X86_64_BMI2 test would eliminate the > amd64 specifics in an aarch64 context, so they do not bother avoiding > the file. >=20 >=20 > >> --- > >> and zstd-sys-2.0.1+zstd.1.5.2/zstd/lib/common/xxhash.h: > >> # if (defined(__aarch64__) || defined(__arm64__) || = defined(_M_ARM64) || defined(_M_ARM64EC)) \ > >>=20 > >> So I presume that this crate should be build on arm64/aarch64 but = don't understant why it calls: > >> "huf_decompress_amd64.o" > >>=20 > >> Any clues? > >=20 > > Not at this point. I've got the system rebuilding the > > port so I can set up to look again. > >=20 > >> . . . >=20 > FYI: the better string for searching got: >=20 > # find -s /wrkdirs/usr/ports/editors/lapce/ -name stderr -exec grep -l = "aborting due to" {} \; | less > = /wrkdirs/usr/ports/editors/lapce/work/target/aarch64-unknown-freebsd/debug= /build/cap-fs-ext-10fe2c1f66453130/stderr > = /wrkdirs/usr/ports/editors/lapce/work/target/aarch64-unknown-freebsd/debug= /build/cap-primitives-ed08064314a4640b/stderr > = /wrkdirs/usr/ports/editors/lapce/work/target/aarch64-unknown-freebsd/debug= /build/cap-std-5acaec63374cb836/stderr > = /wrkdirs/usr/ports/editors/lapce/work/target/aarch64-unknown-freebsd/debug= /build/io-extras-e83e1591d250cc25/stderr > = /wrkdirs/usr/ports/editors/lapce/work/target/aarch64-unknown-freebsd/debug= /build/io-lifetimes-62b7366622512d7e/stderr > = /wrkdirs/usr/ports/editors/lapce/work/target/aarch64-unknown-freebsd/debug= /build/system-interface-56dbb6efd7f0321e/stderr >=20 > The first line of the output is new compared to before: >=20 > # more = /wrkdirs/usr/ports/editors/lapce/work/target/aarch64-unknown-freebsd/debug= /build/cap-fs-ext-10fe2c1f66453130/stderr > error[E0554]: `#![feature]` may not be used on the stable release = channel > --> <anon>:1:12 > | > 1 | #![feature(windows_by_handle)] > | ^^^^^^^^^^^^^^^^^ >=20 > error[E0635]: unknown feature `windows_by_handle` > --> <anon>:1:12 > | > 1 | #![feature(windows_by_handle)] > | ^^^^^^^^^^^^^^^^^ >=20 > error: aborting due to 2 previous errors >=20 > Some errors have detailed explanations: E0554, E0635. > For more information about an error, try `rustc --explain E0554`. >=20 > So, not a new type of error compared to the others. >=20 > =3D=3D=3D > Mark Millard > marklmi at yahoo.com >=20 >=20 >=20 > --=20 > Nuno Teixeira > FreeBSD Committer (ports)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0DDF2664-A1F9-4BD6-BFD4-F2CE476EAFF1>