ошибка установки perl DBI alpine

#perl #dbi #alpine

#perl #dbi #alpine-linux

Вопрос:

Я пытаюсь установить DBI (после сбоя DBD) в Alpine 3.12 и продолжаю получать ошибки, приведенные ниже. Я попробовал самую последнюю версию DBI и 1.628, которая, похоже, выпущена сразу после Perl v5.16.3 (которую мне нужно использовать). Я обновил Test::Simple, Test::More и Pod::Simple.

Журнал ошибок (сокращенный):

 cpanm https://cpan.metacpan.org/authors/id/T/TI/TIMB/DBI-1.628.tar.gz
cpanm (App::cpanminus) 1.7044 on perl 5.016003 built for x86_64-linux-thread-multi
Work directory is /root/.cpanm/work/1598444706.8
You have make /usr/bin/make
You have /usr/bin/wget
You have /usr/bin/tar: tar (GNU tar) 1.32
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3 : GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
--> Working on https://cpan.metacpan.org/authors/id/T/TI/TIMB/DBI-1.628.tar.gz
Fetching https://cpan.metacpan.org/authors/id/T/TI/TIMB/DBI-1.628.tar.gz
-> OK
Unpacking DBI-1.628.tar.gz
Entering DBI-1.628
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (6.63_02)
Configuring DBI-1.628
Running Makefile.PL
Your perl was compiled with gcc (version 9.3.0), okay.
Creating test wrappers for DBD::Gofer:
t/zvg_01basics.t
t/zvg_02dbidrv.t
[...]
t/zvxgnp_85gofer.t
Checking if your kit is complete...
Looks good

    I see you're using perl 5.016003 on x86_64-linux-thread-multi, okay.
    Remember to actually *read* the README file!
    Use  'make' to build the software (dmake or nmake on Windows).
    Then 'make test' to execute self tests.
    Then 'make install' to install the DBI and then delete this working
    directory before unpacking and building any DBD::* drivers.

Writing Makefile for DBI
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have ExtUtils::MakeMaker 6.48 ... Yes (6.63_02)
Checking if you have Test::Simple 0.90 ... Yes (0.98)
Building and testing DBI-1.628
/opt/perl/bin/perl -MExtUtils::Command -e 'mkpath' -- blib/lib/DBI
rm -f blib/lib/DBI/Changes.pm
cp Changes blib/lib/DBI/Changes.pm
[...]
#   Failed test 'use DBI::DBD::SqlEngine;'
#   at t/48dbi_dbd_sqlengine.t line 18.
#     Tried to use 'DBI::DBD::SqlEngine'.
#     Error:  Bareword "Errno::ENOENT" not allowed while "strict subs" in use at /root/.cpanm/work/1598444706.8/DBI-1.628/blib/lib/DBI/SQL/Nano.pm line 301.
# Compilation failed in require at /root/.cpanm/work/1598444706.8/DBI-1.628/blib/lib/DBI/DBD/SqlEngine.pm line 27.
# Compilation failed in require at (eval 7) line 2.
# BEGIN failed--compilation aborted at (eval 7) line 2.

#   Failed test 'use DBD::File;'
#   at t/48dbi_dbd_sqlengine.t line 19.
#     Tried to use 'DBD::File'.
#     Error:  Attempt to reload DBI/DBD/SqlEngine.pm aborted.
# Compilation failed in require at (eval 11) line 2.
#   ...propagated at /opt/perl/lib/5.16.3/base.pm line 84.
# BEGIN failed--compilation aborted at /root/.cpanm/work/1598444706.8/DBI-1.628/blib/lib/DBD/File.pm line 34.
# Compilation failed in require at (eval 9) line 2.
# BEGIN failed--compilation aborted at (eval 9) line 2.
install_driver(File) failed: Attempt to reload DBD/File.pm aborted.
Compilation failed in require at (eval 12) line 3.

 at t/48dbi_dbd_sqlengine.t line 22.
# Tests were run but no plan was declared and done_testing() was not seen.
t/48dbi_dbd_sqlengine.t .........
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 2/3 subtests

#   Failed test 'use DBD::File;'
#   at t/49dbd_file.t line 18.
#     Tried to use 'DBD::File'.
#     Error:  Bareword "Errno::ENOENT" not allowed while "strict subs" in use at /root/.cpanm/work/1598444706.8/DBI-1.628/blib/lib/DBI/SQL/Nano.pm line 301.
# Compilation failed in require at /root/.cpanm/work/1598444706.8/DBI-1.628/blib/lib/DBI/DBD/SqlEngine.pm line 27.
# Compilation failed in require at (eval 9) line 2.
#   ...propagated at /opt/perl/lib/5.16.3/base.pm line 84.
# BEGIN failed--compilation aborted at /root/.cpanm/work/1598444706.8/DBI-1.628/blib/lib/DBD/File.pm line 34.
# Compilation failed in require at (eval 7) line 2.
# BEGIN failed--compilation aborted at (eval 7) line 2.
install_driver(File) failed: Attempt to reload DBD/File.pm aborted.
Compilation failed in require at (eval 11) line 3.

 at t/49dbd_file.t line 30.
# Tests were run but no plan was declared and done_testing() was not seen.
t/49dbd_file.t ..................
Dubious, test returned 2 (wstat 512, 0x200)
Failed 1/2 subtests
Bareword "Errno::ENOENT" not allowed while "strict subs" in use at /root/.cpanm/work/1598444706.8/DBI-1.628/blib/lib/DBI/SQL/Nano.pm line 301.
Compilation failed in require at /root/.cpanm/work/1598444706.8/DBI-1.628/blib/lib/DBI/DBD/SqlEngine.pm line 27.
Compilation failed in require at (eval 9) line 2.
    ...propagated at /opt/perl/lib/5.16.3/base.pm line 84.
BEGIN failed--compilation aborted at /root/.cpanm/work/1598444706.8/DBI-1.628/blib/lib/DBD/File.pm line 34.
Compilation failed in require at (eval 8) line 2.
    ...propagated at /opt/perl/lib/5.16.3/base.pm line 84.
BEGIN failed--compilation aborted at /root/.cpanm/work/1598444706.8/DBI-1.628/blib/lib/DBD/DBM.pm line 25.
Compilation failed in require at t/50dbm_simple.t line 7.
t/50dbm_simple.t ................
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run
install_driver(DBM) failed: Bareword "Errno::ENOENT" not allowed while "strict subs" in use at /root/.cpanm/work/1598444706.8/DBI-1.628/blib/lib/DBI/SQL/Nano.pm line 301.
  

Спасибо за любую информацию.

Комментарии:

1. Я попытался установить Alpine 3.12 с помощью docker. I поставляется с perl версией 5.30.3 (и DBI устанавливается нормально). Как вы получили версию perl 5.16.3?

2. Я загружаю исходный код с cpan.org/src/5.0 а затем скомпилировал его с нуля.