!VRULIdgoKmKPzJZzjj:nixos.org

Nix Hackers

964 Members
For people hacking on the Nix package manager itself203 Servers

Load older messages


SenderMessageTime
10 Aug 2021
@Las:matrix.orgLas
In reply to @sternenseemann:systemli.org
I think it performs much worse for big repos
I tested it on Nixpkgs lol
12:39:23
@Las:matrix.orgLasThough perhaps it was because I had already fetched an earlier commit?12:39:43
@niksnut:matrix.orgniksnut The github fetcher is way faster than git. 12:42:25
@niksnut:matrix.orgniksnutOften it's even faster in cases where git can do an incremental fetch.12:43:18
@sternenseemann:systemli.orgsterni
In reply to @pamplemouss_:matrix.org

I am trying to compile nix a non nixos (ubuntu) using clang.
I am using nix develop .#nix-clang11Stdenv (thanks to https://github.com/NixOS/nix/pull/4996) , but I get plenty of errors when linking src/libutil/libnixutil.so

/nix/store/qvc6cz5d43jhhm4a3r48xkrc82xh1s95-binutils-2.35.1/bin/ld: src/libutil/libnixutil.so.p/archive.cc.o: in function `nix::dump(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, nix::Sink&, std::function<bool (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>&)':                                   
/src/nix/build/../src/libutil/archive.cc:73: undefined reference to `std::allocator<char>::allocator()'

[... and many more…]

Feels like the flake.nix might be missing stdlib, but I tried adding libcxx without success, and libstdcxx5 fails to build.

have you tried llvmPackages_11.libcxxStdenv?
12:44:42
@Las:matrix.orgLas
In reply to @niksnut:matrix.org
The github fetcher is way faster than git.
Do you think there are any ways of making the Git fetcher faster?
12:45:15
@sternenseemann:systemli.orgsterni also these usually use binutils' ld.bfd which sometimes causes weird problems linking C++, so pkgsLLVM.stdenv may be worth a try which uses lld 12:46:35
@sternenseemann:systemli.orgsterni * pamplemousse: also these usually use binutils' ld.bfd which sometimes causes weird problems linking C++, so pkgsLLVM.stdenv may be worth a try which uses lld 12:46:45
@niksnut:matrix.orgniksnutQuick test: fetching github:NixOS/nixpkgs => 16.5s, git+https://github.com/NixOS/nixpkgs => 131.5s, doing the latter again => 11.3s12:48:54
@niksnut:matrix.orgniksnutFetching git+https://github.com/NixOS/nixpkgs?shallow=1 => 85.2s12:52:31
@niksnut:matrix.orgniksnutThat's probably the best we can do with git.12:52:54
@Las:matrix.orgLasHmm, thanks13:00:40
@Las:matrix.orgLasThe issue is you can't check commit signatures when using the github fetcher13:01:01
@Las:matrix.orgLas
In reply to @niksnut:matrix.org
Fetching git+https://github.com/NixOS/nixpkgs?shallow=1 => 85.2s
I tried this on my own machine, and it did indeed take ages (so long I interrupted it), but time git clone git://github.com/NixOS/nixpkgs --depth 1 took 10.31 seconds according to time.
13:31:10
@Las:matrix.orgLasAre you sure something isn't broken in the Git integration in Nix? This is an extreme difference.13:31:53
@niksnut:matrix.orgniksnut
In reply to @Las:matrix.org
I tried this on my own machine, and it did indeed take ages (so long I interrupted it), but time git clone git://github.com/NixOS/nixpkgs --depth 1 took 10.31 seconds according to time.
Yes, that's what ?shallow= does.
13:32:06
@niksnut:matrix.orgniksnuthm13:32:18
@Las:matrix.orgLasI wonder why it takes so long then13:32:20
@balsoft:balsoft.rubalsoftBTW I can confirm that Nix' fetcher is way slower than fetching manually13:32:38
@niksnut:matrix.orgniksnutNix just calls git, it doesn't fetch itself13:33:29
@niksnut:matrix.orgniksnutLooks like we're not passing --depth 113:34:39
@Las:matrix.orgLasisn't it not shallow then?13:34:48
@niksnut:matrix.orgniksnutyeah13:36:14
@pamplemouss_:matrix.orgpamplemousse
In reply to @sternenseemann:systemli.org
pamplemousse: also these usually use binutils' ld.bfd which sometimes causes weird problems linking C++, so pkgsLLVM.stdenv may be worth a try which uses lld
I think https://github.com/NixOS/nix/pull/4996/files#diff-206b9ce276ab5971a2489d75eb1b12999d4bf3843b7988cbe8d687cfde61dea0L600-R631 makes nix develop automatically pick the stdenv corresponding to what I need (I do nix develop .#nix-clang11Stdenv.
16:10:34
@pamplemouss_:matrix.orgpamplemousse sterni (he/him): and I get an /nix/store/qvc6cz5d43jhhm4a3r48xkrc82xh1s95-binutils-2.35.1/bin/ld: cannot find -lc++abi when trying to use llvmPackages_11.libcxx 17:50:04
@sternenseemann:systemli.orgsternilibcxx or libcxxStdenv?17:50:41
@pamplemouss_:matrix.orgpamplemousse libcxx
got an /nix/store/qvc6cz5d43jhhm4a3r48xkrc82xh1s95-binutils-2.35.1/bin/ld: cannot find -lc++ with libcxxStdenv
(both from llvmPackages_11)
17:59:58
@sternenseemann:systemli.orgsterni what were you doing exactly? libcxxabi is in extraPackages of libcxxClang, so it should not fail in this way 18:01:23
@vcunat:matrix.orgVladimír Čunát
In reply to @Las:matrix.org
The issue is you can't check commit signatures when using the github fetcher
Does it make sense to check git signature unless you have the whole history? (up to that commit; in particular, no --depth stuff)
18:49:20
@Las:matrix.orgLas
In reply to @vcunat:matrix.org
Does it make sense to check git signature unless you have the whole history? (up to that commit; in particular, no --depth stuff)
I'm not sure. I found other ways of heavily reducing the time it takes to fetch Nixpkgs, specifically --filter=tree:0, but it still takes 4 times as much time.
18:56:55

Show newer messages


Back to Room ListRoom Version: 6