为啥 Net-SSLeay 停止通过 GitHub 工作流程在 macOS 上安装?
Posted
技术标签:
【中文标题】为啥 Net-SSLeay 停止通过 GitHub 工作流程在 macOS 上安装?【英文标题】:Why did Net-SSLeay stop installing on macOS via a GitHub workflow?为什么 Net-SSLeay 停止通过 GitHub 工作流程在 macOS 上安装? 【发布时间】:2020-11-06 15:00:30 【问题描述】:每当我推送更改时,我都会通过 GitHub 工作流程安装我的点文件。大约一周前,我的 CPAN 安装停止工作。这是今天的日志示例:
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
上面的相关位:SSLeay.xs:163:10: fatal error: 'openssl/err.h' file not found
完整版本位于https://github.com/oalders/dot-files/runs/879237991?check_suite_focus=true
我正在运行 Perl 模块安装方式
cpm install -g --verbose --show-build-log-on-failure --cpanfile cpan/cli.cpanfile
【问题讨论】:
对我来说看起来与***.com/questions/60521205/… 中描述的问题相同。从the link referenced there引用:“如果你得到一个像'openssl/err.h'文件找不到的构建错误,你应该首先检查你是否已经安装了openssl brew install openssl。brew list openssl 应该列出所有该公式的文件(如果已安装)。” 感谢@SteffenUllrich 我尝试通过自制软件显式安装openssl,但仍然失败。在前面的输出中它说“发现 LibreSSL-2.8.3 安装在 /usr 中。确保使用相同的编译器和选项来编译 OpenSSL、perl 和 Net::SSLeay”。我想知道这是否与问题有关? 【参考方案1】:我想你已经尝试过很多东西但没有展示出来。对于很多人有这个错误,你需要安装 OpenSSL,然后你需要告诉 Net::SSLeay 你安装 OpenSSL 的位置。有一个README.OSX 对此进行了解释:
OPENSSL_PREFIX=/path/to/openssl perl Makefile.PL
我倾向于不依赖 macOS 的版本(LibreSSL 或其他)。我安装了自己的 openssl,因为我通常想要更新的东西。我不使用自制软件或其他东西。
【讨论】:
是的,我确实尝试了很多东西。谢谢你。在尝试安装模块之前,我的解决方案最终是brew install openssl@1.1
和 export OPENSSL_PREFIX="/usr/local/Cellar/openssl@1.1/1.1.1g"
。以上是关于为啥 Net-SSLeay 停止通过 GitHub 工作流程在 macOS 上安装?的主要内容,如果未能解决你的问题,请参考以下文章
为啥`Intent.createChooser(shareIntentWithJpgFileName)` 停止工作?