| 19 Sep 2023 |
vcunat | Uh, it doesn't work with nix run, missing correct mainProgram. | 19:26:01 |
vcunat | Anyway, I also get some segfault. | 19:26:07 |
vcunat | (also hash /nix/store/ymhkgr4r99...) | 19:27:38 |
colemickens | K900 ⚡️: yes. Or at least it flat out didn't open and I just assumed it was the same issue. | 19:34:57 |
K900 | I think I'm off to sleep for now | 19:35:59 |
K900 | I might look at it tomorrow | 19:36:03 |
| 20 Sep 2023 |
Artturin | https://github.com/colemickens/flake-firefox-nightly/pull/12 | 01:13:08 |
K900 | So uh is it still broken | 06:19:51 |
K900 | OK I just tried and yes | 06:40:31 |
K900 | I also just tried injecting the latest patchelf and that didn't help either | 06:40:41 |
| ElvishJerricco joined the room. | 09:25:50 |
Mic92 | You can skip patchelf and use LDLIBRARYPATH and see if that can help you fix the issue. | 10:20:01 |
Mic92 | LD_LIBRARY_PATH | 10:20:14 |
nbp | This is doable, IIRC there is already a wrapper script around Firefox which used to preload everything using ls on Linux. | 10:20:52 |
vcunat | Yes, but I recall issues due to env propagating to sub-processes, so that programs getting run from browser can then get broken. | 10:26:17 |
vcunat | Therefore I don't think $LD_* approaches can be a good solution here. | 10:27:56 |
nbp | hum … indeed, that could happen if an addons were to start something on the system. However, I am not sure this is still possible with WebExtensions. | 10:28:34 |
vcunat | I meant mainly user clicking to open a downloaded file, etc. | 10:29:31 |
K900 | Yeah but it could work as a proof of concept | 10:31:15 |
K900 | To make sure it's patchelf that's breaking things | 10:31:26 |
K900 | $env.LD_LIBRARY_PATH = (nix-instantiate --eval --expr --json 'let pkgs = import <nixpkgs> {}; in pkgs.lib.strings.makeLibraryPath (with pkgs; [ alsa-lib gtk3 xorg.libXtst dbus-glib ])' | jq -r); ./firefox | 10:47:00 |
K900 | Works on the latest nightly | 10:47:03 |
K900 | Time to break it | 10:47:25 |
K900 | * $env.LD_LIBRARY_PATH = (nix-instantiate --eval --expr --json 'let pkgs = import <nixpkgs> {}; in pkgs.lib.strings.makeLibraryPath (with pkgs; [ alsa-lib gtk3 xorg.libXtst dbus-glib ])' | jq -r); ./firefox ( + nix-ld) | 10:47:37 |
K900 | Ok found it | 10:54:11 |
K900 | OK so basically patchelf --set-rpath on pretty much any .so file makes it die horribly | 10:57:16 |
K900 | The executables are fine | 10:57:20 |
K900 | It's the dylibs that are the problem | 10:57:24 |
K900 | https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/applications/networking/browsers/firefox-bin/default.nix#L179-L181 | 10:58:14 |
K900 | I'm pretty sure this is entirely unnecessary | 10:58:20 |