CI: install Devel::CheckLib before resolving the dependencies
cpanm runs Makefile.PL to find out what a distribution needs, so everything
Makefile.PL itself uses has to be installed before that. It uses
Devel::CheckLib to look for libcollocatordb, which is not part of the CI image,
so Makefile.PL aborted at its use statement, wrote no Makefile and cpanm gave
up with "Configuring /builds/ids-kl/derekovecs ... N/A". Listing the module in
PREREQ_PM cannot help, as those are only known after Makefile.PL has run.
This worked locally only because of an uncommitted inc/Devel/CheckLib.pm, which
Makefile.PL picks up via "use lib qw(inc)".
The Dockerfile already installs Devel::CheckLib explicitly for the same reason,
CI does it now as well. Makefile.PL declares it in CONFIGURE_REQUIRES, so that
installations from a distribution tarball pull it in by themselves.
Verified with gitlab-ci-local: build-and-test passes, 12 tests in 2 files.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Change-Id: Id1aee5f978092bf33594e081d43893f1ac78c692
diff --git a/Makefile.PL b/Makefile.PL
index c1e829f..2f5d85a 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -21,6 +21,11 @@
ABSTRACT => 'Visualization of paradigmatic and syntagmatic word relations.',
VERSION_FROM => 'script/derekovecs-server',
LICENSE => 'apache',
+ # this file uses Devel::CheckLib itself, so installers have to provide it
+ # before they can even run it
+ CONFIGURE_REQUIRES => {
+ 'Devel::CheckLib' => '1.16',
+ },
BUILD_REQUIRES => {
'Test::More' => 0,
'Test::TempFile' => 0,