https://gerrit.lix.systems/c/lix/+/1106/1 fixes the first trivial part of the problem.
Then libstore tests fail because the linker is pruning .o files for store implementations due to them not…
@jade do you have a ref to that warning you're talking about? I didn't see it on my side when building in release
mode.
In general I'd say that building with build_type = release
is a…
Yeah, that was fairly obvious and I already have a patch for this. But there are further problems with unit tests and C++ constructors causing store registration to sometimes not work (and that's…
since you say this: lix should really enable lto in nixpkgs. lto makes quite a difference in eval performance (which is why we added it to nix in the first place 🫠)
Should package.nix
…
Getting there.
The last 3MB are in very large part attributable to the Rust lix-doc being statically linked into libnixcmd. It's dragging in a good chunk of runtime, from what I can tell. Not…
with -Db_lto=true
and mesonBuildType = "release";
:
/nix/store/9lhnrg0rwjkk9si9fnpvyrbkkajw32ca-lix-2.90-beta.1 87.4M
/nix/store/awshr3d8a94v2igyf16jh5p8bw9wf93s-nix-2.18.2 …
Current hypothesis: this is because Nix >= 2.10 on GNU stdenvs uses -flto
which Lix doesn't seem to use. This would explain why the discrepancy is only happening on the Linux builds and not the…
With mesonBuildType = "release";
patched in to the nixpkgs expression (and checked that -O3 appears in the build flags):
/nix/store/3nijav5qh5960976z10bmwn99vc8ibik-lix-2.90-beta.1 …
I built the derivation with ninjaFlags = [ "-v" ];
and:
[10/456] g++ -Isrc/libutil/libnixutil.so.p -Isrc/libutil -I../src/libutil -I/nix/store/rh6sv1rpxavhhzprbaqpkqdm4sq39d19-boehm-gc-8.…
Fixed in 38d825b21e425b0f0a64304ff5bfe4dfbeaf9e97. I have a pending changeset (https://gerrit.lix.systems/c/lix/+/1099/1) adding a unit test which would have caught this.