You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2002/05/29 15:07:31 UTC

DO NOT REPLY [Bug 9491] New: - modperl-2.0 Apache::compat isn't

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9491>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9491

modperl-2.0 Apache::compat isn't

           Summary: modperl-2.0 Apache::compat isn't
           Product: Apache httpd-2.0
           Version: 2.0.36
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: Blocker
          Priority: Other
         Component: Other Modules
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: herp@wildsau.idv.uni-linz.ac.at
                CC: herp@wildsau.idv.uni-linz.ac.at


hello,

I am struggling for two days to get a perl-module which I wrote under modperl-1
and apache-1.3.24. I am forced to switch to httpd-20 and modperl-2, since a
particular configuration (with SSL and <Directory>) doesn't work with
apache-1.3, but it will with httpd-2.0

Porting the module to modperl-2.0 isn't so eays, since the book "Writing Apache
Modules with Perl and C" from Stei & MacEachern only covers modperl-1.0

Therefore, I decided to use the compat-mode of modperl. Unfortunately, it seems
that this doesn't work at all.

a simple example:

--- test3.pm ---

package test3;

use strict;

use Apache2;
use Apache::compat;

BEGIN {
        print("test3.pm::BEGIN\n");
        Apache::log_error("test3.pm::BEGIN");
}

1;

--- end ---
this will result in:
---
Undefined subroutine &Apache::log_error called at /root/Portal/test3.pm line 17
---
I fixed that by "aliasing" Apache::log_error to Apache->server->log_error, by
adding "sub Apache::log_error" to
<...where-perl-lives>/Apache2/Apache/compat.pm.

However, more complex code will still fail.

e.g., when I "use Apache::Table();", I will get:
---
Can't locate object method "boot" via package "mod_perl::boot" at 
/usr/local/lib/perl5/site_perl/5.6.1/i686-linux/Apache/Table.pm line 6.
Compilation failed in require at /root/Portal/Apache/PortalAuth.pm line 17.
---
The code ("PortalAuth.pm") *did* work flawlessy with modperl-1.0, but it does
not with the compat-mode of modperl-2.0. I am stuck here, and our project
is stuck too. This is a point where I cannot proceed :-(


best regards,
herber rosmanith

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org