UJP - 技術情報1

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

Archive::ZipとCompress::Zlibを導入する

Archive::ZipとCompress::Zlibを導入する


0.改訂履歴

  • 2005.09.07 新規作成

1.はじめに

 このドキュメントでは,Perlの追加モジュールであるArchive::Zipを導入する手順を説明する. Archive::Zipを稼働させる為には,Compress::Zipが必要なので,このモジュールもインストールを行う.

 なお,使用しているOSは,RedHat ES3.0である.

2.Archive::Zipのインストール

  • CPANからモジュールを入手する.
[root@jupiter Download]# wget http://search.cpan.org/CPAN/authors/id/N/NE
/NEDKONZ/Archive-Zip-1.14.tar.gz
--18:41:23--  http://search.cpan.org/CPAN/authors/id/N/NE/NEDKONZ/Archive
-Zip-1.14.tar.gz
           => `Archive-Zip-1.14.tar.gz'
Resolving search.cpan.org... 216.52.237.135, 216.52.237.136
Connecting to search.cpan.org[216.52.237.135]:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://ftp.kaist.ac.kr/pub/CPAN/authors/id/N/NE/NEDKONZ/Archive
-Zip-1.14.tar.gz [following]
--18:41:23--  http://ftp.kaist.ac.kr/pub/CPAN/authors/id/N/NE/NEDKONZ/Arc
hive-Zip-1.14.tar.gz
           => `Archive-Zip-1.14.tar.gz'
Resolving ftp.kaist.ac.kr... 143.248.234.110
Connecting to ftp.kaist.ac.kr[143.248.234.110]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 110,330 [application/x-tar]

100%[====================================================================
===================>] 110,330      322.78K/s             

18:41:24 (322.02 KB/s) - `Archive-Zip-1.14.tar.gz' saved [110,330/110,330]

[root@jupiter Download]#  
  • ダウンロードしたファイルは次の通り.
[root@jupiter Download]# ls -la Archive-Zip-1.14.tar.gz 
-rw-r--r--    1 root     root       110330 Oct 22  2004 Archive-Zip-1.14.
tar.gz
[root@jupiter Download]#
  • gzipを展開する.
[root@jupiter Download]# gzip -d Archive-Zip-1.14.tar.gz 
[root@jupiter Download]#
  • tarを展開する.
[root@jupiter Download]# tar xf Archive-Zip-1.14.tar 
[root@jupiter Download]#
  • ファイルの中身を確認する.
[root@jupiter Download]# cd Archive-Zip-1.14
[root@jupiter Archive-Zip-1.14]# ls -la
total 60
drwxr-xr-x    6 1000     1000         4096 Sep  7 18:44 .
drwxr-xr-x    7 root     root         4096 Sep  7 18:44 ..
-rw-r--r--    1 1000     1000         6541 Oct 21  2004 Changes
-rw-r--r--    1 1000     1000         1254 Jun  2  2004 INSTALL
-rw-r--r--    1 1000     1000         2853 Nov 27  2003 MANIFEST
-rw-r--r--    1 1000     1000          829 Oct 22  2004 META.yml
-rw-r--r--    1 1000     1000         1459 Jul  9  2004 Makefile.PL
-rw-r--r--    1 1000     1000         1141 Oct 21  2003 README
-rw-r--r--    1 1000     1000          307 Oct 21  2003 TODO
-rwxr-xr-x    1 1000     1000          615 Mar 17  2000 crc32
drwxr-xr-x    2 1000     1000         4096 Sep  7 18:44 docs
drwxr-xr-x    2 1000     1000         4096 Sep  7 18:44 examples
drwxr-xr-x    3 1000     1000         4096 Oct 22  2004 lib
drwxr-xr-x    2 1000     1000         4096 Sep  7 18:44 t
[root@jupiter Archive-Zip-1.14]# 
  • 普通のPerlモジュールなので,makeファイルの作成から行う.
[root@jupiter Archive-Zip-1.14]# perl Makefile.PL 
Checking if your kit is complete...
Looks good
Warning: prerequisite Compress::Zlib 1.14 not found.
Writing Makefile for Archive::Zip
[root@jupiter Archive-Zip-1.14]#  
  • Compress::Zlibがインストールされている必要がある.

3.Compress::Zlibをインストールする

  • モジュールを入手する.
[root@jupiter Download]# wget http://search.cpan.org/CPAN/authors/id/P/PM
/PMQS/Compress-Zlib-1.38.tar.gz
--18:58:04--  http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/Compress-Z
lib-1.38.tar.gz
           => `Compress-Zlib-1.38.tar.gz'
