【发布时间】:2021-01-15 17:12:17
【问题描述】:
我正在尝试使用通过 conda 下载的预编译 perl 构建 Acme::Damn,有关详细信息,请参阅 this 问题。用于构建perl 的cc 由以下公式给出:
$ perl -V | grep cc=./
cc='/tmp/build/80754af9/perl_1527832170752/_build_env/bin/x86_64-conda_cos6-linux-gnu-gcc'
这在我的机器上不存在,因此 make 失败:
$ perl Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite Test::Exception 0 not found.
Generating a Unix-style Makefile
Writing Makefile for Acme::Damn
Writing MYMETA.yml and MYMETA.json
$ make
cp Damn.pm blib/lib/Acme/Damn.pm
Running Mkbootstrap for Damn ()
chmod 644 "Damn.bs"
"/home/hakon/anaconda3/envs/perl_test/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Damn.bs blib/arch/auto/Acme/Damn/Damn.bs 644
"/home/hakon/anaconda3/envs/perl_test/bin/perl" "/home/hakon/anaconda3/envs/perl_test/lib/5.26.2/ExtUtils/xsubpp" -typemap '/home/hakon/anaconda3/envs/perl_test/lib/5.26.2/ExtUtils/typemap' Damn.xs > Damn.xsc
mv Damn.xsc Damn.c
/tmp/build/80754af9/perl_1527832170752/_build_env/bin/x86_64-conda_cos6-linux-gnu-gcc -c -I. -D_REENTRANT -D_GNU_SOURCE --sysroot=/tmp/build/80754af9/perl_1527832170752/_build_env/x86_64-conda_cos6-linux-gnu/sysroot -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -DVERSION=\"0.08\" -DXS_VERSION=\"0.08\" -fPIC --sysroot=/tmp/build/80754af9/perl_1527832170752/_build_env/x86_64-conda_cos6-linux-gnu/sysroot "-I/home/hakon/anaconda3/envs/perl_test/lib/5.26.2/x86_64-linux-thread-multi/CORE" Damn.c
/bin/sh: 1: /tmp/build/80754af9/perl_1527832170752/_build_env/bin/x86_64-conda_cos6-linux-gnu-gcc: not found
make: *** [Makefile:337: Damn.o] Error 127
我可以安装用于使用 conda 构建 perl 的相同编译器:
$ conda install -c anaconda gcc_linux-64
$ which x86_64-conda_cos6-linux-gnu-gcc
/home/hakon/anaconda3/envs/perl_test/bin/x86_64-conda_cos6-linux-gnu-gcc
如何使 perl Makefile.PL 在生成 Makefile 时将其用作编译器位置?我试过了:
CC=/home/hakon/anaconda3/envs/perl_test/bin/x86_64-conda_cos6-linux-gnu-gcc perl Makefile.PL
但这不起作用。
【问题讨论】:
标签: perl