[GH-ISSUE #357] Question: Easiest way to compile for running on armv5tel device #235

Closed
opened 2026-02-27 19:29:34 +03:00 by kerem · 4 comments
Owner

Originally created by @cdlenfert on GitHub (Jul 29, 2019).
Original GitHub issue: https://github.com/librespot-org/librespot/issues/357

I have a Mac running Docker, Pi3B and PiZero W at my disposal. I'm looking to attempt running librespot on an old PogoPlug e-02 Model (1.2ghz processor, 256mb RAM, running debian stretch). I've tried the Docker cross compiler image but the generic target doesn't run on armv5. Thanks for any tips.

Originally created by @cdlenfert on GitHub (Jul 29, 2019). Original GitHub issue: https://github.com/librespot-org/librespot/issues/357 I have a Mac running Docker, Pi3B and PiZero W at my disposal. I'm looking to attempt running librespot on an old PogoPlug e-02 Model (1.2ghz processor, 256mb RAM, running debian stretch). I've tried the Docker cross compiler image but the generic target doesn't run on armv5. Thanks for any tips.
kerem 2026-02-27 19:29:34 +03:00
Author
Owner

@ashthespy commented on GitHub (Jul 29, 2019):

Have you tried adding the armv5te-unknown-linux-gnueabi target and cross building it? According to https://forge.rust-lang.org/platform-support.html, it should be a supported target.

<!-- gh-comment-id:516145515 --> @ashthespy commented on GitHub (Jul 29, 2019): Have you tried adding the `armv5te-unknown-linux-gnueabi` target and cross building it? According to https://forge.rust-lang.org/platform-support.html, it should be a supported target.
Author
Owner

@cdlenfert commented on GitHub (Jul 29, 2019):

@ashthespy thanks for the reply. I tried this command to cross compile using the docker container:

docker run -v /tmp/librespot-build:/build librespot-cross cargo build --release --target armv5te-unknown-linux-gnueabi --no-default-features --features with-tremor

and ended up with an error:

error[E0463]: can't find crate for `core`
  |
  = note: the `armv5te-unknown-linux-gnueabi` target may not be installed
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: Could not compile `lazy_static`.
warning: build failed, waiting for other jobs to finish...
error: Could not compile `rand_core`.

::edited to show correct error::

<!-- gh-comment-id:516169909 --> @cdlenfert commented on GitHub (Jul 29, 2019): @ashthespy thanks for the reply. I tried this command to cross compile using the [docker container](https://github.com/librespot-org/librespot/wiki/Cross-compiling): ```docker run -v /tmp/librespot-build:/build librespot-cross cargo build --release --target armv5te-unknown-linux-gnueabi --no-default-features --features with-tremor``` and ended up with an error: ``` error[E0463]: can't find crate for `core` | = note: the `armv5te-unknown-linux-gnueabi` target may not be installed error: aborting due to previous error For more information about this error, try `rustc --explain E0463`. error: Could not compile `lazy_static`. warning: build failed, waiting for other jobs to finish... error: Could not compile `rand_core`. ``` ::edited to show correct error::
Author
Owner

@ashthespy commented on GitHub (Jul 29, 2019):

Sorry, I should have been more specific:

  = note: the `armv5te-unknown-linux-gnueabi` target may not be installed
error: aborting due to previous error

As the error states, the target wasn't installed, You would have to update the Dockerfile to add the required c compiler and the actual target you want to build. Take a look at how the other targets have been added.
So something along the lines of

RUN rustup target add armv5te-unknown-linux-gnueabi

You will also have to check what it corresponding versions of the c compiler you need (arm-none-linux-gnueabi maybe?) and link it so that Cargo can pick it up.

<!-- gh-comment-id:516175013 --> @ashthespy commented on GitHub (Jul 29, 2019): Sorry, I should have been more specific: ``` = note: the `armv5te-unknown-linux-gnueabi` target may not be installed error: aborting due to previous error ``` As the error states, the target wasn't installed, You would have to update the [Dockerfile](https://github.com/librespot-org/librespot/blob/master/contrib/Dockerfile) to add the required c compiler and the actual target you want to build. Take a look at how the other targets have been added. So something along the lines of ``` RUN rustup target add armv5te-unknown-linux-gnueabi ``` You will also have to check what it corresponding versions of the c compiler you need (`arm-none-linux-gnueabi` maybe?) and [link it](https://github.com/librespot-org/librespot/blob/51a634dc33233ca85a92db3e723d19550b548593/contrib/Dockerfile#L37) so that Cargo can pick it up.
Author
Owner

@ashthespy commented on GitHub (Mar 20, 2020):

Closing this as an inactive issue, please feel free to comment to have it opened again..

<!-- gh-comment-id:601941105 --> @ashthespy commented on GitHub (Mar 20, 2020): Closing this as an inactive issue, please feel free to comment to have it opened again..
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librespot#235
No description provided.