Resolving search.cpan.org... 216.52.237.135, 216.52.237.136
Connecting to search.cpan.org[216.52.237.135]:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://mirror.kr.FreeBSD.org/CPAN/authors/id/P/PM/PMQS/Compress
-Zlib-1.38.tar.gz [following]
--18:58:05--  http://mirror.kr.freebsd.org/CPAN/authors/id/P/PM/PMQS/Comp
ress-Zlib-1.38.tar.gz
           => `Compress-Zlib-1.38.tar.gz'
Resolving mirror.kr.freebsd.org... 210.118.94.73
Connecting to mirror.kr.freebsd.org[210.118.94.73]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 151,677 [application/x-gzip]

100%[====================================================================
===================>] 151,677      575.13K/s             

18:58:05 (573.24 KB/s) - `Compress-Zlib-1.38.tar.gz' saved [151,677/151,677]

[root@jupiter Download]#
  • アーカイブを展開する.
[root@jupiter Download]# tar xfz Compress-Zlib-1.38.tar.gz 
[root@jupiter Download]#
  • ファイルの中身を見る.
[root@jupiter Download]# cd Compress-Zlib-1.38
[root@jupiter Compress-Zlib-1.38]# ls -la
total 164
drwxr-xr-x    5 alias    nofiles      4096 Sep  7 04:13 .
drwxr-xr-x    9 root     root         4096 Sep  7 19:01 ..
-rw-r--r--    1 alias    nofiles      1225 Dec  5  2001 ANNOUNCE
-rw-r--r--    1 alias    nofiles     11990 Sep  7 03:06 Changes
-rw-r--r--    1 alias    nofiles       748 Sep  6 06:29 MANIFEST
-rw-r--r--    1 alias    nofiles       297 Sep  7 04:13 META.yml
-rwxr-xr-x    1 alias    nofiles     10595 Sep  1 07:23 Makefile.PL
-rw-r--r--    1 alias    nofiles     12397 Sep  7 03:06 README
-rw-r--r--    1 alias    nofiles     33297 Sep  7 04:13 Zlib.pm
-rw-r--r--    1 alias    nofiles     24618 Aug 21 08:26 Zlib.xs
-rwxr-xr-x    1 alias    nofiles       454 Aug  6 05:30 config.in
drwxr-xr-x    2 alias    nofiles      4096 Sep  7 04:13 examples
-rw-r--r--    1 alias    nofiles     12766 Dec  5  2001 fallback.h
-rw-r--r--    1 alias    nofiles      2546 May  2  2003 fallback.xs
drwxr-xr-x    2 alias    nofiles      4096 Sep  7 04:13 t
-rw-r--r--    1 alias    nofiles       431 Sep 24  1997 typemap
drwxr-xr-x    2 alias    nofiles      4096 Sep  7 04:13 zlib-src
[root@jupiter Compress-Zlib-1.38]#
  • makeファイルを作成する.
[root@jupiter Compress-Zlib-1.38]# perl Makefile.PL 
Parsing config.in...
Building Zlib enabled
Looks Good.
Up/Downgrade complete.
Checking if your kit is complete...
Looks good
Writing Makefile for Compress::Zlib
[root@jupiter Compress-Zlib-1.38]#
  • 問題なく終了したようなので,makeする.
