I am very much a perl newbie, I know very little about the system.
I am trying to install App/Lingua/BO/Wylie/Transliteration.pm which seems to be dependent on true.
I am getting an error on the install of true. This seems very surprising, so I am very open to something very fundamental and wrong with the perl installation. Running perl v5.30.2 on MacOS 11.3.1.
cpan error log:
force install true.pm
Running install for module 'true'
CHOCOLATE/true-v1.0.2.tar.gz
Has already been unwrapped into directory /Users/phil/.cpan/build/true-v1.0.2-0
CHOCOLATE/true-v1.0.2.tar.gz
Has already been prepared
Running make for C/CH/CHOCOLATE/true-v1.0.2.tar.gz
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- true.bs blib/arch/auto/true/true.bs 644
cc -c -I/Users/phil/perl5/lib/perl5/darwin-thread-multi-2level/B/Hooks/OP/Annotation/Install -I/System/Library/Perl/Extras/5.30/darwin-thread-multi-2level/B/Hooks/OP/Check/Install -g -pipe -fno-strict-aliasing -fstack-protector-strong -DPERL_USE_SAFE_PUTENV -O3 -Wall -W -DVERSION=\"v1.0.2\" -DXS_VERSION=\"v1.0.2\" -iwithsysroot "/System/Library/Perl/5.30/darwin-thread-multi-2level/CORE" true.c
true.xs:8:10: fatal error: 'hook_op_check.h' file not found
#include "hook_op_check.h"
^~~~~~~~~~~~~~~~~
1 error generated.
make: *** [true.o] Error 1
CHOCOLATE/true-v1.0.2.tar.gz
/usr/bin/make -- NOT OK
Failed during this command:
CHOCOLATE/true-v1.0.2.tar.gz : make NO
This looks like a bug in the system Perl installation that comes preinstalled on macOS. The module
B::Hooks::OP::Checkcomes preinstalled in/System/Library/Perl/Extras/5.30/darwin-thread-multi-2level/B/Hooks/OP/but the file/System/Library/Perl/Extras/5.30/darwin-thread-multi-2level/B/Hooks/OP/Check/Install/hook_op_check.his missing for some reason. As a consequence, it is not possible to install the moduletruewhich depends on that file being there.You can override the preinstalled version by running:
This will install the module into
/Library/Perl/5.30/darwin-thread-multi-2level/B/Hooks/OPif you are usingsudowithcpan, or into~/perl5/lib/perl5/darwin-thread-multi-2level/B/Hooks/OPif you are usinglocal::libwithcpan. This latter installation will be found before the preinstalled version due to the ordering of the perl@INCinclude path, so it will override the preinstalled version of the module.This will enable you to install the module
true, but after installing this the installation ofApp::Lingua::BO::Wylie::Transliterationstill fails:this is due to a recent change in
Devel::Declareand a corresponding change in the parser in bleed described in these bug reports, report1 and report2.A workaround is to install a an earlier version of
perltogether with an earlier version ofDevel::Declare. You can do this using perlbrew. For example: