问题

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
FreeBSD - 端口 p5-Encode-Detect 错误
日期:2020-06-02 22:18:40 来源:oir作者:oir