Subject: OCaml packages not building (due to updated python-pyyaml)

From: pukkamustard <[email-masked]>
Date: Tue, 22 Jun 2021 16:47:07 +0000

Hi Guix,

With commit ac02d423d3fcb11048ee2e4a02626fca40cf1419, which 
updated python-pyyaml to 5.4.1 (from 5.3.1) lot of OCaml packages 
fail to build.

This seems to be due to ocaml-dose3 that has python2-pyyaml as 
dependency for tests. ocaml-dose3 is a dependency of opam - a 
dependency of many OCaml packages.

The output when trying to build ocaml-dose3:

----------------------------------------------------------
phase `build' succeeded after 14.5 seconds
starting phase `check'
/tmp/guix-build-ocaml-dose3-5.0.1.drv-0/dose3-5.0.1
ocamlbuild  -j 10 applications/apps.otarget
# No parallelism done
make testlib
make[1]: Entering directory 
'/tmp/guix-build-ocaml-dose3-5.0.1.drv-0/dose3-5.0.1'
echo

make[1]: Leaving directory 
'/tmp/guix-build-ocaml-dose3-5.0.1.drv-0/dose3-5.0.1'
applications/dose-tests.py applications/dose-tests.list
Traceback (most recent call last):
  File "applications/dose-tests.py", line 17, in <module>
    warning('YAML C-library not available, falling back to 
    python')
NameError: name 'warning' is not defined
make: *** [Makefile:206: test] Error 1
command "make" "test" 
"LIBDIR=/gnu/store/v939nvdn67cdgb7rjkyvplfw1qr2hkjl-ocaml-dose3-5.0.1/lib/ocaml/site-lib" 
failed with status 2
note: keeping build directory 
`/tmp/guix-build-ocaml-dose3-5.0.1.drv-3'
builder for 
`/gnu/store/lybbyb38k0009jrbviymq88vi6xak5ii-ocaml-dose3-5.0.1.drv' 
failed with exit code 1
build of 
/gnu/store/lybbyb38k0009jrbviymq88vi6xak5ii-ocaml-dose3-5.0.1.drv 
failed
View build log at 
'/var/log/guix/drvs/ly/bbyb38k0009jrbviymq88vi6xak5ii-ocaml-dose3-5.0.1.drv.bz2'.
guix build: error: build of 
`/gnu/store/lybbyb38k0009jrbviymq88vi6xak5ii-ocaml-dose3-5.0.1.drv' 
failed
----------------------------------------------------------

This seems to also be what CI is encoutering: 
https://ci.guix.gnu.org/build/623375/details

Any ideas? Any other packages failing for the same reason?

Would disabling tests for ocaml-dose3 be an acceptable quick hack?

Cheers,
pukkamustard