Change:
I am new to the Rust ecosystem, but as part of my own learning curve, I wanted to create a small personal project which includes test coverage executed on my raspberry pi server. My setup contains a self-hosted Gitlab-instance (which runs inside docker) running on a 32-bit based Raspbian on my Raspberry Pi 4 (with 8gb RAM). After some hours of trying to get working I tried to reproduce my problems, and found out, that are missing for armv7-unknown-linux-gnueabihf. I opened up an issue on the GRCOV-project (), because I first thought I was missing some important instruction to set up my system. It now seems to me that the package provided via does not include the required crates/libs to make it work to have code coverage being analysed. install the docker engine + docker cli (locally on intel/amd-based system; and on a raspberry pi with 32bit operating system) create a new project in a new folder containing a normal project (inited via ) Content of : create a aside of that folder: create that container: run container: execute the following inside the container:
My guess is the version of you are compiling with was built without set in its build configuration (e.g., ).
This may be related to
Hm, is related to musl, you sure it is related? As I am using official -image, where can I check/see, if it was built with ? The defaults seem to have no profiler to get built into
Related in the sense that both issues report that the build of the compiler for their target platforms does not set "profiler = true". Yes, the default is "profiler = false", but various pre-built distros enable "profiler = true". Some don't. I don't know who makes those decisions, whether we should change this to enable "profiler = true" by default in the future, and/or whether the profiler_builtins library works or not for some platforms.
Is there any update on this? Is this simply a matter of adding to the Dockerfile, or are there other pieces missing too?
I think this is something pretty low-level to be enabled first inside the compiled rust docker image, nothing that can just be activated via that parameter. I will try to re-check on the upcoming weekend to see if there has something changed silently.
Nope, still the same issue. Retried on a fresh install of the whole system (Bullseye-based raspbianOS ... whatever its called) and got the same output: versions: EDIT: just to point out, the used rust comes from the docker-container, not the hosting OS
Potential duplicate of ?
similar but no duplicate, because the other issue targets MUSL, this is ARMv7-specific
Right, but the root cause appears to be an issue with the releases provided for tier 2 targets, which affects both.
This already got suggested here: All it comes down to "profiler_builtins" not being present. If both issues are having the same root cause, thats okay, but as every target is configured differently (like already mentioned here: ), so I do not see a duplicate here. is specificly targeting MUSL, this is non-MUSL and includes an easy reproducable example.
Is there a way to activate it when building the compiler manually as a temporary solution?
Try building with (see PR ). if you get linker errors, try linking with as described in
I verified that with today's Rust Nightly, code coverage is working. See This target "just works"; it doesn't require forcing like powerpc-unknown-linux-gnu.

Discussion:
ENV HOSTS=armv7-unknown-linux-gnueabihf <del> ENV RUST_CONFIGURE_ARGS --enable-full-tools --disable-docs </del> <ins> ENV RUST_CONFIGURE_ARGS --enable-full-tools --enable-profiler --disable-docs </ins> ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS