pkgsMusl.firefox: fix build#191060
pkgsMusl.firefox: fix build#191060yu-re-ka wants to merge 250 commits intoNixOS:masterfrom yu-re-ka:musl-firefox
Conversation
The include/ directory for libunistring is inside the libunistring.dev package, not libunistring, thus the .pc file was pointing to a non-existing path.
This might be typo but I don't know which other variable was intended to be named. This can also come from a merge conflict.
That seems oddly familiar to something I encountered awhile back when adding LTO support. It ended up that Mozilla had a Python script that tripped up on whitespace differences from GNU readelf and LLVM readelf which in turn caused |
|
The dependentlibs.list was generated correctly. It is the same between the glibc and musl build. An strace reveals very different behavior: musl glibc Note that glibc is only trying to open the libmozsandbox.so a second time in a child process |
Our patch from PR #189312 wasn't complete; let's take the upstream one. I tested on 31st that it really passes now.
|
I fucked up the rebase, opening a new PR to not create any more notifications |
It's not your fault; github's UI for this is atrocious. Hint: before changing the base, mark your PR as a draft. That way if this happens it won't ping half of humanity. |
Description of changes
Depends on #190796
I had some discussion in the musl irc channel about the malloc problem. There is two problems actually: lld crashes when built with the default stack size. But even when built with a larger stack size, it would crash when built with the musl mallocng allocator, because that allocator produces a very bad result for this allocation pattern and would exceed the default max_map_count value while linking firefox. Building musl with the oldalloc allocator works, but is very slow. Instead, I am LD_PRELOADing mimalloc here to work around this issue.
There is still an issue with dynamic linker path when running the resulting firefox. it is necessary to put /path-of-unwrapped-firefox/lib/firefox in the LD_LIBRARY_PATH manually, otherwise it will not start. i don't know why exactly.FixedThunderbird builds and works as well.
Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)nixos/doc/manual/md-to-db.shto update generated release notes