Difference between revisions of "XML::Parser"

From CBLFS
Jump to navigationJump to search
(I added a note about DESTDIR.)
Line 1: Line 1:
 
{| style="text-align: left; background-color: AliceBlue;"
 
{| style="text-align: left; background-color: AliceBlue;"
|-
+
|-valign="top"
 
!Download Source:
 
!Download Source:
 
| http://cpan.org/authors/id/M/MS/MSERGEANT/XML-Parser-{{Perl Module XML::Parser-Version}}.tar.gz
 
| http://cpan.org/authors/id/M/MS/MSERGEANT/XML-Parser-{{Perl Module XML::Parser-Version}}.tar.gz
Line 11: Line 11:
 
=== Required ===
 
=== Required ===
 
* [[Expat]]
 
* [[Expat]]
 +
 +
== Note to DESTDIR Fans ==
 +
 +
Somehow, when '''perl''' creates the Makefile for this module, it is able to figure out that it's in <DESTDIR>/<PERL_LOCATION> instead of simply <PERL_LOCATION>. For example, if you used DESTDIR to install perl in /usr/pkg/perl/5.8.8, it would realize that '''perl''' was in /usr/pkg/perl/5.8.8/usr/bin instead of /usr/bin. This means that if you pass DESTDIR to '''make install''' (e.g. DESTDIR=/usr/pkg/perl_module_xml-parser/{{Perl Module XML::Parser-Version}}), then it will install the module in /usr/pkg/perl_module_xml-parser/{{Perl Module XML::Parser-Version}}/usr/pkg/perl/5.8.8.
 +
 +
Now, you probably don't want that to happen. If you want the module installed where you installed perl, then you don't have to do anything. It's already setup that way. Just use '''make install'''. On the other hand, if you ''don't'' want the module to be installed in the same place, then you need to use the following sed after running '''perl Makefile.PL''':
 +
 +
sed -i 's@<PERL_DESTDIR>@@g' Makefile
 +
 +
Of course you need to replace <PERL_DESTDIR> with wherever you installed perl (in the example above that would be /usr/pkg/perl/5.8.8). You can then pass DESTDIR to '''make install''' as you normally would and the module will be installed there.
 +
 +
'''Editor's Note''':
 +
It is quite possible (even likely) that the behavior
 +
of this module with regards to DESTDIR is standard
 +
behavior for perl modules. If you happen to be someone
 +
that uses DESTDIR and installs a lot of perl modules
 +
and can confirm this, please move this section from
 +
this page to the [[Template:Perl Module Common Build]] page
 +
so that the information will be duplicated for all
 +
of the perl modules.
  
 
{{Perl Module Common Build}}
 
{{Perl Module Common Build}}

Revision as of 00:54, 13 January 2007

Download Source: http://cpan.org/authors/id/M/MS/MSERGEANT/XML-Parser-2.40.tar.gz

Dependencies

Required

Note to DESTDIR Fans

Somehow, when perl creates the Makefile for this module, it is able to figure out that it's in <DESTDIR>/<PERL_LOCATION> instead of simply <PERL_LOCATION>. For example, if you used DESTDIR to install perl in /usr/pkg/perl/5.8.8, it would realize that perl was in /usr/pkg/perl/5.8.8/usr/bin instead of /usr/bin. This means that if you pass DESTDIR to make install (e.g. DESTDIR=/usr/pkg/perl_module_xml-parser/2.40), then it will install the module in /usr/pkg/perl_module_xml-parser/2.40/usr/pkg/perl/5.8.8.

Now, you probably don't want that to happen. If you want the module installed where you installed perl, then you don't have to do anything. It's already setup that way. Just use make install. On the other hand, if you don't want the module to be installed in the same place, then you need to use the following sed after running perl Makefile.PL:

sed -i 's@<PERL_DESTDIR>@@g' Makefile

Of course you need to replace <PERL_DESTDIR> with wherever you installed perl (in the example above that would be /usr/pkg/perl/5.8.8). You can then pass DESTDIR to make install as you normally would and the module will be installed there.

Editor's Note:
It is quite possible (even likely) that the behavior
of this module with regards to DESTDIR is standard
behavior for perl modules. If you happen to be someone
that uses DESTDIR and installs a lot of perl modules
and can confirm this, please move this section from
this page to the Template:Perl Module Common Build page
so that the information will be duplicated for all
of the perl modules.

Non-Multilib

Compile the package:

perl Makefile.PL &&
make &&
make test

Install the package

make install

Multilib

32Bit

Compile the package:

USE_ARCH=32 perl Makefile.PL &&
make &&
make test

Install the package

make install

N32

Compile the package:

USE_ARCH=n32 perl Makefile.PL &&
make &&
make test

Install the package

make install

64Bit

Compile the package:

USE_ARCH=64 perl Makefile.PL &&
make &&
make test

Install the package

make install