Archive::ZipとCompress::Zlibを導入する
Archive::ZipとCompress::Zlibを導入する
0.改訂履歴
1.はじめに
このドキュメントでは,Perlの追加モジュールであるArchive::Zipを導入する手順を説明する. Archive::Zipを稼働させる為には,Compress::Zipが必要なので,このモジュールもインストールを行う.
なお,使用しているOSは,RedHat ES3.0である.
2.Archive::Zipのインストール
[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]#
|
[root@jupiter Download]# gzip -d Archive-Zip-1.14.tar.gz
[root@jupiter Download]#
|
[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]#
|
[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]#
|
[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]#
|
[root@jupiter Archive-Zip-1.14]# perl Makefile.PL
Writing Makefile for Archive::Zip
[root@jupiter Archive-Zip-1.14]#
|
[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]#
|