Сбой установки DBD :: DB2 из-за тестирования с использованием cpan на Strawberry Perl - PullRequest
0 голосов
/ 07 декабря 2018

Я очень новичок в Perl и пытаюсь установить модуль DBD :: DB2 для perl на ПК с Windows, используя cpan, но постоянно получаю эту ошибку:

CPAN: CPAN::SQLite loaded ok (v0.212)
Database was generated on Thu, 06 Dec 2018 20:55:19 GMT

Running install for module 'DBD::DB2'
CPAN: Digest::SHA loaded ok (v6.02)
CPAN: Compress::Zlib loaded ok (v2.081)
Checksum for D:\STRAWB~1\cpan\sources\authors\id\I\IB\IBMTORDB2\DBD-DB2-1.85.tar.gz ok
CPAN: Archive::Tar loaded ok (v2.32)
CPAN: YAML::XS loaded ok (v0.75)
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: Parse::CPAN::Meta loaded ok (v2.150010)
CPAN: CPAN::Meta loaded ok (v2.150010)
Configuring I/IB/IBMTORDB2/DBD-DB2-1.85.tar.gz with Makefile.PL

Configuring DBD::DB2...
Remember to actually read the README and CAVEATS files!

Using DB2 in "D:/SQLLIB"
System: perl5.028001 DBI1.642 Win32 strawberry-perl 5.28.1.1 #1 Sun Dec  2 14:24:00 2018 x64 MSWin32-x64-multi-thread dl_win32.xs
Compiler: gcc -s -O2  -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields
Includes:  -I"D:/SQLLIB/include" -I"D:\STRAWB~1\perl\site\lib/auto/DBI" -I"D:\STRAWB~1\perl\lib/auto/DBI" -I"D:\STRAWB~1\perl\vendor\lib/auto/DBI" -I"D:\STRAWB~1\perl\site\lib/auto/DBI" 
Libraries: -L"D:/SQLLIB/lib" db2cli.lib db2api.lib

Checking if your kit is complete...
Looks good
Checking if your kit is complete...
Looks good
Writing MYMETA.yml and MYMETA.json
Generating a gmake-style Makefile
Writing Makefile for DBD::DB2
Writing MYMETA.yml and MYMETA.json
IBMTORDB2/DBD-DB2-1.85.tar.gz
D:\Strawberry\perl\bin\perl.exe Makefile.PL -- OK
Running make for I/IB/IBMTORDB2/DBD-DB2-1.85.tar.gz
CPAN: Module::CoreList loaded ok (v5.20181130)
cp DB2.pm blib\lib\DBD\DB2.pm
cp DB2.pod blib\lib\DBD\DB2.pod
cp lib/Bundle/DBD/DB2.pm blib\lib\Bundle\DBD\DB2.pm
gmake[1]: Entering directory 'D:/STRAWB~1/cpan/build/DBD-DB2-1.85-10/Constants'
AutoSplitting ..\blib\lib\DBD\DB2\Constants.pm     (..\blib\lib\auto\DBD\DB2\Constants)
Running Mkbootstrap for Constants ()
"D:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- 644     "Constants.bs"
"D:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonempty -- Constants.bs    ..\blib\arch\auto\DBD\DB2\Constants\Constants.bs 644
"D:\Strawberry\perl\bin\perl.exe"    "D:\Strawberry\perl\lib\ExtUtils/xsubpp"  -typemap   D:\STRAWB~1\perl\lib\ExtUtils\typemap  Constants.xs > Constants.xsc
"D:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- Constants.xsc Constants.c
gcc -c -I"D:/SQLLIB/include" -I"D:\STRAWB~1\perl\site\lib/auto/DBI" -I"D:\STRAWB~1\perl\lib/auto/DBI" -I"D:\STRAWB~1\perl\vendor\lib/auto/DBI" -I"D:\STRAWB~1\perl\site\lib/auto/DBI"   -I"D:/SQLLIB/include" -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -s -O2   -DVERSION=\"1.85\" -DXS_VERSION=\"1.85\"  "-ID:\STRAWB~1\perl\lib\CORE" -   DDB2_CACHE_FIX    Constants.c
gmake[1]: Leaving directory 'D:/STRAWB~1/cpan/build/DBD-DB2-1.85-10/Constants'
IBMTORDB2/DBD-DB2-1.85.tar.gz
D:\STRAWB~1\c\bin\gmake.exe -- NOT OK
Stopping: 'install' failed for 'DBD::DB2'.

Я пытался скопировать DBD:: Модуль DB2 с другого компьютера, но он не работает и выдает ошибку. Не удается найти загружаемый объект для модуля DBD :: DB2 :: Константы в @INC. Любая помощь приветствуется.

1 Ответ

0 голосов
/ 08 декабря 2018

Согласно этому technote , IBM India (возможно, сопровождающие DBD: DB2) поддерживает DBD: DB2 для Windows с ActiveState Perl.В техническом примечании также показано, как использовать ppm для получения предварительно собранного модуля.

Если вам не важно, какой поставщик Perl, подумайте об использовании Activestate Perl для Windows.Если вам необходимо продолжить работу с Strawberry Perl, читайте дальше.

В текущей документации V11.1 Db2-LUW в дополнение к ActiveState Perl также сказано, что 32-битный Strawberry-Perl поддерживается сэто утверждение:

Рабочими версиями Perl, работающими с Db2, являются Activestate Perl и 32-битный Strawberry Perl.В частности, для 32-битного Strawberry Perl вы должны отправить электронное письмо на адрес opendev@us.ibm.com или обратиться в службу поддержки IBM для получения необходимых двоичных файлов.

Если у вас есть контракт на поддержку Db2, вы можете проверитьс ними, если документация по Db2 точна (часто для неосновных вещей, она неточна, устарела, вводит в заблуждение и т. д.), и могут ли они выпускать 64-битные двоичные файлы для DBD :: DB2.

Lookingна странице CPAN для изменений в DBD: DB2, похоже, самое последнее изменение было в 2012 году. Поэтому неясно, поддерживается ли этот модуль в настоящее время.

На том же сайте естьтакже сообщалось о проблеме , открытой в 2013 году, о том, что DBD: DB2 не может быть собрана с помощью Strawberry Perl.

Я уверен, что решительный программист C сможет решить эту проблему ... вопрос в том, достаточно ли пользователей, чтобы беспокоиться ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...