You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is more of an AUR request honestly, though it perhaps may just be something that shouldn't be happening. It appears that the rust version of aura cannot survive an update to the pacman libalpm.so libraries, requiring a specific library version and thereby failing if the library got updated by pacman -Syu (as it did from the pacman 7.0 release). For haskell we had the option of using stack-static (which you may recall I brought up for fixing the aura pkgbuild many years ago now :P) to make aura more or less resistant across system updates, so it could at least bootstrap itself back instead of needing to use makepkg manually again.
The user-side fix to that is of course simple, just go to your checked out aura repo and run makepkg accordingly. But, it would also be great if it was feasible to similarly "future-proof" the rust version of aura through static linking, like what users had the option of doing with the haskell version.
Fortunately, it appears that the rust dependencies for aura all work with static linking, tossing RUSTFLAGS='-C target-feature=+crt-static' cargo build --release --target x86_64-unknown-linux-gnu at the build worked fine for getting all deps. However, aura depends upon pacman (and through it libcurl) and both of those sadly do not have static linking by default on arch. And unlike the stack-static case it's probably pretty bad idea for users to go ahead and use pacman-static by default.
While it definitely makes it more unwieldy, so an even larger trade-off, and I haven't tested this out yet, I think what can be done here though is making an aura-static AUR build that adapts the pacman-static PKGBUILD to get a statically linked libcurl and pacman available in the build root, and then builds aura statically.
I ask this here, rather than on the aura AUR page, for two main reasons:
See if the libalpm breakage was actually an unexpected bug, and aura right now is supposed to be able to handle its dynamically linked libraries being updated (and isn't doing that). (EDIT: Forgot to add, I assume this one was the case due to seeing Issue Error libalpm.so.14 cannot open shared object file: No such file or directory #931, but wanted to confirm)
See how feasible static building aura even is, in case cargo managing to get all the way to the final build step in static mode does not imply that the Rust dependencies are actually okay being static. I know some Rust dependencies actually require having alternative options for the static case / differing libraries, and didn't pay too close attention to what libraries aura was using as the build scrolled by.
The text was updated successfully, but these errors were encountered:
This is more of an AUR request honestly, though it perhaps may just be something that shouldn't be happening. It appears that the rust version of
aura
cannot survive an update to the pacmanlibalpm.so
libraries, requiring a specific library version and thereby failing if the library got updated bypacman -Syu
(as it did from the pacman 7.0 release). For haskell we had the option of usingstack-static
(which you may recall I brought up for fixing theaura
pkgbuild many years ago now :P) to makeaura
more or less resistant across system updates, so it could at least bootstrap itself back instead of needing to usemakepkg
manually again.The user-side fix to that is of course simple, just go to your checked out
aura
repo and runmakepkg
accordingly. But, it would also be great if it was feasible to similarly "future-proof" the rust version ofaura
through static linking, like what users had the option of doing with the haskell version.Fortunately, it appears that the rust dependencies for aura all work with static linking, tossing
RUSTFLAGS='-C target-feature=+crt-static' cargo build --release --target x86_64-unknown-linux-gnu
at the build worked fine for getting all deps. However,aura
depends uponpacman
(and through itlibcurl
) and both of those sadly do not have static linking by default on arch. And unlike thestack-static
case it's probably pretty bad idea for users to go ahead and usepacman-static
by default.While it definitely makes it more unwieldy, so an even larger trade-off, and I haven't tested this out yet, I think what can be done here though is making an
aura-static
AUR build that adapts thepacman-static
PKGBUILD to get a statically linked libcurl and pacman available in the build root, and then buildsaura
statically.I ask this here, rather than on the
aura
AUR page, for two main reasons:libalpm
breakage was actually an unexpected bug, andaura
right now is supposed to be able to handle its dynamically linked libraries being updated (and isn't doing that). (EDIT: Forgot to add, I assume this one was the case due to seeing Issue Error libalpm.so.14 cannot open shared object file: No such file or directory #931, but wanted to confirm)aura
even is, in casecargo
managing to get all the way to the final build step in static mode does not imply that the Rust dependencies are actually okay being static. I know some Rust dependencies actually require having alternative options for the static case / differing libraries, and didn't pay too close attention to what librariesaura
was using as the build scrolled by.The text was updated successfully, but these errors were encountered: