前提・実現したいこと
既存データベースと同じ環境を構築したいので
・postgreSQL (7.2.6)
・DBD-Pg-1.32
を使用してデータベースに接続したいです。
そのためにDBD-Pgそのためにをインストールしたいのですが、うまくいきません。
試したこと
postgreSQL (7.2.6)のインストール済
>wget https://ftp.postgresql.org/pub/source/v7.2.6/postgresql-7.2.6.tar.gz
DBIインストール済
>perl -MCPAN -e shell
>install DBI
DBD :: Pg 1.32のインストールか、その後がうまくいきません。
CPANやyumでインストール出来るDBD::PgのバージョンはPostgreSQL8以上を必要とするため直接バージョン指定してみました。
>① cpan https://cpan.metacpan.org/authors/id/R/RU/RUDY/DBD-Pg-1.32.tar.gz
>② wget https://cpan.metacpan.org/authors/id/R/RU/RUDY/DBD-Pg-1.32.tar.gz
①の結果 Resolving cpan.pesat.net.id (cpan.pesat.net.id)... xxx.xxx.xxx.xxx Connecting to cpan.pesat.net.id (cpan.pesat.net.id)|xxx.xxx.xxx.xxx|:80... connected. HTTP request sent, awaiting response... 404 Not Found 2020-02-04 14:57:15 ERROR 404: Not Found. Function system("/bin/wget -O "/root/.cpan/sources/authors/id/https:/cpan.metacpan.org/authors/id/R/RU/RUDY/DBD-Pg-1.32.tar.gz.tmp3831" "http://cpan.pesat.net.id/authors/id/https://cpan.metacpan.org/authors/id/R/RU/RUDY/DBD-Pg-1.32.tar.gz" ") returned status 8 (wstat 2048), left /root/.cpan/sources/authors/id/https:/cpan.metacpan.org/authors/id/R/RU/RUDY/DBD-Pg-1.32.tar.gz.tmp3831 with size 0 Warning: no success downloading '/root/.cpan/sources/authors/id/https:/cpan.metacpan.org/authors/id/R/RU/RUDY/DBD-Pg-1.32.tar.gz.tmp3831'. Giving up on it. No external ftp command available Please check, if the URLs I found in your configuration file (http://mirror.pregi.net/CPAN/, http://mirror.biznetgio.com/cpan/, http://cpan.pesat.net.id/) are valid. The urllist can be edited. E.g. with 'o conf urllist push ftp://myurl/' Could not fetch authors/id/https://cpan.metacpan.org/authors/id/R/RU/RUDY/DBD-Pg-1.32.tar.gz ②結果の結果 --2020-02-04 15:08:16-- https://cpan.metacpan.org/authors/id/R/RU/RUDY/DBD-Pg-1.32.tar.gz Resolving cpan.metacpan.org (cpan.metacpan.org)... xxx.xxx.xxx.xxx, 2a04:4e42:15::729 Connecting to cpan.metacpan.org (cpan.metacpan.org)|xxx.xxx.xxx.xxx|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 96233 (94K) [application/x-gzip] Saving to: ‘DBD-Pg-1.32.tar.gz.1’ 100%[======================================================================================================================================================================================================>] 96,233 --.-K/s in 0.03s 2020-02-04 15:08:16 (3.24 MB/s) - ‘DBD-Pg-1.32.tar.gz.1’ saved [96233/96233]
②はうまくいったかのよにみえますが、
>perl -MDBD::Pg -e'print $DBD::Pg::VERSION' ; echo
Can't locate DBD/Pg.pm in @INC (@INC contains: /root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi /root/perl5/lib/perl5/5.16.3 /root/perl5/lib/perl5/x86_64-linux-thread-multi /root/perl5/lib/perl5 /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .). BEGIN failed--compilation aborted.
>tar zxvf DBD-Pg-1.32.tar.gz
>cd DBD-Pg-1.32
>perl Makefile.PL
Configuring Pg Remember to actually read the README file! OS: linux PostgreSQL version: 7.2.6 Multiple copies of Driver.xst found in: /root/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBI/ /usr/lib64/perl5/vendor_perl/auto/DBI/ at Makefile.PL line 66. Using DBI 1.634 (for perl 5.016003 on x86_64-linux-thread-multi) installed in /root/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBI/ Multiple copies of Driver.xst found in: /root/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBI/ /usr/lib64/perl5/vendor_perl/auto/DBI/ at Makefile.PL line 113. Using DBI 1.634 (for perl 5.016003 on x86_64-linux-thread-multi) installed in /root/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBI/ Generating a Unix-style Makefile Writing Makefile for DBD::Pg Writing MYMETA.yml and MYMETA.json
>make
Skip blib/lib/DBD/pg_connect.pl (unchanged) Skip blib/lib/DBD/Pg.pm (unchanged) Running Mkbootstrap for Pg () chmod 644 "Pg.bs" "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Pg.bs blib/arch/auto/DBD/Pg/Pg.bs 644 gcc -c -I/usr/local/pgsql/include -I/root/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_PQescapeString -DHAVE_PQescapeBytea -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc -DVERSION=\"1.32\" -DXS_VERSION=\"1.32\" -fPIC "-I/usr/lib64/perl5/CORE" Pg.c Pg.c: In function ‘XS_DBD__Pg__db__login’: Pg.c:326:7: warning: variable ‘attribs’ set but not used [-Wunused-but-set-variable] SV * attribs; ^ Pg.xs: In function ‘XS_DBD__Pg__db_quote’: Pg.xs:95:8: warning: format ‘%i’ expects argument of type ‘int’, but argument 2 has type ‘IV’ [-Wformat=] "defaulting to VARCHAR",SvIV(type_sv)); ^ 〜省略 ^ Pg.xs:294:47: error: ‘sv_yes’ undeclared (first use in this function) ST(0) = (-1 != pg_db_endcopy(dbh)) ? &sv_yes : &sv_no; ^ Pg.xs:294:57: error: ‘sv_no’ undeclared (first use in this function) ST(0) = (-1 != pg_db_endcopy(dbh)) ? &sv_yes : &sv_no; ^ In file included from /root/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBI/DBIXS.h:24:0, from Pg.h:39, from Pg.xs:13: Pg.c: In function ‘XS_DBD__Pg__db__pg_type_info’: /usr/lib64/perl5/CORE/XSUB.h:175:28: warning: unused variable ‘targ’ [-Wunused-variable] #define dXSTARG SV * const targ = ((PL_op->op_private & OPpENTERSUB_HASTARG) \ ^ Pg.c:1843:2: note: in expansion of macro ‘dXSTARG’ dXSTARG; ^ make: *** [Pg.o] Error 1
とエラーになりうまくいきません。
検索で調べたのですが、よくわからず質問させてもらいました。
DBD-Pg-1.32のインストール自体がうまくいってないので、その後のエラーが出ているということなのでしょうか?
どのようにしたら解決するかご教授頂けると幸いです。
補足情報(FW/ツールのバージョンなど)
Mac Vagrant PostgreSQL CentOS7
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/26 01:40 編集