phreedom has joined joined #nixos-dev
<bgamari> Sonarpulse, how do we deal with pkgconfig calls?
<bgamari> it's not clear to me whether a particular pkg-config refers to the host or the build machine
<gchristensen> bgamari: grep nixpkgs for pkgconfig and you'll find copious examples, I forget how it is called but IIRC Sonarpulse fixed all of them a month ago or so
<bgamari> hmm
infinisil has quit [(Quit: ZNC 1.6.5 - http://znc.in)]
infinisil has joined joined #nixos-dev
<clever> bgamari: also handy, "git log --patch" and then /pkgconfig, that will search the diffs, most recent to oldest
<bgamari> I still feel like I'm missing something
<bgamari> it's still very much unclear to me how we determine that a particular pkgconfig call is asking for libraries for the build or host environment
<bgamari> it seems like fd9c7eb2e8c1755b606cb0d7dab2ba0bb93e36ed and nearby commits are relevant
<Sonarpulse> bgamari: we might need prefixed pkg-config wrapper
<Sonarpulse> just like binutils wrapper
<Sonarpulse> the sort of dependency pkg-config is will affect things
<bgamari> right
<Sonarpulse> but that's not sufficient
<bgamari> right
<bgamari> I think I'm running into this now
<Sonarpulse> because stil one PKGCONFIG_PATH or whatever its called
orivej has quit [(Ping timeout: 260 seconds)]
<bgamari> Sonarpulse, indeed it seems that pkg-config is quite broken for packages in nixpkgs.buildPackages
<bgamari> PKGCONFIG_PATH doesn't appear to be set at all
mbrgm has quit [(Ping timeout: 240 seconds)]
mbrgm has joined joined #nixos-dev
<Sonarpulse> bgamari: you mean when building buildPackages.foo
<Sonarpulse> PKGCONFIG_PATH isn't set
<Sonarpulse> or if there is only nativeBuildInputs, it isn't set?
ma27 has quit [(Ping timeout: 258 seconds)]
peti has joined joined #nixos-dev
orivej has joined joined #nixos-dev
goibhniu has joined joined #nixos-dev
<orivej> vcunat: could you restart aborted trunk jobs https://hydra.nixos.org/eval/1417636 ?
<orivej> vcunat: ah, it is not recent enough
vcunat has joined joined #nixos-dev
FRidh has joined joined #nixos-dev
romildo has joined joined #nixos-dev
Mic92 has quit [(Quit: WeeChat 2.0)]
Mic92 has joined joined #nixos-dev
Mic92 has quit [(Client Quit)]
Mic92 has joined joined #nixos-dev
romildo has quit [(Quit: Leaving)]
_rvl_ has quit [(Quit: ZNC 1.6.5 - http://znc.in)]
_rvl has joined joined #nixos-dev
ma27 has joined joined #nixos-dev
<gchristensen> niksnut: it seems the nixos channels are being blocked by bad paths in builder stores, with errors like this: https://hydra.nixos.org/build/65315352/nixlog/18
<vcunat> well, I've been manually restarting those jobs so that we get bumps at least once every few days
<gchristensen> its been 7 days for unstable and 17.09
<vcunat> I had been kicking this one for 17.09 https://hydra.nixos.org/build/65755054
<vcunat> (contains all CVE fixes I know of)
<gchristensen> ah
<gchristensen> but the issue does still exist on many builders right?
<vcunat> it's just waiting for a few dozen jobs to finish
ma27 has quit [(Ping timeout: 276 seconds)]
<vcunat> it seems to exist on most of the unnamed ones (maybe on all of them)
<gchristensen> ok
<vcunat> The issue has been fixed in both channels, so new images shouldn't be affected,
<vcunat> but I suppose the machines are still started/running with some older images.
<gchristensen> not the issue in nixpkgs, but the issue being "hydra can't reliably build channels"
<vcunat> Not long ago it did build them succesfully but they were broken.
<vcunat> (the ISOs didn't boot)
<vcunat> well, for more information see the ticket :-) https://github.com/NixOS/nixpkgs/issues/32242
<gchristensen> yes I know
<gchristensen> but are any/most builders still emitting "has invalid {permissions,mtime}" or are all of them resolved of this issue?
<vcunat> They are still emitting it.
<gchristensen> ok, then my ping for Eelco to fix it stands?
<vcunat> Probably. I didn't dig too deep, so I expect it's only needed to purge those machines and re-deploy from newer images, but it's possible there's still some other bug in nixpkgs causing this.
<Sonarpulse> domenkozar: about to head to work, but wanted to let you know I think I now have something reasonably isolated to fix for mingw
<domenkozar> Sonarpulse: to get mingw to compile or to get ghc to compile with mingw?
<Sonarpulse> former
<domenkozar> nice!
<Sonarpulse> is due to a slight difference on old nixpkgs
<Sonarpulse> me applying fixes to the before and after of a breaking PR to try to isolate the problem
<Sonarpulse> when I merged with later stuff, cross stdenv ones mostly went away
<Sonarpulse> but the mingw one remains
<domenkozar> once mingw works, we might see how hard it is to cross compile ghc :)
<Sonarpulse> domenkozar: indeed!
<Sonarpulse> I hope it might not be too bad at all
<domenkozar> that would be magical
<domenkozar> I have some ghc patches to apply and getting just binary distribution with Nix would be huge step
<Sonarpulse> ah yeah
<Sonarpulse> the error is this GCC_NO_EXECUTABLES thing
<Sonarpulse> it popped up before in the arm build != host == target builds
<Sonarpulse> no idea what it is doing in the mingw build == host != target build
<Sonarpulse> especially as I thought my fixes on that old commits solved such problems
<Sonarpulse> but we'll see
<Sonarpulse> work now ttyl
<domenkozar> Sonarpulse: I don't know the details but very exciting :)
<domenkozar> Sonarpulse: oh one more thing
<Sonarpulse> domenkozar: sure
<Sonarpulse> I didn't actually put away my laptop yet :D
<domenkozar> Sonarpulse: what's missing for ghc boostrapping PR to be merged?
<domenkozar> could we ship what you have an improve later?
<Sonarpulse> domenkozar: it's not working :/
<Sonarpulse> I forget the exact error
<Sonarpulse> some install phase thing
<Sonarpulse> maybe bgamari can help
<domenkozar> Sonarpulse: so 8.0.2 is bootstrapped with latest 7.x?
<Sonarpulse> or maybe even with 8.x
<bgamari> perhaps
<Sonarpulse> i forget
<Sonarpulse> bgamari: it's configured with username "ben" :D
<bgamari> I would need to know how to reproduce the error first though
<Sonarpulse> sure
<Sonarpulse> now I actually need to head in
<Sonarpulse> but I can link PR
<Sonarpulse> should be very reproducable
<Sonarpulse> (install from binary is fast drv)
<domenkozar> Sonarpulse: do all binary variants fail this way?
Sonarpulse has quit [(Ping timeout: 255 seconds)]
Sonarpulse has joined joined #nixos-dev
aminechikhaoui has quit [(Ping timeout: 248 seconds)]
aminechikhaoui has joined joined #nixos-dev
jtojnar has quit [(Quit: jtojnar)]
aminechikhaoui has quit [(Ping timeout: 260 seconds)]
aminechikhaoui has joined joined #nixos-dev
JosW has joined joined #nixos-dev
<domenkozar> aight only happy on darwin left for multiple outputs..
ma27 has joined joined #nixos-dev
olejorgenb[m] has joined joined #nixos-dev
aminechikhaoui has quit [(Read error: Connection reset by peer)]
Dezgeg has quit [(Ping timeout: 264 seconds)]
Dezgeg has joined joined #nixos-dev
goibhniu has quit [(Ping timeout: 268 seconds)]
<gchristensen> niksnut: when you _do_ release a new nix, will we be able to merge & deploy that aarch64 patch to the website too? :)
vcunat has quit [(Ping timeout: 250 seconds)]
Dezgeg has quit [(Ping timeout: 255 seconds)]
ma27 has quit [(Ping timeout: 255 seconds)]
JosW has quit [(Quit: Konversation terminated!)]
ma27 has joined joined #nixos-dev
Dezgeg has joined joined #nixos-dev
Dezgeg has quit [(Ping timeout: 250 seconds)]
Dezgeg has joined joined #nixos-dev
Dezgeg has quit [(Ping timeout: 240 seconds)]
Dezgeg has joined joined #nixos-dev
<gchristensen> mass rebuild on its way sometime soon with this glibc bug
ma27 has quit [(Ping timeout: 255 seconds)]
ma27 has joined joined #nixos-dev
Jackneilll has joined joined #nixos-dev
Jackneill has quit [(Ping timeout: 240 seconds)]
<catern> anyone looked at https://github.com/NixOS/nixpkgs/pull/29785 yet?
<catern> would really like to have it merged
ma27 has quit [(Ping timeout: 240 seconds)]
ma27 has joined joined #nixos-dev
<simpson> catern: Just to double-check, your use case is that you have an app which links against libcurl, and you want that app to grow Kerb support, yes?
ma27 has quit [(Ping timeout: 255 seconds)]
Dezgeg has quit [(Ping timeout: 246 seconds)]
<catern> simpson: yes, assuming by "you have an app" you mean "there is an app already in existence in nixpkgs"
<catern> and there are multiple apps
<simpson> Well, I'm just double-checking that I understand what you want to accomplish. These kinds of across-the-system package inclusions are kind of gnarly because it's not clear where to put the flag which controls them outside of NixOS.
<catern> basically there are a lot of apps that link against libcurl which could support Kerberos
Dezgeg has joined joined #nixos-dev
<simpson> Yeah, but which ones do you need specifically? Would there ever be a reason to build them without Kerb?
<catern> ah, you've caught me, I can't name them exactly since I don't know - the main one is the command line utility curl itself, but really I don't know what exactly my users will want to use
<simpson> Oh. Well, I wasn't really expecting this.
<catern> did you have some solution in mind?
<simpson> Well, if there's some applications that clearly always want Kerb support, then we should figure out how to default them to having it enabled.
<simpson> I literally don't know anything about your situation other than what you've said here and in the PR, y'know?
<catern> Ah, sure
<catern> I mean, my contention is that libcurl should be compiled with Kerb by default
<catern> That would just solve the problem for everything
<catern> But since that would grow the closure a fair bit, have fetchurl use a special more-minimal curl
<simpson> Huh, but doesn't that require blessing a specific Kerb and SSL library?
ma27 has joined joined #nixos-dev
<catern> Well, sure, but variability is what Nix is all about :) we already use "kerberos" as a generic kerb library
<catern> and users can override "kerberos" to get a different Kerb library everywhere
<LnL> I think there's a significant amount of packages that depend on libcurl so enabling it by default probably also impacts rebuilds/closure size
<LnL> but that might be fine, not sure
<catern> Right
<simpson> The rebuilds aren't a problem. Just stage the change until the next time we need to bump curl's version.
<gchristensen> there is a glibc mass rebuild coming soon anyway
<LnL> my point is that every kerberos update will cause large rebuilds
<gchristensen> true
<simpson> LnL: Oh, good point.
<LnL> might already be the case, just somethig to be aware of
<domenkozar> LnL: can you remind me what outputs cycle for happy on macOS?
globin has quit [(Ping timeout: 240 seconds)]
<domenkozar> LnL: I don't see out<->bin cycle
<LnL> bin is prropagated by out so binaries are available by default
<LnL> but the binary has rpath references to out
<domenkozar> ah it's propagated
<domenkozar> how does that work on linux O_O
<LnL> we generally use absolute paths to link against libraries, but then we run into the mach-o limit pretty quickly
<domenkozar> we could just statically link executable
<LnL> yeah, not sure linux also uses rpath for everything AFAIK
<domenkozar> for alex and happy that makes a lot of sense
<domenkozar> I'll try that if it helps
<LnL> unless that's not not the case for haskell stuff
<sphalerite> OTT! I've just tried digging up my soname stuff again, but I'm stumped as to why it doesn't actually work
<clever> LnL: one thing i have thought about to deal with that mach-o limit, put a directory in the same output as the binary, that is filled with symlinks for the libs?
<Sonarpulse> clever: we have a solution for the limit
<Sonarpulse> in 17.03
<Sonarpulse> I just need to rebase again
<clever> ah
<domenkozar> LnL: funnily binary points to a file in lib that doesn't exist
<sphalerite> Does anyone know why this might stop gcc from building? https://github.com/NixOS/nixpkgs/compare/master...lheckemann:soname
<sphalerite> because it would be really nice if we could finally close https://github.com/NixOS/nixpkgs/issues/24844 but I don't understand the failure
<Sonarpulse> sphalerite: oh good!
<Sonarpulse> I was wondering if you were still working on that
<sphalerite> well not really, just picked it up again about 15min ago
<sphalerite> I just don't get why this would cause `/nix/store/l1ylb8p30y651wjwhkpbp6k1p2bxw5l9-binutils-2.28.1/bin/ld: /build/build/./gcc/liblto_plugin.so: error loading plugin: /nix/store/lbn4a70npi2v5czhvbbxap8cl32j04jd-glibc-2.26-75/lib/libc-2.26.so: symbol __tunable_get_val, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference`
<sphalerite> My best guess is a patchelf bug, but… I don't understand enough of this low-level stuff to really know
<LnL> domenkozar: oh didn't notice that, then the links creation isn't correct with a bin output
<LnL> clever: that's what we already do
<clever> ah, nice
<LnL> but the limit is pretty conservative so you can still hit it when you have a lot of dependencies
<Sonarpulse> sphalerite: hmmm
<sphalerite> Sonarpulse: I'm going to try building it without the exclusions (i.e. remove the -not -name ld*, and the noAbsoluteSoname from all the derivations) and compare some nm outputs at the points of failure
<Sonarpulse> sphalerite: it is interesting this has something to do with the loader itself
<Sonarpulse> ld-linux-x86-64.so.2
<sphalerite> Rebuilding… bootstraps are fuuuuuuun…
<Sonarpulse> so if this is like a dlopen call
<Sonarpulse> would it need to be the vanilla soname?
<sphalerite> I don't think the soname should affect runtime at all
<Sonarpulse> sphalerite: I guess I don't quite know the rules for resolving -lasdf against /foo/bar/asdf
<Sonarpulse> if it's fine, then great
<sphalerite> AFAIU that just searches all the -L paths. soname doesn't come into play until after the library has already been found, and is just used to generate the DT_NEEDED entry
<sphalerite> AFAIU. I might be completely wrong.
<Sonarpulse> sphalerite: that seems reasonable
<sphalerite> Sonarpulse: completely unrelated, it amuses me how similar your online alias is conceptually to my dad's (soundray) :D
<Sonarpulse> oh, hah
<Sonarpulse> mine is from red alert; i feel like "sound ray" could be from a sequel
<sphalerite> on the topic of linking again, I also don't get why a shared library can't be used in the same way as a static library
<Sonarpulse> sphalerite: what do you mean by that?
<Sonarpulse> -lasdf will happy resolve to either
<sphalerite> I mean why a shared library can't be linked statically
<Sonarpulse> it doesn't have enough relocations
<sphalerite> that is, rather than putting in a reference to the shared library file, copy all the relevant code into the resulting binary
<Sonarpulse> i mean one can sort of do it
<Sonarpulse> I guess I sort of have done that
orivej_ has joined joined #nixos-dev
ciil_ has joined joined #nixos-dev
fgaz_ has joined joined #nixos-dev
<sphalerite> aaaaaaaaaargh. I had a condition the wrong way round, now I have to start the whole bootstrap all over again :'(
<Sonarpulse> sphalerite: :( you can try to hack in setup hook for just one drv though
<Sonarpulse> sphalerite: https://github.com/cncnet/ I guess most of it was closed source
<Sonarpulse> but we were adding in extra object files to existing executable
<Sonarpulse> the trampolines and other strategies used for dynamic library "relocations" can be made to fit
<sphalerite> yeah I've done that previously and it worked fine
infinisil has joined joined #nixos-dev
bgamari has joined joined #nixos-dev
fgaz_ is now known as fgaz
<bgamari> clever, do you have any trick for building a whole disk image with a vfat filesystem?
<bgamari> It looks like you punted on this problem in not-os
<bgamari> and the nix-os image creation expression seems to rely on debug2fs, which isn't an option for vfat
<bgamari> mtools only supports fat16 iirc
<bgamari> and it seems that it isn't possible to run a builder as root, so mount isn't an option
<Dezgeg> mtools does fat32, but it sucks in other ways
<Dezgeg> cptofs from lkl should be the best
<bgamari> ahh
<bgamari> Dezgeg, you say "should be the best"
<bgamari> and indeed it looks great
<bgamari> is there a caveat?
<Dezgeg> shouldn't be
<Dezgeg> at least for vfat, for ext4 debug2fs is still required for things like the non-default permissions and such
<bgamari> ahh
<bgamari> I see
<bgamari> Dezgeg, any recommendations for formatting said image?
<Dezgeg> mkfs.vfat or what do you mean?
<bgamari> Dezgeg, I also have a partition table, sadly
<bgamari> so I need to format a range in the file
<Dezgeg> see nixos/modules/installer/cd-dvd/sd-image.nix then
<bgamari> fair enough
<Dezgeg> it has the magic dd to place it in the correct sectors
<bgamari> mmm
<clever> at this point, i would rather use a qemu vm on x86
<Dezgeg> näh :)
<clever> i had the fun of inspecting an LVM on MBR disk image this week, without losetup -P
<LnL> this isn't normal, right?
<LnL> nix-instantiate --eval -E '"${/nix/store/6vjwsyv4il8f9jm3wylbzmbbsa70qc33-hello-2.10}"'
<LnL> "/nix/store/gwr8dyg7fzvb7lrq3q5jm9bgnmpw0rqb-6vjwsyv4il8f9jm3wylbzmbbsa70qc33-hello-2.10"
<clever> LnL: that does seem not quiet right
<LnL> do you get the same thing?
<LnL> this is with nix master
<clever> [root@amd-nixos:~]# nix-instantiate --eval -E '"${/nix/store/6vjwsyv4il8f9jm3wylbzmbbsa70qc33-hello-2.10}"'
<clever> "/nix/store/gwr8dyg7fzvb7lrq3q5jm9bgnmpw0rqb-6vjwsyv4il8f9jm3wylbzmbbsa70qc33-hello-2.10"
<clever> exact same hashes, but i agree that it shouldnt work like that
<sphalerite> What should it be doing?
<LnL> I would expect a string with the same path
<LnL> since it's in the store already
<sphalerite> Oooh silly me I was looking at clever's
terrorjack has quit [(Ping timeout: 258 seconds)]
terrorjack has joined joined #nixos-dev