问题
perl 模块端口,converters/p5-Encode-Detect-1.01,未能编译。
这是错误消息的摘要:
===> Extracting for p5-Encode-Detect-1.01 => SHA256 Checksum OK for Encode-Detect-1.01.tar.gz. ===> p5-Encode-Detect-1.01 depends on file: /usr/local/bin/perl5.8.9 - found ===> Patching for p5-Encode-Detect-1.01 ===> p5-Encode-Detect-1.01 depends on file: /usr/local/bin/perl5.8.9 - found ===> p5-Encode-Detect-1.01 depends on file: /usr/local/lib/perl5/site_perl/5.8.9/ExtUtils/CBuilder.pm - found ===> p5-Encode-Detect-1.01 depends on file: /usr/local/lib/perl5/site_perl/5.8.9/Module/Build.pm - found ===> p5-Encode-Detect-1.01 depends on file: /usr/local/bin/perl5.8.9 - found ===> Configuring for p5-Encode-Detect-1.01 Warning: ExtUtils::CBuilder not installed or no compiler detected Proceeding with configuration, but compilation may fail during Build Creating new 'MYMETA.yml' with configuration results Creating new 'Build' script for 'Encode-Detect' version '1.01' ===> Building for p5-Encode-Detect-1.01 Building Encode-Detect Error: no compiler detected to compile 'src/LangBulgarianModel.cpp'. Aborting *** Error code 2 Stop in /usr/ports/converters/p5-Encode-Detect.
似乎端口 devel/p5-ExtUtils-CBuilder 并没有完全编译它的选项并正确安装。
重新安装 devel/p5-ExtUtils-CBuilder 没有帮助。
重新编译 converters/p5-Encode-Detect 和 devel/p5-ExtUtils-CBuilder 的所有依赖项也不起作用。
该错误消息强烈表明 devel/p5-ExtUtils-CBuilder 存在问题。
是时候让我动手了,通过手动编译端口 devel/p5-ExtUtils-CBuilder :
- 进入端口 devel/p5-ExtUtils-CBuilder :
cd /usr/port/devel/p5-ExtUtils-CBuilder
- 清理之前编译的文件:
make clean
- 将程序解压到ports目录下:
make extract
- 进入工作目录:
cd work
- 为这个 perl 模块准备 make 文件:
perl Makefile.PL
- 使用端口编译这个 perl 模块:
make
在此编译结束时,有一条错误消息:
Warning: prerequisite IPC::Cmd 0 not found.
需要另一个 perl 模块,但这个端口并没有使它成为依赖项。
搜索端口并找到这个需要的 perl 模块, devel/p5-IPC-Cmd :
make quicksearch name=ipc-cmd
安装 devel/p5-IPC-Cmd 端口,实现依赖:
portupgrade -Nv devel/p5-IPC-Cmd
完成安装 devel/p5-IPC-Cmd 端口后,继续安装 devel/p5-ExtUtils-CBuilder :
portupgrade -vr devel/p5-ExtUtils-CBuilder
由于所有编译正常,继续修补:
portupgrade -var
日期:2020-06-02 22:18:40 来源:oir作者:oir