!VRULIdgoKmKPzJZzjj:nixos.org

Nix Hackers

909 Members
For people hacking on the Nix package manager itself190 Servers

Load older messages


SenderMessageTime
10 Jun 2021
@krey:matrix.orgKrey changed their display name from KREYREN to asdf.20:41:51
@krey:matrix.orgKrey changed their display name from asdf to asdfj.20:43:41
@krey:matrix.orgKrey changed their profile picture.21:29:31
@garbas:matrix.orggarbas joined the room.21:39:13
11 Jun 2021
@krey:matrix.orgKrey changed their display name from asdfj to Krey.11:52:21
@krey:matrix.orgKrey changed their profile picture.23:31:58
14 Jun 2021
@Ericson2314:matrix.orgJohn Ericson Regnat: niksnut: would you mind doing ~30 minutes later? I have a previous meeting that was longer than i thought 13:39:09
17 Jun 2021
@ma27:nicht-so.sexyma27 niksnut: any chance to get a review for https://github.com/NixOS/nix/pull/4770 ? :) 23:13:57
18 Jun 2021
@Las:matrix.orgLasWhat's remaining for flakes to become stable?12:10:18
@pamplemouss_:matrix.orgpamplemousse joined the room.16:02:54
21 Jun 2021
@theophane:hufschmitt.netRegnat John Ericson niksnut I’ll be 5 mins late 14:01:08
@niksnut:matrix.orgniksnut
In reply to @theophane:hufschmitt.net
John Ericson niksnut I’ll be 5 mins late
Hm the meeting has disappeared from my calendar
14:04:59
@theophane:hufschmitt.netRegnat
In reply to @niksnut:matrix.org
Hm the meeting has disappeared from my calendar
Duh ? It’s https://meet.google.com/udu-spei-gpt
14:05:30
@niksnut:matrix.orgniksnut
In reply to @ma27:nicht-so.sexy
niksnut: any chance to get a review for https://github.com/NixOS/nix/pull/4770 ? :)
Thanks, I added some comments!
14:56:32
@ryantm:matrix.orgryantmhttps://github.com/NixOS/nixpkgs/issues/12614117:00:36
22 Jun 2021
@pamplemouss_:matrix.orgpamplemousseHey all 👋23:53:39
@pamplemouss_:matrix.orgpamplemousse As part of the https://discourse.nixos.org/t/tweag-fellowship-fuzzing-nix-0/ , I am tweaking the nix build system. 23:54:43
@pamplemouss_:matrix.orgpamplemousse

And some things are pretty mysterious...
For example, when using --prefix=outputs/out:

[pamplemousse@wasu:~/Workspace/tools/nix]$ ldd outputs/out/bin/nix-build
        [...]
        libnixexpr.so => /home/pamplemousse/Workspace/tools/nix/outputs/out/lib/libnixexpr.so (0x00007f1b1fe51000)
        libnixmain.so => /home/pamplemousse/Workspace/tools/nix/outputs/out/lib/libnixmain.so (0x00007f1b1fafe000)
        libnixfetchers.so => /home/pamplemousse/Workspace/tools/nix/outputs/out/lib/libnixfetchers.so (0x00007f1b1f735000)
        libnixstore.so => /home/pamplemousse/Workspace/tools/nix/outputs/out/lib/libnixstore.so (0x00007f1b1ea89000)
        libnixutil.so => /home/pamplemousse/Workspace/tools/nix/outputs/out/lib/libnixutil.so (0x00007f1b1e49b000)
        libnixcmd.so => /home/pamplemousse/Workspace/tools/nix/outputs/out/lib/libnixcmd.so (0x00007f1b1e2b9000)
        [...]

I don't understand how the outputs/out/lib/*.so are referenced here... (i.e. where in the .mk these are set up).

23:58:22
23 Jun 2021
@abathur:matrix.orgabathur
In reply to @pamplemouss_:matrix.org

And some things are pretty mysterious...
For example, when using --prefix=outputs/out:

[pamplemousse@wasu:~/Workspace/tools/nix]$ ldd outputs/out/bin/nix-build
        [...]
        libnixexpr.so => /home/pamplemousse/Workspace/tools/nix/outputs/out/lib/libnixexpr.so (0x00007f1b1fe51000)
        libnixmain.so => /home/pamplemousse/Workspace/tools/nix/outputs/out/lib/libnixmain.so (0x00007f1b1fafe000)
        libnixfetchers.so => /home/pamplemousse/Workspace/tools/nix/outputs/out/lib/libnixfetchers.so (0x00007f1b1f735000)
        libnixstore.so => /home/pamplemousse/Workspace/tools/nix/outputs/out/lib/libnixstore.so (0x00007f1b1ea89000)
        libnixutil.so => /home/pamplemousse/Workspace/tools/nix/outputs/out/lib/libnixutil.so (0x00007f1b1e49b000)
        libnixcmd.so => /home/pamplemousse/Workspace/tools/nix/outputs/out/lib/libnixcmd.so (0x00007f1b1e2b9000)
        [...]

I don't understand how the outputs/out/lib/*.so are referenced here... (i.e. where in the .mk these are set up).

not familiar with building nix, but it looks it's fairly abstracted :)
the individual local.mk files scattered through the source get iteratively processed at https://github.com/NixOS/nix/blob/master/mk/lib.mk#L96 and then instantiated a few lines later
03:13:13
@abathur:matrix.orgabathurnot certain if that answers the question03:13:28
@pamplemouss_:matrix.orgpamplemousse Yeah, I more or less figured that.
What I am confused about is that as per mk/libraries.mk, it seems that the libraries libnix*.so are built in their respective src/lib*/, and only moved to outputs/out/ (or whatever is in --prefix) when make install (mk/lib.mk using "functions" declared in mk/install.mk).
I don't get how the final binary is linked agains't it before they are installed 😕
03:19:19
@theophane:hufschmitt.netRegnat pamplemousse as far as I understand, the link logic is actually duplicated: make will build everything in place (and src/nix/nix will use the libs built in-tree), while make install will directly link things at their final location, and set the rpath to this location (here) 05:17:47
@theophane:hufschmitt.netRegnat So running make and make install will actually result in two different builds of the .so files 05:19:09
@anubhavkini:matrix.organubhavkini joined the room.06:52:53
@jtojnar:matrix.orgJan TojnarAny chance of getting https://github.com/NixOS/nix/pull/4873 in?15:38:50
@pamplemouss_:matrix.orgpamplemousse I didn't think about the rpath🤦‍♂️ 16:01:53
@pamplemouss_:matrix.orgpamplemousse
In reply to @theophane:hufschmitt.net
So running make and make install will actually result in two different builds of the .so files
Do you mean that the .so will be compiled twice?
16:03:00
@theophane:hufschmitt.netRegnat
In reply to @pamplemouss_:matrix.org
Do you mean that the .so will be compiled twice?
I think so, yes
16:53:59
@theophane:hufschmitt.netRegnat (I mean, if you just run make install then the in-tree so won’t be compiled, but if you run both, then they will be compiled twice) 16:54:33
@pamplemouss_:matrix.orgpamplemousse 🤔 ...
I thought they were only compiled on make, and mved on make install.
Rest is rpath doing its job at run-time, and being set to the proper destination on make install...
16:55:24

Show newer messages


Back to Room ListRoom Version: 6