[root@jupiter Compress-Zlib-1.38]# make
cp Zlib.pm blib/lib/Compress/Zlib.pm
AutoSplitting blib/lib/Compress/Zlib.pm (blib/lib/auto/Compress/Zlib)
/usr/bin/perl /usr/lib/perl5/5.8.0/ExtUtils/xsubpp  -typemap /usr/lib/
perl5/5.8.0/ExtUtils/typemap -typemap typemap  Zlib.xs > Zlib.
xsc && mv Zlib.xsc Zlib.c
gcc -c  -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -
DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURC
E -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -
mcpu=i686   -DVERSION=¥"1.38¥" -DXS_VERSION=¥"1.38¥" -fPIC "-I/usr/
lib/
perl5/5.8.0/i386-linux-thread-multi/CORE"   Zlib.c
gcc -c  -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -
DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURC
E -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -
mcpu=i686   -DVERSION=¥"1.38¥" -DXS_VERSION=¥"1.38¥" -fPIC "-
I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE"   adler32.c
gcc -c  -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -
DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -
mcpu=i686   -DVERSION=¥"1.38¥" -DXS_VERSION=¥"1.38¥" -fPIC "-
I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE"   crc32.c
gcc -c  -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -
DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -
mcpu=i686   -DVERSION=¥"1.38¥" -DXS_VERSION=¥"1.38¥" -fPIC "-
I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE"   infback.c
gcc -c  -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -
DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -
mcpu=i686   -DVERSION=¥"1.38¥" -DXS_VERSION=¥"1.38¥" -fPIC "-
I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE"   inflate.c
gcc -c  -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -
DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -
mcpu=i686   -DVERSION=¥"1.38¥" -DXS_VERSION=¥"1.38¥" -fPIC "-
I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE"   uncompr.c
gcc -c  -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -
DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -
mcpu=i686   -DVERSION=¥"1.38¥" -DXS_VERSION=¥"1.38¥" -fPIC "-
I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE"   compress.c
gcc -c  -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -
DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -
mcpu=i686   -DVERSION=¥"1.38¥" -DXS_VERSION=¥"1.38¥" -fPIC "-
I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE"   deflate.c
gcc -c  -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -
DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -
mcpu=i686   -DVERSION=¥"1.38¥" -DXS_VERSION=¥"1.38¥" -fPIC "-
I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE"   gzio.c
gcc -c  -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -
DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -
mcpu=i686   -DVERSION=¥"1.38¥" -DXS_VERSION=¥"1.38¥" -fPIC "-
I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE"   inffast.c
gcc -c  -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -
DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -
mcpu=i686   -DVERSION=¥"1.38¥" -DXS_VERSION=¥"1.38¥" -fPIC "-
I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE"   inftrees.c
gcc -c  -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -
DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -
mcpu=i686   -DVERSION=¥"1.38¥" -DXS_VERSION=¥"1.38¥" -fPIC "-
I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE"   trees.c
gcc -c  -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -
DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -
mcpu=i686   -DVERSION=¥"1.38¥" -DXS_VERSION=¥"1.38¥" -fPIC "-
I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE"   zutil.c
Running Mkbootstrap for Compress::Zlib ()
chmod 644 Zlib.bs
rm -f blib/arch/auto/Compress/Zlib/Zlib.so
LD_RUN_PATH="" gcc  -shared -L/usr/local/lib Zlib.o adler32.o crc32.o 
infback.o inflate.o uncompr.o compress.o deflate.o gzio.o inffast.o 
inftrees.o trees.o zutil.o   -o blib/arch/auto/Compress/Zlib/Zlib.so     
chmod 755 blib/arch/auto/Compress/Zlib/Zlib.so
cp Zlib.bs blib/arch/auto/Compress/Zlib/Zlib.bs
chmod 644 blib/arch/auto/Compress/Zlib/Zlib.bs
Manifying blib/man3/Compress::Zlib.3pm
[root@jupiter Compress-Zlib-1.38]#  
  • テストを実行する.
[root@jupiter Compress-Zlib-1.38]# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
 "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01version.....ok
t/02zlib........ok
t/03examples....ok
t/04encoding....ok
t/05gzsetp......ok
t/06gzdopen.....ok
All tests successful.
Files=6, Tests=302,  2 wallclock secs ( 1.55 cusr +  0.19 csys =
  1.74 CPU)
[root@jupiter Compress-Zlib-1.38]#  
  • 全テスト終了なので,問題無さそう.
  • インストールを行う.
