Hydra does not build with Lix #203

Closed
opened 2024-03-30 22:31:48 +00:00 by qyriad · 9 comments
Owner

Hydra expects Nix 2.19, while Lix is based off of 2.18. We should probably either provide a patched Hydra, or implement the parts of 2.19 that Hydra expects. Here's the build log, when using https://git.lix.systems/lix-project/nixos-module and building with pkgs.hydra-unstable.override { nix = pkgs.nix; }:

@nix { "action": "setPhase", "phase": "unpackPhase" }
Running phase: unpackPhase
unpacking source archive /nix/store/slr9r9l8pbz8kif2mx29clfkwdxr4b1a-source
source root is source
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: patchPhase
substituteStream(): WARNING: '--replace' is deprecated, use --replace-{fail,warn,quiet}. (file 't/lib/HydraTestContext.pm')
@nix { "action": "setPhase", "phase": "autoreconfPhase" }
Running phase: autoreconfPhase
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force 
autoreconf: configure.ac: tracing
autoreconf: configure.ac: creating directory config
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'config'.
libtoolize: copying file 'config/ltmain.sh'
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
libtoolize: and rerunning libtoolize and aclocal.
libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: aclocal --force 
autoreconf: running: /nix/store/wxsibxw4kdzmnfxh4zgrzsr8dp4q2v7k-autoconf-2.72/bin/autoconf --force
configure.ac:10: warning: The macro 'AC_PROG_LIBTOOL' is obsolete.
configure.ac:10: You should run autoupdate.
aclocal.m4:398: AC_PROG_LIBTOOL is expanded from...
configure.ac:10: the top level
configure.ac:81: warning: The macro 'AC_CONFIG_HEADER' is obsolete.
configure.ac:81: You should run autoupdate.
./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from...
configure.ac:81: the top level
autoreconf: running: /nix/store/wxsibxw4kdzmnfxh4zgrzsr8dp4q2v7k-autoconf-2.72/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:7: installing 'config/compile'
configure.ac:10: installing 'config/config.guess'
configure.ac:10: installing 'config/config.sub'
configure.ac:3: installing 'config/install-sh'
configure.ac:3: installing 'config/missing'
src/hydra-eval-jobs/Makefile.am: installing 'config/depcomp'
autoreconf: 'config/install-sh' is updated
autoreconf: Leaving directory '.'
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
Updating Autotools / GNU config script to a newer upstream version: ./config/config.sub
Updating Autotools / GNU config script to a newer upstream version: ./config/config.guess
@nix { "action": "setPhase", "phase": "configurePhase" }
Running phase: configurePhase
fixing libtool script ./config/ltmain.sh
./configure
patching script interpreter paths in ./configure
./configure: interpreter directive changed from "#! /bin/sh" to "/nix/store/087167dfxal194pm54cmcbbxsfy3cjgn-bash-5.2p26/bin/sh"
configure flags: --disable-static --disable-dependency-tracking --prefix=/nix/store/v7pz2bpzlrn50hfi9v45vs28y75mk0l5-hydra-2023-12-24 --with-docbook-xsl=/nix/store/l4kc1n5g212d2dzs94rdcdrgirvdwwmr-docbook-xsl-nons-1.79.2/xml/xsl/docbook
checking for a BSD-compatible install... /nix/store/x1xcjw5628crkk1pwr12y7nwbzkc3969-coreutils-9.4/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /nix/store/x1xcjw5628crkk1pwr12y7nwbzkc3969-coreutils-9.4/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... none
checking whether ln -s works... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /nix/store/y1y3rml47qnh0giqd32mj07qxxqy13qg-gnused-4.9/bin/sed
checking for grep that handles long lines and -e... /nix/store/11b3chszacfr9liy829xqknzp3q88iji-gnugrep-3.11/bin/grep
checking for egrep... /nix/store/11b3chszacfr9liy829xqknzp3q88iji-gnugrep-3.11/bin/grep -E
checking for fgrep... /nix/store/11b3chszacfr9liy829xqknzp3q88iji-gnugrep-3.11/bin/grep -F
checking for ld used by gcc... ld
checking if the linker (ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for ld option to reload object files... -r
checking for file... file
checking for objdump... objdump
checking how to recognize dependent libraries... (cached) pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking dependency style of g++... none
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse nm output from gcc object... ok
checking for sysroot... no
checking for a working dd... /nix/store/x1xcjw5628crkk1pwr12y7nwbzkc3969-coreutils-9.4/bin/dd
checking how to truncate binary pipes... /nix/store/x1xcjw5628crkk1pwr12y7nwbzkc3969-coreutils-9.4/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... ld -m elf_x86_64
checking if the linker (ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether the compiler supports GNU C++... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking for g++ option to enable C++11 features... (cached) none needed
checking dependency style of g++... (cached) none
checking for xsltproc... /nix/store/zhkgm2m3j0idyl17lxhm0nz57q36d00p-libxslt-1.1.39-bin/bin/xsltproc
checking for perl... /nix/store/jr2c1rk91nqlfz5a5lwfq2kyilxzj879-perl-5.38.2/bin/perl
checking for nix-store... /nix/store/ywwvwsjq0nzafgz0gj3nc8aybd0b2b0g-nix-2.18.3-lixpre20240328-47b0967/bin/nix-store
checking whether /nix/store/ywwvwsjq0nzafgz0gj3nc8aybd0b2b0g-nix-2.18.3-lixpre20240328-47b0967/bin/nix-store is recent enough... yes
checking pkg-config is at least version 0.9.0... yes
checking for nix-main nix-expr nix-store... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating doc/manual/Makefile
config.status: creating src/Makefile
config.status: creating src/hydra-evaluator/Makefile
config.status: creating src/hydra-eval-jobs/Makefile
config.status: creating src/hydra-queue-runner/Makefile
config.status: creating src/sql/Makefile
config.status: creating src/ttf/Makefile
config.status: creating src/lib/Makefile
config.status: creating src/root/Makefile
config.status: creating src/script/Makefile
config.status: creating t/Makefile
config.status: creating t/jobs/config.nix
config.status: creating t/jobs/declarative/project.json
config.status: creating hydra-config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing executable-scripts commands
@nix { "action": "setPhase", "phase": "buildPhase" }
Running phase: buildPhase
build flags: -j32 SHELL=/nix/store/087167dfxal194pm54cmcbbxsfy3cjgn-bash-5.2p26/bin/bash
make  all-recursive
make[1]: Entering directory '/build/source'
Making all in src
make[2]: Entering directory '/build/source/src'
Making all in hydra-evaluator
make[3]: Entering directory '/build/source/src/hydra-evaluator'
g++ -DHAVE_CONFIG_H -I. -I../..    -std=c++2a -I/nix/store/7qys7llrfd4ac725vl92475rgfx855fy-nix-2.18.3-lixpre20240328-47b0967-dev/include/nix -I/nix/store/w4frcym8rg08xj5fcj9nhxlgn6irqvps-boehm-gc-8.2.4-dev/include -Wall -I ../libhydra -Wno-deprecated-declarations -g -O2 -include nix/config.h -c -o hydra_evaluator-hydra-evaluator.o `test -f 'hydra-evaluator.cc' || echo './'`hydra-evaluator.cc
In file included from [01m[Khydra-evaluator.cc:1[m[K:
[01m[K../libhydra/db.hh:5:10:[m[K [01;31m[Kfatal error: [m[Kenvironment-variables.hh: No such file or directory
    5 | #include [01;31m[K"environment-variables.hh"[m[K
      |          [01;31m[K^~~~~~~~~~~~~~~~~~~~~~~~~~[m[K
compilation terminated.
make[3]: *** [Makefile:443: hydra_evaluator-hydra-evaluator.o] Error 1
make[3]: Leaving directory '/build/source/src/hydra-evaluator'
make[2]: *** [Makefile:363: all-recursive] Error 1
make[2]: Leaving directory '/build/source/src'
make[1]: *** [Makefile:422: all-recursive] Error 1
make[1]: Leaving directory '/build/source'
make: *** [Makefile:350: all] Error 2
Hydra expects Nix 2.**19**, while Lix is based off of 2.**18**. We should probably either provide a patched Hydra, or implement the parts of 2.19 that Hydra expects. Here's the build log, when using https://git.lix.systems/lix-project/nixos-module and building with `pkgs.hydra-unstable.override { nix = pkgs.nix; }`: ``` @nix { "action": "setPhase", "phase": "unpackPhase" } Running phase: unpackPhase unpacking source archive /nix/store/slr9r9l8pbz8kif2mx29clfkwdxr4b1a-source source root is source @nix { "action": "setPhase", "phase": "patchPhase" } Running phase: patchPhase substituteStream(): WARNING: '--replace' is deprecated, use --replace-{fail,warn,quiet}. (file 't/lib/HydraTestContext.pm') @nix { "action": "setPhase", "phase": "autoreconfPhase" } Running phase: autoreconfPhase autoreconf: export WARNINGS= autoreconf: Entering directory '.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force autoreconf: configure.ac: tracing autoreconf: configure.ac: creating directory config autoreconf: running: libtoolize --copy --force libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'config'. libtoolize: copying file 'config/ltmain.sh' libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, libtoolize: and rerunning libtoolize and aclocal. libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. autoreconf: configure.ac: not using Intltool autoreconf: configure.ac: not using Gtkdoc autoreconf: running: aclocal --force autoreconf: running: /nix/store/wxsibxw4kdzmnfxh4zgrzsr8dp4q2v7k-autoconf-2.72/bin/autoconf --force configure.ac:10: warning: The macro 'AC_PROG_LIBTOOL' is obsolete. configure.ac:10: You should run autoupdate. aclocal.m4:398: AC_PROG_LIBTOOL is expanded from... configure.ac:10: the top level configure.ac:81: warning: The macro 'AC_CONFIG_HEADER' is obsolete. configure.ac:81: You should run autoupdate. ./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from... configure.ac:81: the top level autoreconf: running: /nix/store/wxsibxw4kdzmnfxh4zgrzsr8dp4q2v7k-autoconf-2.72/bin/autoheader --force autoreconf: running: automake --add-missing --copy --force-missing configure.ac:7: installing 'config/compile' configure.ac:10: installing 'config/config.guess' configure.ac:10: installing 'config/config.sub' configure.ac:3: installing 'config/install-sh' configure.ac:3: installing 'config/missing' src/hydra-eval-jobs/Makefile.am: installing 'config/depcomp' autoreconf: 'config/install-sh' is updated autoreconf: Leaving directory '.' @nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" } Running phase: updateAutotoolsGnuConfigScriptsPhase Updating Autotools / GNU config script to a newer upstream version: ./config/config.sub Updating Autotools / GNU config script to a newer upstream version: ./config/config.guess @nix { "action": "setPhase", "phase": "configurePhase" } Running phase: configurePhase fixing libtool script ./config/ltmain.sh ./configure patching script interpreter paths in ./configure ./configure: interpreter directive changed from "#! /bin/sh" to "/nix/store/087167dfxal194pm54cmcbbxsfy3cjgn-bash-5.2p26/bin/sh" configure flags: --disable-static --disable-dependency-tracking --prefix=/nix/store/v7pz2bpzlrn50hfi9v45vs28y75mk0l5-hydra-2023-12-24 --with-docbook-xsl=/nix/store/l4kc1n5g212d2dzs94rdcdrgirvdwwmr-docbook-xsl-nons-1.79.2/xml/xsl/docbook checking for a BSD-compatible install... /nix/store/x1xcjw5628crkk1pwr12y7nwbzkc3969-coreutils-9.4/bin/install -c checking whether build environment is sane... yes checking for a race-free mkdir -p... /nix/store/x1xcjw5628crkk1pwr12y7nwbzkc3969-coreutils-9.4/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of gcc... none checking whether ln -s works... yes checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... /nix/store/y1y3rml47qnh0giqd32mj07qxxqy13qg-gnused-4.9/bin/sed checking for grep that handles long lines and -e... /nix/store/11b3chszacfr9liy829xqknzp3q88iji-gnugrep-3.11/bin/grep checking for egrep... /nix/store/11b3chszacfr9liy829xqknzp3q88iji-gnugrep-3.11/bin/grep -E checking for fgrep... /nix/store/11b3chszacfr9liy829xqknzp3q88iji-gnugrep-3.11/bin/grep -F checking for ld used by gcc... ld checking if the linker (ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... nm checking the name lister (nm) interface... BSD nm checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... (cached) pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking whether the compiler supports GNU C++... yes checking whether g++ accepts -g... yes checking for g++ option to enable C++11 features... none needed checking dependency style of g++... none checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse nm output from gcc object... ok checking for sysroot... no checking for a working dd... /nix/store/x1xcjw5628crkk1pwr12y7nwbzkc3969-coreutils-9.4/bin/dd checking how to truncate binary pipes... /nix/store/x1xcjw5628crkk1pwr12y7nwbzkc3969-coreutils-9.4/bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... no checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking how to run the C++ preprocessor... g++ -E checking for ld used by g++... ld -m elf_x86_64 checking if the linker (ld -m elf_x86_64) is GNU ld... yes checking whether the g++ linker (ld -m elf_x86_64) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC -DPIC checking if g++ PIC flag -fPIC -DPIC works... yes checking if g++ static flag -static works... no checking if g++ supports -c -o file.o... yes checking if g++ supports -c -o file.o... (cached) yes checking whether the g++ linker (ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... (cached) GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether the compiler supports GNU C++... (cached) yes checking whether g++ accepts -g... (cached) yes checking for g++ option to enable C++11 features... (cached) none needed checking dependency style of g++... (cached) none checking for xsltproc... /nix/store/zhkgm2m3j0idyl17lxhm0nz57q36d00p-libxslt-1.1.39-bin/bin/xsltproc checking for perl... /nix/store/jr2c1rk91nqlfz5a5lwfq2kyilxzj879-perl-5.38.2/bin/perl checking for nix-store... /nix/store/ywwvwsjq0nzafgz0gj3nc8aybd0b2b0g-nix-2.18.3-lixpre20240328-47b0967/bin/nix-store checking whether /nix/store/ywwvwsjq0nzafgz0gj3nc8aybd0b2b0g-nix-2.18.3-lixpre20240328-47b0967/bin/nix-store is recent enough... yes checking pkg-config is at least version 0.9.0... yes checking for nix-main nix-expr nix-store... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating doc/Makefile config.status: creating doc/manual/Makefile config.status: creating src/Makefile config.status: creating src/hydra-evaluator/Makefile config.status: creating src/hydra-eval-jobs/Makefile config.status: creating src/hydra-queue-runner/Makefile config.status: creating src/sql/Makefile config.status: creating src/ttf/Makefile config.status: creating src/lib/Makefile config.status: creating src/root/Makefile config.status: creating src/script/Makefile config.status: creating t/Makefile config.status: creating t/jobs/config.nix config.status: creating t/jobs/declarative/project.json config.status: creating hydra-config.h config.status: executing depfiles commands config.status: executing libtool commands config.status: executing executable-scripts commands @nix { "action": "setPhase", "phase": "buildPhase" } Running phase: buildPhase build flags: -j32 SHELL=/nix/store/087167dfxal194pm54cmcbbxsfy3cjgn-bash-5.2p26/bin/bash make all-recursive make[1]: Entering directory '/build/source' Making all in src make[2]: Entering directory '/build/source/src' Making all in hydra-evaluator make[3]: Entering directory '/build/source/src/hydra-evaluator' g++ -DHAVE_CONFIG_H -I. -I../.. -std=c++2a -I/nix/store/7qys7llrfd4ac725vl92475rgfx855fy-nix-2.18.3-lixpre20240328-47b0967-dev/include/nix -I/nix/store/w4frcym8rg08xj5fcj9nhxlgn6irqvps-boehm-gc-8.2.4-dev/include -Wall -I ../libhydra -Wno-deprecated-declarations -g -O2 -include nix/config.h -c -o hydra_evaluator-hydra-evaluator.o `test -f 'hydra-evaluator.cc' || echo './'`hydra-evaluator.cc In file included from [01m[Khydra-evaluator.cc:1[m[K: [01m[K../libhydra/db.hh:5:10:[m[K [01;31m[Kfatal error: [m[Kenvironment-variables.hh: No such file or directory 5 | #include [01;31m[K"environment-variables.hh"[m[K | [01;31m[K^~~~~~~~~~~~~~~~~~~~~~~~~~[m[K compilation terminated. make[3]: *** [Makefile:443: hydra_evaluator-hydra-evaluator.o] Error 1 make[3]: Leaving directory '/build/source/src/hydra-evaluator' make[2]: *** [Makefile:363: all-recursive] Error 1 make[2]: Leaving directory '/build/source/src' make[1]: *** [Makefile:422: all-recursive] Error 1 make[1]: Leaving directory '/build/source' make: *** [Makefile:350: all] Error 2 ```
qyriad added the
release-blocker
label 2024-03-30 22:31:48 +00:00
Owner

this is caused by the ericson splitting of util.hh, and can be patched in Hydra by replacing that include or probably even deleting it, or by performing that part of the refactor ourselves

this is caused by the ericson splitting of util.hh, and can be patched in Hydra by replacing that include or probably even deleting it, or by performing that part of the refactor ourselves
Author
Owner

Okay so there's at least a few more problems beyond the missing include.

  • hydra-evaluator.cc seems to use boost::format::str() (I think?) as a free function, unqualified, without using it or #includeing it
  • createInterruptCallback() is also not declared, with Hydra's current set of includes

I'm going to untag this as a release blocker for now. Ideally we want to replace Hydra entirely, but short of that deciding what the best course of action with Hydra is probably best done after release with feedback.

Okay so there's at least a few more problems beyond the missing include. - `hydra-evaluator.cc` seems to use `boost::format::str()` (I think?) as a free function, unqualified, without `using` it or `#include`ing it - `createInterruptCallback()` is also not declared, with Hydra's current set of includes I'm going to untag this as a release blocker for now. Ideally we want to replace Hydra entirely, but short of that deciding what the best course of action with Hydra is probably best done after release with feedback.
qyriad removed the
release-blocker
label 2024-04-26 01:04:02 +00:00
Member

Do we intend to target Hydra's master, Hydra's hydra.nixos.org branch or something different?
In the recent months(?), Nix updates were regularly merged into master (right now we're at 2.21 there I think) and I'm not sure if we can keep up with that given that we explicitly used 2.18 as base for our work.

Do we intend to target Hydra's master, Hydra's `hydra.nixos.org` branch or something different? In the recent months(?), Nix updates were regularly merged into master (right now we're at 2.21 there I think) and I'm not sure if we can keep up with that given that we explicitly used 2.18 as base for our work.
qyriad added the
Downstream Dependents
label 2024-05-07 20:49:55 +00:00
Member

I have a Hydra fork (based on the hydra.nixos.org branch) that builds against Lix: https://github.com/leo60228/hydra/tree/lix

I haven't thoroughly tested it yet, but the test suite passes except for one seemingly spurious issue.

I have a Hydra fork (based on the `hydra.nixos.org` branch) that builds against Lix: https://github.com/leo60228/hydra/tree/lix I haven't thoroughly tested it yet, but the test suite passes except for one seemingly spurious issue.
Owner

cc @mweinelt as you may be interested in such a branch

cc @mweinelt as you may be interested in such a branch
Member

Not actually a hydra maintainer, only have access, so that we can maintain the hydra.nixos.org branch.

Not actually a hydra maintainer, only have access, so that we can maintain the hydra.nixos.org branch.
Owner

right i was mostly just pinging you because i know infra wants it

right i was mostly just pinging you because i know infra wants it
Member

🙃

🙃
Member

I pushed @leo60228's work to https://git.lix.systems/lix-project/hydra - let's iterate there.

I pushed @leo60228's work to https://git.lix.systems/lix-project/hydra - let's iterate there.
Sign in to join this conversation.
No milestone
No project
No assignees
6 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lix-project/lix#203
No description provided.