XML::LibXSLT を使うために必要な開発パッケージをインストールする。search の結果、libxml-libxslt-perl パッケージがインストールされているが、新しいものを使うために今回は気にしない。必要な開発パッケージはlibxsltとlibgdbmの2つ。まずはlibxslt1-devをインストール
# aptitude search libxslt i A libxml-libxslt-perl - Perl module for using the GNOME libxslt library v libxslt-dev - p libxslt-ruby - Ruby interface to libxslt p libxslt-ruby1.8 - Ruby interface to libxslt (for Ruby 1.8) p libxslt1-dbg - XSLT 1.0 processing library - debugging symbols p libxslt1-dev - XSLT 1.0 processing library - development kit i A libxslt1.1 - XSLT 1.0 processing library - runtime library p libxsltc-java - XSL Transformations (XSLT) compiler from Xalan-Java p libxsltc-java-gcj - XSL Transformations (XSLT) compiler from Xalan-Java (native code) p libxslthl-java - XSLT syntax highlighting p python-libxslt1 - Python bindings for libxslt1 p python-libxslt1-dbg - Python bindings for libxslt1 (debug extension) v python2.5-libxslt1 - v python2.5-libxslt1-dbg - v python2.6-libxslt1 - v python2.6-libxslt1-dbg - # aptitude install libxslt1-dev The following NEW packages will be installed: libxslt1-dev 0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 634 kB of archives. After unpacking 2580 kB will be used. Get:1 http://ftp.jp.debian.org/debian/ squeeze/main libxslt1-dev amd64 1.1.26-6+squeeze1 [634 kB] Fetched 634 kB in 0s (2223 kB/s) Selecting previously deselected package libxslt1-dev. (Reading database ... 86514 files and directories currently installed.) Unpacking libxslt1-dev (from .../libxslt1-dev_1.1.26-6+squeeze1_amd64.deb) ... Processing triggers for man-db ... Processing triggers for doc-base ... Processing 1 added doc-base file(s)... Setting up libxslt1-dev (1.1.26-6+squeeze1) ...
libgdbm-dev のインストール。
# aptitude search libgdbm p libgdbm-dev - GNU dbm database routines (development files) p libgdbm-gst - GDBM bindings for GNU Smalltalk v libgdbm-ruby - v libgdbm-ruby1.8 - v libgdbm-ruby1.9.1 - i libgdbm3 - GNU dbm database routines (runtime version) root@localhost:~# aptitude install libgdbm-dev The following NEW packages will be installed: libgdbm-dev 0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 38.6 kB of archives. After unpacking 131 kB will be used. Get:1 http://ftp.jp.debian.org/debian/ squeeze/main libgdbm-dev amd64 1.8.3-9 [38.6 kB] Fetched 38.6 kB in 0s (99.8 kB/s) Selecting previously deselected package libgdbm-dev. (Reading database ... 86661 files and directories currently installed.) Unpacking libgdbm-dev (from .../libgdbm-dev_1.8.3-9_amd64.deb) ... Processing triggers for man-db ... Setting up libgdbm-dev (1.8.3-9) ...
cpan 経由で XML::LibXSLT をインストール。
# cpan -i XML::LibXSLT CPAN: Storable loaded ok (v2.39) Reading '/root/.cpan/Metadata' Database was generated on Wed, 03 Oct 2012 04:43:04 GMT Running install for module 'XML::LibXSLT' Running make for S/SH/SHLOMIF/XML-LibXSLT-1.78.tar.gz CPAN: Digest::SHA loaded ok (v5.72) CPAN: Compress::Zlib loaded ok (v2.055) Checksum for /root/.cpan/sources/authors/id/S/SH/SHLOMIF/XML-LibXSLT-1.78.tar.gz ok CPAN: Archive::Tar loaded ok (v1.90) XML-LibXSLT-1.78/ XML-LibXSLT-1.78/perl-libxml-mm.h XML-LibXSLT-1.78/benchmark/ XML-LibXSLT-1.78/benchmark/Driver/ XML-LibXSLT-1.78/benchmark/Driver/Sablotron.pm XML-LibXSLT-1.78/benchmark/Driver/LibXSLT.pm XML-LibXSLT-1.78/benchmark/Driver/BaseClass.pm XML-LibXSLT-1.78/benchmark/benchmark.pl XML-LibXSLT-1.78/Changes XML-LibXSLT-1.78/LibXSLT.pm XML-LibXSLT-1.78/MANIFEST XML-LibXSLT-1.78/testcases/ XML-LibXSLT-1.78/testcases/default.conf XML-LibXSLT-1.78/example/ XML-LibXSLT-1.78/example/fatal.xsl XML-LibXSLT-1.78/example/2.xml XML-LibXSLT-1.78/example/bad3.xsl XML-LibXSLT-1.78/example/nonfatal.xsl XML-LibXSLT-1.78/example/1.xml XML-LibXSLT-1.78/example/bad2.xsl XML-LibXSLT-1.78/example/1.xsl XML-LibXSLT-1.78/example/2.xsl XML-LibXSLT-1.78/example/bad1.xsl XML-LibXSLT-1.78/Makefile.PL XML-LibXSLT-1.78/META.yml XML-LibXSLT-1.78/META.json XML-LibXSLT-1.78/README XML-LibXSLT-1.78/t/ XML-LibXSLT-1.78/t/04params.t XML-LibXSLT-1.78/t/rt71345_a.t XML-LibXSLT-1.78/t/09exslt.t XML-LibXSLT-1.78/t/06output.t XML-LibXSLT-1.78/t/03input.t XML-LibXSLT-1.78/t/08literal.t XML-LibXSLT-1.78/t/02dromeds.t XML-LibXSLT-1.78/t/06entities.t XML-LibXSLT-1.78/t/11utf8.t XML-LibXSLT-1.78/t/10functions.t XML-LibXSLT-1.78/t/05quick.t XML-LibXSLT-1.78/t/07blankdoc.t XML-LibXSLT-1.78/t/13error.t XML-LibXSLT-1.78/t/01basic.t XML-LibXSLT-1.78/t/14security.t XML-LibXSLT-1.78/t/12import.t XML-LibXSLT-1.78/t/15misc.t XML-LibXSLT-1.78/t/rt71345_b.t XML-LibXSLT-1.78/typemap XML-LibXSLT-1.78/LibXSLT.xs XML-LibXSLT-1.78/ppport.h XML-LibXSLT-1.78/perl-libxml-mm.c CPAN: Parse::CPAN::Meta loaded ok (v1.4404) CPAN: CPAN::Meta loaded ok (v2.120921) CPAN: Module::CoreList loaded ok (v2.73) CPAN.pm: Building S/SH/SHLOMIF/XML-LibXSLT-1.78.tar.gz running xslt-config... ok looking for -lxslt... yes looking for -lexslt... yes running pkg-config libexslt... ok Checking if your kit is complete... Looks good Note (probably harmless): No library found for -ldb Writing Makefile for XML::LibXSLT Writing MYMETA.yml and MYMETA.json cp LibXSLT.pm blib/lib/XML/LibXSLT.pm /usr/bin/perl /usr/local/share/perl/5.10.1/ExtUtils/xsubpp -typemap /usr/share/perl/5.10/ExtUtils/typemap -typemap typemap LibXSLT.xs > LibXSLT.xsc && mv LibXSLT.xsc LibXSLT.c cc -c -I/usr/include/libxml2 -I/usr/include/libxml2 -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.78\" -DXS_VERSION=\"1.78\" -fPIC "-I/usr/lib/perl/5.10/CORE" -DHAVE_BLANK -DHAVE_BLANK -DHAVE_EXSLT LibXSLT.c cc -c -I/usr/include/libxml2 -I/usr/include/libxml2 -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.78\" -DXS_VERSION=\"1.78\" -fPIC "-I/usr/lib/perl/5.10/CORE" -DHAVE_BLANK -DHAVE_BLANK -DHAVE_EXSLT perl-libxml-mm.c Running Mkbootstrap for XML::LibXSLT () chmod 644 LibXSLT.bs rm -f blib/arch/auto/XML/LibXSLT/LibXSLT.so LD_RUN_PATH="/usr/lib" cc -shared -O2 -g -L/usr/local/lib -fstack-protector LibXSLT.o perl-libxml-mm.o -o blib/arch/auto/XML/LibXSLT/LibXSLT.so \ -L/usr/lib -lxslt -lxml2 -lz -lm -lexslt -lgdbm -lgdbm_compat -ldl -lm -lpthread -lc -lcrypt \ chmod 755 blib/arch/auto/XML/LibXSLT/LibXSLT.so cp LibXSLT.bs blib/arch/auto/XML/LibXSLT/LibXSLT.bs chmod 644 blib/arch/auto/XML/LibXSLT/LibXSLT.bs Manifying blib/man3/XML::LibXSLT.3pm SHLOMIF/XML-LibXSLT-1.78.tar.gz make -- OK CPAN: YAML loaded ok (v0.84) Running make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/01basic.t ...... 1/4 Compiled against: libxslt 10126, libxml2 20708 Running: libxslt 10126, libxml2 20708 Compiled with EXSLT: yes t/01basic.t ...... ok t/02dromeds.t .... ok t/03input.t ...... ok t/04params.t ..... ok t/05quick.t ...... ok t/06entities.t ... ok t/06output.t ..... ok t/07blankdoc.t ... ok t/08literal.t .... ok t/09exslt.t ...... ok t/10functions.t .. ok t/11utf8.t ....... ok t/12import.t ..... ok t/13error.t ...... ok t/14security.t ... ok t/15misc.t ....... ok t/rt71345_a.t .... ok t/rt71345_b.t .... ok All tests successful. Files=18, Tests=241, 3 wallclock secs ( 0.21 usr 0.07 sys + 2.68 cusr 0.44 csys = 3.40 CPU) Result: PASS SHLOMIF/XML-LibXSLT-1.78.tar.gz make test -- OK Running make install Prepending /root/.cpan/build/XML-LibXSLT-1.78-wbyw41/blib/arch /root/.cpan/build/XML-LibXSLT-1.78-wbyw41/blib/lib to PERL5LIB for 'install' Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing /usr/local/lib/perl/5.10.1/auto/XML/LibXSLT/LibXSLT.so Installing /usr/local/lib/perl/5.10.1/auto/XML/LibXSLT/LibXSLT.bs Installing /usr/local/lib/perl/5.10.1/XML/LibXSLT.pm Installing /usr/local/man/man3/XML::LibXSLT.3pm Appending installation info to /usr/lib/perl/5.10/perllocal.pod SHLOMIF/XML-LibXSLT-1.78.tar.gz make install -- OK