[root@jupiter Compress-Zlib-1.38]# make install
Installing /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-
multi/auto/Compress/Zlib/Zlib.so
Installing /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-
multi/auto/Compress/Zlib/Zlib.bs
Files found in blib/arch: installing files in blib/lib into architecture
 dependent library tree
Installing /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-
multi/auto/Compress/Zlib/autosplit.ix
Installing /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-
multi/Compress/Zlib.pm
Installing /usr/share/man/man3/Compress::Zlib.3pm
Writing /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-
multi/auto/Compress/Zlib/.packlist
Appending installation info to /usr/lib/perl5/5.8.0/i386-linux-thread-
multi/perllocal.pod
[root@jupiter Compress-Zlib-1.38]#
  • インストールプロセスは問題なく終了した.

4.再度Archive::Zipをインストールする

  • 先ほど途中になっていた作業を継続する為,ディレクトリを移動する.
[root@jupiter Compress-Zlib-1.38]# cd ..       
[root@jupiter Download]# cd Archive-Zip-1.14
[root@jupiter Archive-Zip-1.14]#
  • Makefileの作成を実行.
[root@jupiter Archive-Zip-1.14]# perl Makefile.PL 
Writing Makefile for Archive::Zip
[root@jupiter Archive-Zip-1.14]#
  • 今度は問題なかった.
  • makeする.
[root@jupiter Archive-Zip-1.14]# make
cp lib/Archive/Zip/Tree.pm blib/lib/Archive/Zip/Tree.pm
cp lib/Archive/Zip.pod blib/lib/Archive/Zip.pod
cp lib/Archive/Zip/FAQ.pod blib/lib/Archive/Zip/FAQ.pod
cp lib/Archive/Zip.pm blib/lib/Archive/Zip.pm
cp lib/Archive/Zip/MemberRead.pm blib/lib/Archive/Zip/MemberRead.pm
cp lib/Archive/Zip/MockFileHandle.pm blib/lib/Archive/Zip/MockFileH
andle.pm
cp lib/Archive/Zip/BufferedFileHandle.pm blib/lib/Archive/Zip/Buffe
redFileHandle.pm
cp crc32 blib/script/crc32
/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/cr
c32
Manifying blib/man3/Archive::Zip.3pm
Manifying blib/man3/Archive::Zip::Tree.3pm
Manifying blib/man3/Archive::Zip::FAQ.3pm
Manifying blib/man3/Archive::Zip::MemberRead.3pm
[root@jupiter Archive-Zip-1.14]# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
 "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/test..............ok
t/testex............ok
t/testMemberRead....ok
t/testTree..........ok
t/testUpdate........ok
All tests successful.
Files=5, Tests=163,  7 wallclock secs ( 5.16 cusr +  0.89 csys =  6.05
 CPU)
[root@jupiter Archive-Zip-1.14]# 
  • テストも問題なく終了.
[root@jupiter Archive-Zip-1.14]# make install
Installing /usr/lib/perl5/site_perl/5.8.0/Archive/Zip.pod
Installing /usr/lib/perl5/site_perl/5.8.0/Archive/Zip.pm
Installing /usr/lib/perl5/site_perl/5.8.0/Archive/Zip/Tree.pm
Installing /usr/lib/perl5/site_perl/5.8.0/Archive/Zip/FAQ.pod
Installing /usr/lib/perl5/site_perl/5.8.0/Archive/Zip/MemberRead.pm
Installing /usr/lib/perl5/site_perl/5.8.0/Archive/Zip/MockFileHandle.pm
Installing /usr/lib/perl5/site_perl/5.8.0/Archive/Zip/BufferedFileHandl
e.pm
Installing /usr/share/man/man3/Archive::Zip.3pm
Installing /usr/share/man/man3/Archive::Zip::Tree.3pm
Installing /usr/share/man/man3/Archive::Zip::FAQ.3pm
Installing /usr/share/man/man3/Archive::Zip::MemberRead.3pm
Installing /usr/bin/crc32
Writing /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/Arc
hive/Zip/.packlist
Appending installation info to /usr/lib/perl5/5.8.0/i386-linux-thread-
multi/perllocal.pod
[root@jupiter Archive-Zip-1.14]#  
  • 終了.


広告スペース
Google