https://hydra.nixos.org/job/nixos/release-18.03/nixpkgs.hydra.x86_64-linux
Possibly a missing propagatedBuildInputs on boost?
Possibly related to: https://github.com/NixOS/nix/issues/1975
In file included from /nix/store/8hkymyx0gycwg23qibbyl7n410gxabf9-nix-2.0pre6137_e3cdcf89-dev/include/nix/derivations.hh:3:0,
from lib/Nix/Store.xs:11:
/nix/store/8hkymyx0gycwg23qibbyl7n410gxabf9-nix-2.0pre6137_e3cdcf89-dev/include/nix/types.hh:12:10: fatal error: boost/format.hpp: No such file or directory
#include <boost/format.hpp>
^~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [mk/patterns.mk:3: lib/Nix/Store.o] Error 1
builder for '/nix/store/jzynkmchp1jf2j95q6lc5jmxldcx3jnf-nix-perl-2.0pre6137_e3cdcf89.drv' failed with exit code 2
cannot build derivation '/nix/store/a4z1c9agcliwjkr4xkq4wq8n0kb1wzx4-hydra-perl-deps.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/9qms3966b6swqpyh1p1w76psachz41q0-hydra-2017-11-21.drv': 1 dependencies couldn't be built
error: build of '/nix/store/9qms3966b6swqpyh1p1w76psachz41q0-hydra-2017-11-21.drv' failed
nix-build '<nixpkgs>' -A hydra
nixpkgs commit 41b1c57d8dd7a6791e90877e9d151fc9994318a1
/cc @domenkozar
Or maybe Hydra should just not use nixUnstable and its perl bindings, but nix.
Yeah, sounds like perl bindings needs (correct?) boost.
I can not offer a fix, but a temporarily workaround: Reverting 8667719f3040b645067a20d9027ebca6977339fb apparently fixed this for me.
@erictapen A cleaner workaround (and possibly the real fix) is to add boost to the propagatedBuildInputs of Nix itself.
Not sure which direction to take with this, though.
The problem with boost in propagatedBuildInputs is that we really only need/want the headers. In any case, hydra should be using nix, not nixUnstable. I'll fix that.
And now nixUnstable.perl-bindings works as well.
Since this change, I get an error trying to start hydra-server. From the log of a test:
hydra# [ 38.522286] hydra-server[1020]: Can't locate CatalystX/RoleApplicator.pm in @INC (you may need to install the CatalystX::RoleApplicator module) (@INC contains: /nix/store/yfhzsc7lpizxb76d9300sy9jawakk5j3-hydra-2017-11-21/libexec/hydra/lib /nix/store/9a33c872rlgda3zqf4x05izyl5jv2hr6-hydra-perl-deps/lib/perl5/site_perl/5.24.3/x86_64-linux-thread-multi /nix/store/9a33c872rlgda3zqf4x05izyl5jv2hr6-hydra-perl-deps/lib/perl5/site_perl/5.24.3 /nix/store/9a33c872rlgda3zqf4x05izyl5jv2hr6-hydra-perl-deps/lib/perl5/site_perl /nix/store/cxdmh98g0lvl1dyq304c1lq7f90dh01f-perl-5.24.3/lib/perl5/site_perl/5.24.3/x86_64-linux-thread-multi /nix/store/cxdmh98g0lvl1dyq304c1lq7f90dh01f-perl-5.24.3/lib/perl5/site_perl/5.24.3 /nix/store/cxdmh98g0lvl1dyq304c1lq7f90dh01f-perl-5.24.3/lib/perl5/site_perl /nix/store/cxdmh98g0lvl1dyq304c1lq7f90dh01f-perl-5.24.3/lib/perl5/5.24.3/x86_64-linux-thread-multi /nix/store/cxdmh98g0lvl1dyq304c1lq7f90dh01f-perl-5.24.3/lib/perl5/5.24.3 .) at /nix/store/yfhzsc7lpizxb76d9300sy9jawakk5j3-hydra-2017-11-21/libexec/hydra/lib/Hydra.pm line 22.
hydra# [ 38.542486] hydra-server[1020]: BEGIN failed--compilation aborted at /nix/store/yfhzsc7lpizxb76d9300sy9jawakk5j3-hydra-2017-11-21/libexec/hydra/lib/Hydra.pm line 22.
hydra# [ 38.548678] hydra-server[1020]: Compilation failed in require at /nix/store/9a33c872rlgda3zqf4x05izyl5jv2hr6-hydra-perl-deps/lib/perl5/site_perl/5.24.3/Catalyst/Utils.pm line 309.
hydra# [ 38.555978] systemd[1]: hydra-server.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
hydra# [ 38.558857] systemd[1]: hydra-server.service: Failed with result 'exit-code'.
edit: It's not quite that simple. I get the same error using the parent commit and adding boost to Nix's propagatedBuildInputs. I'm not sure where this is coming from, but it was introduced since b239b00c4871be44e8d52d72bb2de9ceb27e8c64
edit 2: Sorry for the noise, my issue was unrelated to this one. I've created a PR for it in #39314.
Most helpful comment
The problem with boost in propagatedBuildInputs is that we really only need/want the headers. In any case, hydra should be using
nix, notnixUnstable. I'll fix that.