Pack wrong libraries into snap
Bug #1587358 reported by
Robert Liu
This bug affects 3 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Snapcraft |
Fix Released
|
High
|
Kyle Fazzari |
Bug Description
I am porting pulseaduio to Intel NUC. The original work is from Simon Fels[1].
After executed 'snapcraft snap', I found the libraries of pulseaudio in 'stage/' are not the same with 'snap/'.
According to the ls result (see the attachment), I guess that snapcraft uses the libraries in my host machine instead.
I think that snapcraft should keep the libraries which are from the 'stage/'
[1] https:/
Changed in snapcraft: | |
assignee: | nobody → Sergio Schvezov (sergiusens) |
Changed in snapcraft: | |
assignee: | Sergio Schvezov (sergiusens) → nobody |
Changed in snapcraft: | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in snapcraft: | |
status: | In Progress → Fix Committed |
Changed in snapcraft: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Snapcraft does indeed keep the libraries which are from the staging area, at least, in a typical case. The problem here is that the libraries are in a non-standard place, so snapcraft doesn't add them to the LD_LIBRARY_PATH, thereby missing their presence when running `ldd` and finding the system-installed ones instead.
The fix is likely to check detected system dependencies against files in stage and prime, and only migrate them if they're missing there. Since the snap is self-contained, note that a workaround while we're working on this is to install the libs in question to a more standard place, e.g. directly into /usr/lib.