-
-
Notifications
You must be signed in to change notification settings - Fork 14.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pkgsMusl.firefox: fix build #191060
pkgsMusl.firefox: fix build #191060
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 = true
set 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.sh
to update generated release notes