You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you try compiling and installing your own perl module on top of SciPDL you will likely run in to this error with make test:
% perl Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Simple
Writing MYMETA.yml and MYMETA.json
% make
cp Simple.pm blib/lib/Simple.pm
Running Mkbootstrap for Simple ()
chmod 644 "Simple.bs"
"/Applications/PDL/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Simple.bs blib/arch/auto/Simple/Simple.bs 644
"/Applications/PDL/bin/perl" "/Applications/PDL/lib/perl5/5.38.2/ExtUtils/xsubpp" -typemap '/Applications/PDL/lib/perl5/5.38.2/ExtUtils/typemap' Simple.xs > Simple.xsc
Please specify prototyping behavior for Simple.xs (see perlxs manual)
mv Simple.xsc Simple.c
gcc -c -fno-common -DPERL_DARWIN -mmacosx-version-min=14.5 -DNO_POSIX_2008_LOCALE -fwrapv -fno-strict-aliasing -fstack-protector-strong -I/usr/local/include -I/opt/local/include -Wno-error=implicit-function-declaration -O3 -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" "-I/Applications/PDL/lib/perl5/5.38.2/darwin-2level/CORE" Simple.c
rm -f blib/arch/auto/Simple/Simple.bundle
gcc -mmacosx-version-min=14.5 -bundle -undefined dynamic_lookup -L/opt/local/lib -fstack-protector-strong Simple.o -o blib/arch/auto/Simple/Simple.bundle \
\
chmod 755 blib/arch/auto/Simple/Simple.bundle
% make test
"/Applications/PDL/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Simple.bs blib/arch/auto/Simple/Simple.bs 644
PERL_DL_NONLAZY=1 "/Applications/PDL/bin/perl" "-Iblib/lib" "-Iblib/arch" test.pl
1..1
Can't load 'blib/arch/auto/Simple/Simple.bundle' for module Simple: dlopen(blib/arch/auto/Simple/Simple.bundle, 0x0002): tried: 'blib/arch/auto/Simple/Simple.bundle' (relative path not allowed in hardened program), '/System/Volumes/Preboot/Cryptexes/OSblib/arch/auto/Simple/Simple.bundle' (no such file), '/Applications/PDL/bin/blib/arch/auto/Simple/Simple.bundle' (no such file), '/usr/local/gfortran/lib/gcc/aarch64-apple-darwin23/14.2.0/blib/arch/auto/Simple/Simple.bundle' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/gfortran/lib/gcc/aarch64-apple-darwin23/14.2.0/blib/arch/auto/Simple/Simple.bundle' (no such file), '/usr/local/gfortran/lib/blib/arch/auto/Simple/Simple.bundle' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/gfortran/lib/blib/arch/auto/Simple/Simple.bundle' (no such file), '/Applications/PDL/bin/blib/arch/auto/Simple/Simple.bundle' (no such file), '/usr/local/gfortran/lib/gcc/aarch64-apple-darwin23/14.2.0/blib/arch/auto/Simple/Simple.bundle' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/gfortran/lib/gcc/aarch64-apple-darwin23/14.2.0/blib/arch/auto/Simple/Simple.bundle' (no such file), '/usr/local/gfortran/lib/blib/arch/auto/Simple/Simple.bundle' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/gfortran/lib/blib/arch/auto/Simple/Simple.bundle' (no such file), '/usr/lib/blib/arch/auto/Simple/Simple.bundle' (no such file, not in dyld cache), 'blib/arch/auto/Simple/Simple.bundle' (relative path not allowed in hardened program) at /Applications/PDL/lib/perl5/5.38.2/darwin-2level/DynaLoader.pm line 210.
at test.pl line 11.
Compilation failed in require at test.pl line 11.
BEGIN failed--compilation aborted at test.pl line 11.
not ok 1
make: *** [test_dynamic] Error 2
The text was updated successfully, but these errors were encountered:
This is a feature unfortunately, because to notarise the distribution I need to harden the perl runtime and this precludes using relative paths as in make test. Hence the error 'relative path not allowed in hardened program)'.
Note make install will still work and then you can run the test script. Or you can do:
% perl -I$(pwd)/blib/lib -I$(pwd)/blib/arch test.pl
1..1
ok 1
If you are compiling lots of modules and this griefs you, you can permanently remove the hardening of the perl binary by resigning it generically like this:
If you try compiling and installing your own perl module on top of SciPDL you will likely run in to this error with
make test
:The text was updated successfully, but these errors were encountered: