The optimised version of 7-Zip can't be built from source
pileofhacks.dev
pileofhacks.dev
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
I also think a more correct title should be "I could not build 7-zip from source", as they correctly acknowledge in the end.
> Ugh. This is a bit beyond my knowledge to fix
You can probably skip that and use one of the nasm-compatible assemblers directly with 7zip's build process instead...
> Even if I did want to use the prebuilt version, it’s dynamically linked to glibc so won’t work on alpine.
I imagine the gcompat package will get it running.
https://wiki.alpinelinux.org/wiki/Running_glibc_programs
The 7-zip code does admittedly scare me a bit at times, but the fact that it can be a pain to build isn't really that big of an issue. A lot of stuff is a pain to build. Like Chromium.
> "i'm not going to argue, i can't read assembly and i don't want my built to be slow"
> i'm going to use a highly non-standard distro that's known to have serious build problems because it uses an alternate libc
> "this is a bit beyond my knowledge to fix"
why would igor pavlov do this???
joking aside there's literally a nasm package built for alpine. he could have just aliased asmc to it and 7z probably would have built fine.
> the only way to build a modern version of rustc is a slightly less modern version.
(There is, at least theoretically, a non-circular bootstrap chain starting with a very old rustc written in OCaml, but the more practical alternative is probably to use mrustc[2] instead.)
[1] https://rustc-dev-guide.rust-lang.org/building/bootstrapping...