I have my dotfiles install via GitHub workflows whenever I push changes. About a week ago, my CPAN installs stopped working. Here's a log sample from today:
2020-07-16T20:19:35.8952930Z 35665 DONE resolve (0.049sec) Net::SSLeay -> Net-SSLeay-1.88 (from MetaDB)
2020-07-16T20:19:36.6764530Z 35667 DONE fetch (0.182sec) Net-SSLeay-1.88
2020-07-16T20:19:38.7158240Z 35666 DONE configure (0.412sec) Net-SSLeay-1.88
2020-07-16T20:19:47.9208090Z 35668 FAIL install (6.409sec) Net-SSLeay-1.88
2020-07-16T20:20:00.8129440Z FAIL install Net-SSLeay-1.88
2020-07-16T20:20:00.8407270Z 2020-07-16T20:19:35,35665,Net::SSLeay| Resolved Net::SSLeay (1.49) -> https://cpan.metacpan.org/authors/id/C/CH/CHRISN/Net-SSLeay-1.88.tar.gz from MetaDB
2020-07-16T20:20:00.8436500Z 2020-07-16T20:19:36,35667,Net-SSLeay-1.88| Fetching https://cpan.metacpan.org/authors/id/C/CH/CHRISN/Net-SSLeay-1.88.tar.gz
2020-07-16T20:20:00.8437940Z 2020-07-16T20:19:36,35667,Net-SSLeay-1.88| -> OK
2020-07-16T20:20:00.8438390Z 2020-07-16T20:19:36,35667,Net-SSLeay-1.88| Unpacking Net-SSLeay-1.88.tar.gz
2020-07-16T20:20:00.8439880Z 2020-07-16T20:19:36,35667,Net-SSLeay-1.88| Copying Net-SSLeay-1.88.tar.gz to /Users/runner/.perl-cpm/cache/authors/id/C/CH/CHRISN/Net-SSLeay-1.88.tar.gz
2020-07-16T20:20:00.8542600Z 2020-07-16T20:19:38,35666,Net-SSLeay-1.88| Configuring distribution
2020-07-16T20:20:00.8543090Z 2020-07-16T20:19:38,35666,Net-SSLeay-1.88| Executing /usr/local/Cellar/perl/5.32.0/bin/perl Makefile.PL
2020-07-16T20:20:00.8545830Z 2020-07-16T20:19:38,35666,Net-SSLeay-1.88| Do you want to run external tests?
2020-07-16T20:20:00.8546330Z 2020-07-16T20:19:38,35666,Net-SSLeay-1.88| These tests *will* *fail* if you do not have network connectivity. [n] n
2020-07-16T20:20:00.8551410Z 2020-07-16T20:19:38,35666,Net-SSLeay-1.88| *** Found LibreSSL-2.8.3 installed in /usr
2020-07-16T20:20:00.8551920Z 2020-07-16T20:19:38,35666,Net-SSLeay-1.88| *** Be sure to use the same compiler and options to compile your OpenSSL, perl,
2020-07-16T20:20:00.8552720Z 2020-07-16T20:19:38,35666,Net-SSLeay-1.88| and Net::SSLeay. Mixing and matching compilers is not supported.
2020-07-16T20:20:00.8553350Z 2020-07-16T20:19:38,35666,Net-SSLeay-1.88| Checking if your kit is complete...
2020-07-16T20:20:00.8553860Z 2020-07-16T20:19:38,35666,Net-SSLeay-1.88| Looks good
2020-07-16T20:20:00.8555230Z 2020-07-16T20:19:38,35666,Net-SSLeay-1.88| Generating a Unix-style Makefile
2020-07-16T20:20:00.8556000Z 2020-07-16T20:19:38,35666,Net-SSLeay-1.88| Writing Makefile for Net::SSLeay
2020-07-16T20:20:00.8556470Z 2020-07-16T20:19:38,35666,Net-SSLeay-1.88| Writing MYMETA.yml and MYMETA.json
2020-07-16T20:20:00.8557920Z 2020-07-16T20:19:38,35659,Net-SSLeay-1.88| Distribution provides: Net::SSLeay (1.88), Net::SSLeay::Handle (1.88)
2020-07-16T20:20:00.8690690Z 2020-07-16T20:19:41,35668,Net-SSLeay-1.88| Building distribution
2020-07-16T20:20:00.8691150Z 2020-07-16T20:19:41,35668,Net-SSLeay-1.88| Executing /usr/bin/make
2020-07-16T20:20:00.8712850Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| cp lib/Net/SSLeay/Handle.pm blib/lib/Net/SSLeay/Handle.pm
2020-07-16T20:20:00.8713400Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| cp lib/Net/SSLeay.pm blib/lib/Net/SSLeay.pm
2020-07-16T20:20:00.8713900Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| AutoSplitting blib/lib/Net/SSLeay.pm (blib/lib/auto/Net/SSLeay)
2020-07-16T20:20:00.8714410Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| blib/lib/Net/SSLeay.pm: some names are not unique when truncated to 8 characters:
2020-07-16T20:20:00.8714870Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| directory blib/lib/auto/Net/SSLeay:
2020-07-16T20:20:00.8715390Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| do_https3.al, do_https2.al, do_https4.al, do_https.al truncate to do_https
2020-07-16T20:20:00.8715920Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| do_httpx3.al, do_httpx2.al, do_httpx4.al truncate to do_httpx
2020-07-16T20:20:00.8716530Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| get_https.al, get_https3.al, get_https4.al, get_http.al, get_http3.al, get_http4.al, get_httpx.al, get_httpx3.al, get_httpx4.al truncate to get_http
2020-07-16T20:20:00.8717250Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| head_https.al, head_https3.al, head_https4.al, head_http.al, head_http3.al, head_http4.al, head_httpx.al, head_httpx3.al, head_httpx4.al truncate to head_htt
2020-07-16T20:20:00.8717940Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| post_https.al, post_https3.al, post_https4.al, post_http.al, post_http3.al, post_http4.al, post_httpx.al, post_httpx3.al, post_httpx4.al truncate to post_htt
2020-07-16T20:20:00.8718570Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| put_https.al, put_https3.al, put_https4.al, put_http.al, put_http3.al, put_http4.al, put_httpx.al, put_httpx3.al, put_httpx4.al truncate to put_http
2020-07-16T20:20:00.8719110Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| ssl_read_all.al, ssl_read_until.al, ssl_read_CRLF.al truncate to ssl_read
2020-07-16T20:20:00.8719600Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| ssl_write_all.al, ssl_write_CRLF.al truncate to ssl_writ
2020-07-16T20:20:00.8720340Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| tcp_read_all.al, tcp_read_until.al, tcp_read_CRLF.al truncate to tcp_read
2020-07-16T20:20:00.8720830Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| tcp_write_all.al, tcp_write_CRLF.al truncate to tcp_writ
2020-07-16T20:20:00.8721310Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| cp lib/Net/SSLeay.pod blib/lib/Net/SSLeay.pod
2020-07-16T20:20:00.8724940Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| Running Mkbootstrap for SSLeay ()
2020-07-16T20:20:00.8727090Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| chmod 644 "SSLeay.bs"
2020-07-16T20:20:00.8728840Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| "/usr/local/Cellar/perl/5.32.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- SSLeay.bs blib/arch/auto/Net/SSLeay/SSLeay.bs 644
2020-07-16T20:20:00.8732250Z 2020-07-16T20:19:42,35668,Net-SSLeay-1.88| "/usr/local/Cellar/perl/5.32.0/bin/perl" "/usr/local/Cellar/perl/5.32.0/lib/perl5/5.32.0/ExtUtils/xsubpp" -typemap '/usr/local/Cellar/perl/5.32.0/lib/perl5/5.32.0/ExtUtils/typemap' -typemap '/Users/runner/.perl-cpm/work/1594930773.35659/Net-SSLeay-1.88/typemap' SSLeay.xs > SSLeay.xsc
2020-07-16T20:20:00.8804870Z 2020-07-16T20:19:44,35668,Net-SSLeay-1.88| mv SSLeay.xsc SSLeay.c
2020-07-16T20:20:00.8806540Z 2020-07-16T20:19:44,35668,Net-SSLeay-1.88| cc -c -fno-common -DPERL_DARWIN -mmacosx-version-min=10.15 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -DPERL_USE_SAFE_PUTENV -O3 -DVERSION=\"1.88\" -DXS_VERSION=\"1.88\" "-I/usr/local/Cellar/perl/5.32.0/lib/perl5/5.32.0/darwin-thread-multi-2level/CORE" SSLeay.c
2020-07-16T20:20:00.8822350Z 2020-07-16T20:19:44,35668,Net-SSLeay-1.88| SSLeay.xs:163:10: fatal error: 'openssl/err.h' file not found
2020-07-16T20:20:00.8822820Z 2020-07-16T20:19:44,35668,Net-SSLeay-1.88| #include <openssl/err.h>
2020-07-16T20:20:00.8823270Z 2020-07-16T20:19:44,35668,Net-SSLeay-1.88| ^~~~~~~~~~~~~~~
2020-07-16T20:20:00.8878520Z 2020-07-16T20:19:45,35668,Net-SSLeay-1.88| 1 error generated.
2020-07-16T20:20:00.8878980Z 2020-07-16T20:19:45,35668,Net-SSLeay-1.88| make: *** [SSLeay.o] Error 1
2020-07-16T20:20:00.8880890Z 2020-07-16T20:19:46,35668,Net-SSLeay-1.88| ! Retrying (you can turn off this behavior by --no-retry)
2020-07-16T20:20:00.8881370Z 2020-07-16T20:19:46,35668,Net-SSLeay-1.88| Executing /usr/bin/make
2020-07-16T20:20:00.8882270Z 2020-07-16T20:19:46,35668,Net-SSLeay-1.88| "/usr/local/Cellar/perl/5.32.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- SSLeay.bs blib/arch/auto/Net/SSLeay/SSLeay.bs 644
2020-07-16T20:20:00.8883000Z 2020-07-16T20:19:46,35668,Net-SSLeay-1.88| cc -c -fno-common -DPERL_DARWIN -mmacosx-version-min=10.15 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -DPERL_USE_SAFE_PUTENV -O3 -DVERSION=\"1.88\" -DXS_VERSION=\"1.88\" "-I/usr/local/Cellar/perl/5.32.0/lib/perl5/5.32.0/darwin-thread-multi-2level/CORE" SSLeay.c
2020-07-16T20:20:00.8931790Z 2020-07-16T20:19:46,35668,Net-SSLeay-1.88| SSLeay.xs:163:10: fatal error: 'openssl/err.h' file not found
2020-07-16T20:20:00.8932270Z 2020-07-16T20:19:46,35668,Net-SSLeay-1.88| #include <openssl/err.h>
2020-07-16T20:20:00.8932730Z 2020-07-16T20:19:46,35668,Net-SSLeay-1.88| ^~~~~~~~~~~~~~~
2020-07-16T20:20:00.9023370Z 2020-07-16T20:19:47,35668,Net-SSLeay-1.88| 1 error generated.
2020-07-16T20:20:00.9023990Z 2020-07-16T20:19:47,35668,Net-SSLeay-1.88| make: *** [SSLeay.o] Error 1
2020-07-16T20:20:00.9024540Z 2020-07-16T20:19:47,35668,Net-SSLeay-1.88| Failed to install distribution
Relevant bit from above: SSLeay.xs:163:10: fatal error: 'openssl/err.h' file not found
Full build is at https://github.com/oalders/dot-files/runs/879237991?check_suite_focus=true
I'm running the Perl module installs via
cpm install -g --verbose --show-build-log-on-failure --cpanfile cpan/cli.cpanfile
I figured there's a lot of stuff that you've tried and haven't shown. For many people have this error, you need to install OpenSSL, then you need to tell Net::SSLeay where you installed OpenSSL. There's a README.OSX that explains it:
OPENSSL_PREFIX=/path/to/openssl perl Makefile.PL
I tend to not rely on macOS's version (LibreSSL or whatever). I install my own openssl because I usually want something more recent. I don't use homebrew or other things.