I installed and downloaded the latest version of Apache, Apache
2.0.52, on my Windows XP SP 1 machine. I tested the Apache server by
loading my test Web page on my browser and running my test CGI
scripts. Apache worked fine.

I also downloaded and installed the latest version of mod_perl using
ActiveState's PPM. Then I edited httpd.conf and added the following
line:

LoadModule perl_module modules/mod_perl.so

I restarted Apache and tested it again. It still worked fine.

Then I downloaded and installed Embperl via PPM again, using the
following command:

ppm http://theoryx5.uwinnipeg.ca/ppms/Embperl-1.ppd

(The name "Embperl-1" stands for "Embperl 2 for mod_perl 1.x.")

Then I restarted Apache and tested it again, just to be sure. Still worked fine.

Next, I edited httpd.conf again and added the following lines:

<IfModule mod_perl.c>
    PerlModule Embperl
    AddType text/html .epl

    <Files *.epl>
       SetHandler  perl-script
       PerlHandler Embperl
       Options ExecCGI
    </Files>
</IfModule>

When I tried to restart Apache, it refused to start and popped up an
error dialog box with the following message:

"The requested operation has failed!"

Next, I commented out all the lines inside <IfModule
mod_perl.c>...</IfModule>, except for the PerlModule line. The entire
<IfModule mod_perl.c>...</IfModule> lines now looked like this:

<IfModule mod_perl.c>
    PerlModule Embperl
#    AddType text/html .epl

#    <Files *.epl>
#       SetHandler  perl-script
#       PerlHandler Embperl
#       Options ExecCGI
#    </Files>
</IfModule>

When I tried to restart Apache, it failed again with the same error message.

Lastly, when I commented out the "PerlModule Embperl" line, the Apache
server restarted *successfully*.

It seems that the line that caused the error is the "PerlModule
Embperl" line. I looked at the error.log file, and I saw this entry:

[Sun Oct 24 00:40:57 2004] [error] Can't load Perl module Embperl for
server jojo.mydomain.com.ph:80, exiting...

Next, I created a test Perl script called "tester.pl", with the following code:

-------
#!/usr/bin/perl

use XML::LibXML;
use Embperl;

use strict;
use warnings;

my $xml = '<root><name>Perry</name></root>';
my $parser = XML::LibXML->new;
my $tree = $parser->parse_string($xml);
my $root = $tree->documentElement;

my $name = $root->findvalue('name');

print "My name is $name\n";

------


I ran tester.pl on the command line. Unfortunately, it resulted into
an error dialog box with the following message:

------
perl.exe - Entry Point Not Found

The procedure entry point xmlLoadExtDtdDefaultValue could not be
located in the dynamic link library libxml2.dll.

[ OK ]
------

I clicked on the OK button on the error dialog box. After that, more
error messages displayed on my command-line Console:


------
Can't load 'C:/usr/site/lib/auto/Embperl/Embperl.NoApache.dll' for
module Embperl:
load_file:The specified procedure could not be found at
C:/usr/lib/DynaLoader.pm line 229.
 at tester.pl line 4
Compilation failed in require at tester.pl line 4.
BEGIN failed--compilation aborted at tester.pl line 4.
------


Next, I edited tester.pl and commented out the "use Embperl" line, so
the entire script code looked like this:

-------
#!/usr/bin/perl

use XML::LibXML;
# use Embperl;

use strict;
use warnings;

my $xml = '<root><name>Perry</name></root>';
my $parser = XML::LibXML->new;
my $tree = $parser->parse_string($xml);
my $root = $tree->documentElement;

my $name = $root->findvalue('name');

print "My name is $name\n";

------

I ran tester.pl again, and it ran *successfully*. The output on the
command line is, "My name is Perry". This indicated that there's
really nothing wrong with my XML::LibXML module.

Did I miss something? What seems to be the problem?

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to