mirror of
https://github.com/librespot-org/librespot.git
synced 2026-04-27 08:15:50 +03:00
[GH-ISSUE #389] Docker build fails at alsa-sys crate on arm-unknown-linux-gnueabihf #255
Labels
No labels
A-Alsa
SpotifyAPI
Tokio 1.0
audio
bug
can't reproduce
compilation
dependencies
duplicate
enhancement
good first issue
help wanted
high priority
imported
imported
invalid
new api
pull-request
question
reverse engineering
wiki
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/librespot#255
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @tenortim on GitHub (Oct 31, 2019).
Original GitHub issue: https://github.com/librespot-org/librespot/issues/389
The alsa-sys crate seems to need to run pkg-config (missing from the Dockerfile) and pkg-config isn't architecture aware, so the contrib/docker-build.sh that tries to build five different architectures doesn't work correctly any longer.
I have a fairly simple patch. Will fork and send a PR, but will attach the diff here since it's pretty simple.
@tenortim commented on GitHub (Oct 31, 2019):
Proposed fix:
@ashthespy commented on GitHub (Nov 1, 2019):
Sorry, this was me - https://github.com/librespot-org/librespot/pull/245#issuecomment-430247445
I never pushed the fix, will do it now.
@tenortim commented on GitHub (Nov 1, 2019):
Hi @ashthespy,
I think you still need the docker-build.sh changes too. Otherwise the build fails because pkg-config isn't architecture-aware and the arm-linux-gnueabihf build fails at the link stage. Do you want to add that separately, or should I generate a new PR?
@ashthespy commented on GitHub (Nov 1, 2019):
@tenortim I didn't have all the changes in that commit, need to keep better track of all my branches!
Added a new commit that sets the individual
PKG_CONFIG_PATHfor each triple.EDIT: I use a different Dockerfile for my builds for diff architecture, and I now see I only have to set the
PKG_CONFIG_PATHonly when the triple name doesn't match the linker name. I will investigate more to see what I do differently in my image.@ashthespy commented on GitHub (Nov 4, 2019):
From my quick experiments,
crossbuild-essential-arm64andcrossbuild-essential-mipselseem to work fine, however, bothcrossbuild-essential-armelandcrossbuild-essential-armhfneed some help. That being said, there shouldn't be much harm setting the right environment variables for each target triple.