Circular dependency between lal.utils.cache and python-ligo-lw prevents make check -C bin in Conda builds
There is a circular dependency between lal.utils.cache
(which uses ligo.lw.lsctables
in lal/python/lal/utils/cache.py
line 321) and python-ligo-lw
(which depends on lal
).
This code with the circular dependency is exercised by make check -C bin
in LAL, which runs bin/test_path2cache
. The Conda packages currently doesn't run this code, since make check
is only run when Python is disabled. But @duncanmmacleod has suggested (!1904 (comment 574217)) adding make check -C bin
to install-bin.sh
which would then run this code.
A naive attempt from me at doing this failed, because adding python-ligo-lw
as a host/run dependency for the lal
subpackage failed with a conflicting exact pin
error. Presumably python-ligo-lw
is trying to get its upstream lal
dependency which conflicts with the lal
package being built. (This appears not to be an issue with the Debian and RHEL builds.)
The solution is either to resolve the circular dependency in lal.utils.cache
, or perhaps there's a smarter way to add python-ligo-lw
as a dependency which avoids the conflicting exact pin
error.
If this can be fixed, then make check -C bin
could then be added to conda/install-bin.sh
. (For !1904 (merged) I've implemented this only for LALPulsar in lalpulsar/conda/install-bin.sh
, which is no longer a symlink to conda/install-bin.sh
.)