更新操作系统后,出现此错误:
$ biber -v
Undefined subroutine &Encode::define_alias called at /usr/lib/perl5/site_perl/Encode.pm line 102.
Compilation failed in require at /usr/lib/perl5/site_perl/Encode/Alias.pm line 7.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/Encode/Alias.pm line 7.
Compilation failed in require at /usr/share/perl5/vendor_perl/Biber/Constants.pm line 6.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Biber/Constants.pm line 6.
Compilation failed in require at /usr/share/perl5/vendor_perl/Biber/Internals.pm line 7.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Biber/Internals.pm line 7.
Compilation failed in require at /usr/share/perl5/core_perl/parent.pm line 16.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Biber.pm line 5.
Compilation failed in require at /usr/bin/vendor_perl/biber line 17.
BEGIN failed--compilation aborted at /usr/bin/vendor_perl/biber line 17.
我认为缺少一些 perl 模块,但我不知道是哪一个。
我一直在安装模块,只有两个无法安装:
Alias.pm
:
$ cpan Biber.pm
Reading '/home/nika-zhenya/.cpan/Metadata'
Database was generated on Tue, 27 Jun 2017 21:17:02 GMT
Running install for module 'Alias'
Checksum for /home/nika-zhenya/.cpan/sources/authors/id/G/GS/GSAR/Alias-2.32.tar.gz ok
'YAML' not installed, will not store persistent state
Configuring G/GS/GSAR/Alias-2.32.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Alias
Writing MYMETA.yml and MYMETA.json
GSAR/Alias-2.32.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for G/GS/GSAR/Alias-2.32.tar.gz
cp Alias.pm blib/lib/Alias.pm
Running Mkbootstrap for Alias ()
chmod 644 "Alias.bs"
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Alias.bs blib/arch/auto/Alias/Alias.bs 644
"/usr/bin/perl" "/usr/share/perl5/core_perl/ExtUtils/xsubpp" -typemap '/usr/share/perl5/core_perl/ExtUtils/typemap' Alias.xs > Alias.xsc
mv Alias.xsc Alias.c
cc -c -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -DVERSION=\"2.32\" -DXS_VERSION=\"2.32\" -fPIC "-I/usr/lib/perl5/core_perl/CORE" Alias.c
In file included from /usr/lib/perl5/core_perl/CORE/perl.h:5644:0,
from Alias.xs:5:
Alias.xs: En la función ‘XS_Alias_attr’:
/usr/lib/perl5/core_perl/CORE/scope.h:232:37: error: se requiere un l-valor como un operador unario ‘&’
#define SAVESPTR(s) save_sptr((SV**)&(s))
^
/usr/lib/perl5/core_perl/CORE/embed.h:563:44: nota: en definición de macro ‘save_sptr’
#define save_sptr(a) Perl_save_sptr(aTHX_ a)
^
Alias.xs:208:4: nota: en expansión de macro ‘SAVESPTR’
SAVESPTR(GvCV(gv));
^~~~~~~~
Alias.xs:209:13: error: se requiere un l-valor como operando izquierdo de la asignación
GvCV(gv) = Null(CV*);
^
make: *** [Makefile:328: Alias.o] Error 1
GSAR/Alias-2.32.tar.gz
/usr/bin/make -- NOT OK
Biber.pm
:
cpan Biber.pm
Reading '/home/nika-zhenya/.cpan/Metadata'
Database was generated on Tue, 27 Jun 2017 21:17:02 GMT
Could not expand [Biber.pm]. Check the module name.
Checking 198036 namespaces for close match suggestions
Skipping Biber.pm because I couldn't find a matching namespace.
谢谢!
使用:4.11.6-3-ARCH 和 Cinnamon 3.4.3,x86_64。