[Pkg-rust-maintainers] Bug#1043311: Bug#1043311: rustc: please enable profiler builtin

Andres Salomon dilinger at queued.net
Sat Jan 13 08:42:35 GMT 2024


On 1/13/24 02:42, Andres Salomon wrote:
> On Fri, 08 Sep 2023 13:35:44 -0400 Andres Salomon 
> <dilinger at queued.net> wrote:
> >
> >
> > On Fri, Sep 8 2023 at 10:36:48 AM +02:00:00, Fabian Grünbichler
> > <fabian at gruenbichler.email> wrote:
> > >>  On Tue, Aug 8 2023 at 06:22:28 PM -04:00:00, Andres Salomon
> > >>
> > [...]
> > >>
> > >>  This patch adds
> > >> "cargo:rustc-link-search=/usr/lib/clang/15/lib/linux/" and
> > >> "cargo:rustc-link-lib=static=clang_rt.profile-x86_64" (or whatever
> > >>  architecture it happens to be building on) to the profiler_builtins
> > >> build
> > >>  flags when the target matches the host. In the case where the
> > >> target is
> > >>  different from the host, it assumes a wasm build and sets
> > >>  "rustc-link-lib=static=clang_rt.builtins-wasm32" or
> > >> "cargo:rustc-link-lib=static=clang_rt.builtins-wasm64" depending
> > >> upon
> > >>  whether the target is 32 or 64 bits, respectively.
> > >
> > > Thanks for the patch! the Windows part in d/rules looks wrong to me -
> > > that is built with mingw, not wasi. I assume you are not 
> interested in
> > > that part, so maybe it would also be an option to guard it based on
> > > target and just build it for the regular one (or regular+wasm, but 
> not
> > > windows/mingw)?
> >
>
> After you pointed out the upstream patch on IRC 
> (https://github.com/rust-lang/rust/pull/114069), I backported it to 
> 1.70 and tried building it. It gets pretty far, but fails late in the 
> build on some tests. I'm going to do some more building (starting with 
> rustc by itself without the profiler stuff, to ensure that the test 
> failure I'm seeing is actually related to profiler). But in the 
> meantime, here's the backported patch. If I can get it fully built, 
> I'll follow up with the full debian patch or a merge request.
>
>

Ugh, unfortunately I'm hitting the same build failure even without 
profiler enabled. This is just rustc from sid without any changes 
failing. I can file a separate FTBFS bug if it's not some issue with my 
build environment...



==== Debian rustc test report ====
Specific test failures:
test [ui] tests/ui/io-checks/inaccessbile-temp-dir.rs ... FAILED
test [ui] tests/ui/io-checks/non-ice-error-on-worker-io-fail.rs ... FAILED
command did not execute successfully: BOOTSTRAP_CARGO="/usr/bin/cargo" 
DOC_RUST_LANG_ORG_CHANNEL="https://doc.rust-lang.org/1.70.0" 
LD_LIBRARY_PATH="/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/usr/lib" 
RUSTC="/usr/bin/rustc" RUSTC_BOOTSTRAP="1" 
RUSTC_FORCE_RUSTC_VERSION="compiletest" RUST_TEST_THREADS="16" 
RUST_TEST_TMPDIR="/rustc-1.70.0+dfsg1/build/tmp" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" 
"--compile-lib-path" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage2/lib" 
"--run-lib-path" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" 
"--rustc-path" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" 
"--src-base" "/rustc-1.70.0+dfsg1/tests/ui" "--build-base" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/test/ui" 
"--sysroot-base" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage2" "--stage-id" 
"stage2-x86_64-unknown-linux-gnu" "--suite" "ui" "--mode" "ui" 
"--target" "x86_64-unknown-linux-gnu" "--host" 
"x86_64-unknown-linux-gnu" "--llvm-filecheck" 
"/usr/lib/llvm-16/bin/FileCheck" "--nodejs" "/usr/bin/node" 
"--optimize-tests" "--target-linker" "x86_64-linux-gnu-gcc" 
"--host-linker" "x86_64-linux-gnu-gcc" "--host-rustcflags" "-Crpath" 
"--host-rustcflags" "-Cdebuginfo=0" "--host-rustcflags" 
"-Lnative=/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" 
"--target-rustcflags" "-Crpath" "--target-rustcflags" "-Cdebuginfo=0" 
"--target-rustcflags" 
"-Lnative=/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" 
"--python" "/usr/bin/python3" "--gdb" "/usr/bin/gdb" "--skip" 
"src/tools/tidy" "--verbose" "--json" "--llvm-version" "16.0.6" 
"--llvm-components" "aarch64 aarch64asmparser aarch64codegen aarch64desc 
aarch64disassembler aarch64info aarch64utils aggressiveinstcombine all 
all-targets amdgpu amdgpuasmparser amdgpucodegen amdgpudesc 
amdgpudisassembler amdgpuinfo amdgputargetmca amdgpuutils analysis arm 
armasmparser armcodegen armdesc armdisassembler arminfo armutils 
asmparser asmprinter avr avrasmparser avrcodegen avrdesc avrdisassembler 
avrinfo binaryformat bitreader bitstreamreader bitwriter bpf 
bpfasmparser bpfcodegen bpfdesc bpfdisassembler bpfinfo cfguard codegen 
core coroutines coverage debuginfocodeview debuginfodwarf debuginfogsym 
debuginfologicalview debuginfomsf debuginfopdb demangle dlltooldriver 
dwarflinker dwarflinkerparallel dwp engine executionengine extensions 
filecheck frontendhlsl frontendopenacc frontendopenmp fuzzercli 
fuzzmutate globalisel hexagon hexagonasmparser hexagoncodegen 
hexagondesc hexagondisassembler hexagoninfo instcombine instrumentation 
interfacestub interpreter ipo irprinter irreader jitlink lanai 
lanaiasmparser lanaicodegen lanaidesc lanaidisassembler lanaiinfo 
libdriver lineeditor linker loongarch loongarchasmparser 
loongarchcodegen loongarchdesc loongarchdisassembler loongarchinfo lto 
m68k m68kasmparser m68kcodegen m68kdesc m68kdisassembler m68kinfo mc mca 
mcdisassembler mcjit mcparser mips mipsasmparser mipscodegen mipsdesc 
mipsdisassembler mipsinfo mirparser msp430 msp430asmparser msp430codegen 
msp430desc msp430disassembler msp430info native nativecodegen nvptx 
nvptxcodegen nvptxdesc nvptxinfo objcarcopts objcopy object objectyaml 
option orcjit orcshared orctargetprocess passes perfjitevents powerpc 
powerpcasmparser powerpccodegen powerpcdesc powerpcdisassembler 
powerpcinfo profiledata remarks riscv riscvasmparser riscvcodegen 
riscvdesc riscvdisassembler riscvinfo riscvtargetmca runtimedyld 
scalaropts selectiondag sparc sparcasmparser sparccodegen sparcdesc 
sparcdisassembler sparcinfo support symbolize systemz systemzasmparser 
systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen 
target targetparser textapi transformutils ve veasmparser vecodegen 
vectorize vedesc vedisassembler veinfo webassembly webassemblyasmparser 
webassemblycodegen webassemblydesc webassemblydisassembler 
webassemblyinfo webassemblyutils windowsdriver windowsmanifest x86 
x86asmparser x86codegen x86desc x86disassembler x86info x86targetmca 
xcore xcorecodegen xcoredesc xcoredisassembler xcoreinfo xray xtensa 
xtensaasmparser xtensacodegen xtensadesc xtensadisassembler xtensainfo" 
"--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--cxxflags" "" 
"--adb-path" "adb" "--adb-test-dir" "/data/local/tmp/work" 
"--android-cross-path" "" "--channel" "stable"

test [debuginfo-gdb] tests/debuginfo/unsized.rs ... FAILED
command did not execute successfully: BOOTSTRAP_CARGO="/usr/bin/cargo" 
DOC_RUST_LANG_ORG_CHANNEL="https://doc.rust-lang.org/1.70.0" 
LD_LIBRARY_PATH="/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/usr/lib" 
RUSTC="/usr/bin/rustc" RUSTC_BOOTSTRAP="1" 
RUSTC_FORCE_RUSTC_VERSION="compiletest" RUST_TEST_THREADS="16" 
RUST_TEST_TMPDIR="/rustc-1.70.0+dfsg1/build/tmp" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" 
"--compile-lib-path" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage2/lib" 
"--run-lib-path" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" 
"--rustc-path" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" 
"--src-base" "/rustc-1.70.0+dfsg1/tests/debuginfo" "--build-base" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/test/debuginfo" 
"--sysroot-base" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage2" "--stage-id" 
"stage2-x86_64-unknown-linux-gnu" "--suite" "debuginfo" "--mode" 
"debuginfo" "--target" "x86_64-unknown-linux-gnu" "--host" 
"x86_64-unknown-linux-gnu" "--llvm-filecheck" 
"/usr/lib/llvm-16/bin/FileCheck" "--nodejs" "/usr/bin/node" 
"--optimize-tests" "--target-linker" "x86_64-linux-gnu-gcc" 
"--host-linker" "x86_64-linux-gnu-gcc" "--host-rustcflags" "-Crpath" 
"--host-rustcflags" "-Cdebuginfo=0" "--host-rustcflags" 
"-Lnative=/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" 
"--target-rustcflags" "-Crpath" "--target-rustcflags" "-Cdebuginfo=0" 
"--target-rustcflags" 
"-Lnative=/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" 
"--python" "/usr/bin/python3" "--gdb" "/usr/bin/gdb" "--skip" 
"src/tools/tidy" "--verbose" "--json" "--llvm-version" "16.0.6" 
"--llvm-components" "aarch64 aarch64asmparser aarch64codegen aarch64desc 
aarch64disassembler aarch64info aarch64utils aggressiveinstcombine all 
all-targets amdgpu amdgpuasmparser amdgpucodegen amdgpudesc 
amdgpudisassembler amdgpuinfo amdgputargetmca amdgpuutils analysis arm 
armasmparser armcodegen armdesc armdisassembler arminfo armutils 
asmparser asmprinter avr avrasmparser avrcodegen avrdesc avrdisassembler 
avrinfo binaryformat bitreader bitstreamreader bitwriter bpf 
bpfasmparser bpfcodegen bpfdesc bpfdisassembler bpfinfo cfguard codegen 
core coroutines coverage debuginfocodeview debuginfodwarf debuginfogsym 
debuginfologicalview debuginfomsf debuginfopdb demangle dlltooldriver 
dwarflinker dwarflinkerparallel dwp engine executionengine extensions 
filecheck frontendhlsl frontendopenacc frontendopenmp fuzzercli 
fuzzmutate globalisel hexagon hexagonasmparser hexagoncodegen 
hexagondesc hexagondisassembler hexagoninfo instcombine instrumentation 
interfacestub interpreter ipo irprinter irreader jitlink lanai 
lanaiasmparser lanaicodegen lanaidesc lanaidisassembler lanaiinfo 
libdriver lineeditor linker loongarch loongarchasmparser 
loongarchcodegen loongarchdesc loongarchdisassembler loongarchinfo lto 
m68k m68kasmparser m68kcodegen m68kdesc m68kdisassembler m68kinfo mc mca 
mcdisassembler mcjit mcparser mips mipsasmparser mipscodegen mipsdesc 
mipsdisassembler mipsinfo mirparser msp430 msp430asmparser msp430codegen 
msp430desc msp430disassembler msp430info native nativecodegen nvptx 
nvptxcodegen nvptxdesc nvptxinfo objcarcopts objcopy object objectyaml 
option orcjit orcshared orctargetprocess passes perfjitevents powerpc 
powerpcasmparser powerpccodegen powerpcdesc powerpcdisassembler 
powerpcinfo profiledata remarks riscv riscvasmparser riscvcodegen 
riscvdesc riscvdisassembler riscvinfo riscvtargetmca runtimedyld 
scalaropts selectiondag sparc sparcasmparser sparccodegen sparcdesc 
sparcdisassembler sparcinfo support symbolize systemz systemzasmparser 
systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen 
target targetparser textapi transformutils ve veasmparser vecodegen 
vectorize vedesc vedisassembler veinfo webassembly webassemblyasmparser 
webassemblycodegen webassemblydesc webassemblydisassembler 
webassemblyinfo webassemblyutils windowsdriver windowsmanifest x86 
x86asmparser x86codegen x86desc x86disassembler x86info x86targetmca 
xcore xcorecodegen xcoredesc xcoredisassembler xcoreinfo xray xtensa 
xtensaasmparser xtensacodegen xtensadesc xtensadisassembler xtensainfo" 
"--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--cxxflags" "" 
"--adb-path" "adb" "--adb-test-dir" "/data/local/tmp/work" 
"--android-cross-path" "" "--channel" "stable"
test [ui] tests/rustdoc-ui/issue-98690.rs ... FAILED
test tests/rustdoc-ui/issue-98690.rs - (line 7) ... FAILED
test tests/rustdoc-ui/issue-98690.rs - (line 7) ... FAILED
test tests/rustdoc-ui/issue-98690.rs - (line 7) ... FAILED
command did not execute successfully: BOOTSTRAP_CARGO="/usr/bin/cargo" 
DOC_RUST_LANG_ORG_CHANNEL="https://doc.rust-lang.org/1.70.0" 
LD_LIBRARY_PATH="/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/usr/lib" 
RUSTC="/usr/bin/rustc" RUSTC_BOOTSTRAP="1" 
RUSTC_FORCE_RUSTC_VERSION="compiletest" RUST_TEST_THREADS="16" 
RUST_TEST_TMPDIR="/rustc-1.70.0+dfsg1/build/tmp" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" 
"--compile-lib-path" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage2/lib" 
"--run-lib-path" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" 
"--rustc-path" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" 
"--rustdoc-path" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" 
"--src-base" "/rustc-1.70.0+dfsg1/tests/rustdoc-ui" "--build-base" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/test/rustdoc-ui" 
"--sysroot-base" 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/stage2" "--stage-id" 
"stage2-x86_64-unknown-linux-gnu" "--suite" "rustdoc-ui" "--mode" "ui" 
"--target" "x86_64-unknown-linux-gnu" "--host" 
"x86_64-unknown-linux-gnu" "--llvm-filecheck" 
"/usr/lib/llvm-16/bin/FileCheck" "--nodejs" "/usr/bin/node" 
"--optimize-tests" "--target-linker" "x86_64-linux-gnu-gcc" 
"--host-linker" "x86_64-linux-gnu-gcc" "--host-rustcflags" 
"-Cdebuginfo=0" "--host-rustcflags" 
"-Lnative=/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" 
"--target-rustcflags" "-Cdebuginfo=0" "--target-rustcflags" 
"-Lnative=/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" 
"--python" "/usr/bin/python3" "--gdb" "/usr/bin/gdb" "--skip" 
"src/tools/tidy" "--verbose" "--json" "--llvm-version" "16.0.6" 
"--llvm-components" "aarch64 aarch64asmparser aarch64codegen aarch64desc 
aarch64disassembler aarch64info aarch64utils aggressiveinstcombine all 
all-targets amdgpu amdgpuasmparser amdgpucodegen amdgpudesc 
amdgpudisassembler amdgpuinfo amdgputargetmca amdgpuutils analysis arm 
armasmparser armcodegen armdesc armdisassembler arminfo armutils 
asmparser asmprinter avr avrasmparser avrcodegen avrdesc avrdisassembler 
avrinfo binaryformat bitreader bitstreamreader bitwriter bpf 
bpfasmparser bpfcodegen bpfdesc bpfdisassembler bpfinfo cfguard codegen 
core coroutines coverage debuginfocodeview debuginfodwarf debuginfogsym 
debuginfologicalview debuginfomsf debuginfopdb demangle dlltooldriver 
dwarflinker dwarflinkerparallel dwp engine executionengine extensions 
filecheck frontendhlsl frontendopenacc frontendopenmp fuzzercli 
fuzzmutate globalisel hexagon hexagonasmparser hexagoncodegen 
hexagondesc hexagondisassembler hexagoninfo instcombine instrumentation 
interfacestub interpreter ipo irprinter irreader jitlink lanai 
lanaiasmparser lanaicodegen lanaidesc lanaidisassembler lanaiinfo 
libdriver lineeditor linker loongarch loongarchasmparser 
loongarchcodegen loongarchdesc loongarchdisassembler loongarchinfo lto 
m68k m68kasmparser m68kcodegen m68kdesc m68kdisassembler m68kinfo mc mca 
mcdisassembler mcjit mcparser mips mipsasmparser mipscodegen mipsdesc 
mipsdisassembler mipsinfo mirparser msp430 msp430asmparser msp430codegen 
msp430desc msp430disassembler msp430info native nativecodegen nvptx 
nvptxcodegen nvptxdesc nvptxinfo objcarcopts objcopy object objectyaml 
option orcjit orcshared orctargetprocess passes perfjitevents powerpc 
powerpcasmparser powerpccodegen powerpcdesc powerpcdisassembler 
powerpcinfo profiledata remarks riscv riscvasmparser riscvcodegen 
riscvdesc riscvdisassembler riscvinfo riscvtargetmca runtimedyld 
scalaropts selectiondag sparc sparcasmparser sparccodegen sparcdesc 
sparcdisassembler sparcinfo support symbolize systemz systemzasmparser 
systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen 
target targetparser textapi transformutils ve veasmparser vecodegen 
vectorize vedesc vedisassembler veinfo webassembly webassemblyasmparser 
webassemblycodegen webassemblydesc webassemblydisassembler 
webassemblyinfo webassemblyutils windowsdriver windowsmanifest x86 
x86asmparser x86codegen x86desc x86disassembler x86info x86targetmca 
xcore xcorecodegen xcoredesc xcoredisassembler xcoreinfo xray xtensa 
xtensaasmparser xtensacodegen xtensadesc xtensadisassembler xtensainfo" 
"--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--cxxflags" "" 
"--adb-path" "adb" "--adb-test-dir" "/data/local/tmp/work" 
"--android-cross-path" "" "--channel" "stable"

TEST FAILED!

command did not execute successfully: cd 
"/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/test/rust-installer" 
&& CARGO="/usr/bin/cargo" 
CARGO_TARGET_DIR="/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/test/rust-installer/cargo-target" 
RUSTC="/usr/bin/rustc" 
TMP_DIR="/rustc-1.70.0+dfsg1/build/x86_64-unknown-linux-gnu/test/rust-installer" 
"/rustc-1.70.0+dfsg1/src/tools/rust-installer/test.sh"
Summary: exit code 1, counted 12 tests failed.
8 maximum allowed. Aborting the build.
Check the logs further above for details.
make[2]: *** [debian/rules:313: override_dh_auto_test-arch] Error 1

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0x645D0247C36E7637.asc
Type: application/pgp-keys
Size: 3898 bytes
Desc: OpenPGP public key
URL: <http://alioth-lists.debian.net/pipermail/pkg-rust-maintainers/attachments/20240113/b71bec90/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-rust-maintainers/attachments/20240113/b71bec90/attachment-0001.sig>


More information about the Pkg-rust-maintainers mailing list