Success!
I finally tried this:
1. Install the Debian source for mod_perl and apache2.2 (previously I
had tried building against the non-debian source tarballs)
2. Install Debian source for Embperl from Lenny
3. Build Embperl *not* using the "debian way", but rather the usual:
perl Makefile.PL (it found the correct Debian apache sources)
make
make test
make install
Now, for some strange reason, it works - even though the binary version
of this should really be the same, am I right??? Something must have
gotten out of sync maybe at the object file level, which was corrected
by the rebuild.
Note that I couldn't make this work by building tarball Embperl against
tarball apache, or tarball Embperl against debian apache, or by using
"the debian way" to build the Embperl source against the Debian
apache... it only worked by building the Debian Embperl against the
Debian apache, using the *traditional* build method. I was stunned when
I started up apache and my test page now "just works".
This might be useful for anybody else who is trying to use Embperl 2.2
with Apache 2.2 and mod_perl2 on the current Debian Lenny - those binary
packages seem to be broken and need to be fixed. Building as above from
source (note - NOT the debian build) seems to make it work.
Wow, I carried on a whole conversation with myself on a mailing list.
Not as lonely as I thought it might be... is there *anybody* else here,
or has Embperl died the slow death with developers?
Neil
Neil Gunton wrote:
Ok, I tried building the Debian Embperl 2.2.0 that comes with Lenny from
source. I am not experienced at this. After some poking around, I turned
up this page on building packages:
http://www.debian.org/doc/FAQ/ch-pkg_basics.en.html
After cd'ing into the libembperl-perl-2.2.0 directory, I did this:
apt-get build-dep libembperl-perl-2.2.0
This initially gave some errors, but I tried doing apt-get install on
the stuff it seemed to be complaining about, and retried until it gave
no errors. So far so good. Next I tried building, again in the embperl
source dir:
debuild -us -uc
This did a lot of compiling and testing, and seemed to be successful,
but eventually stopped with the following errors:
...
Manifying blib/man3/Embperl::Object.3pm
Manifying blib/man3/Embperl::Features.3pm
Manifying blib/man3/Embperl::Syntax::POD.3pm
Manifying blib/man3/Embperl::TipsAndTricks.3pm
Manifying blib/man3/Embperl::Form::Control::checkbox.3pm
Files found in blib/arch: installing files in blib/lib into architecture
dependent library tree
Writing /usr/lib/perl5/auto/Embperl/.packlist
Appending installation info to /usr/lib/perl/5.10/perllocal.pod
make[1]: Leaving directory `/root/libembperl-perl-2.2.0'
install -m 755 *cgi.pl debian/libembperl-perl/usr/lib/cgi-bin/
mv debian/libembperl-perl/usr/share/man/man3/*[a-z]D.3pm
debian/libembperl-perl/usr/share/man/de/man3/*[a-z].3pm
mv: cannot stat `debian/libembperl-perl/usr/share/man/man3/*[a-z]D.3pm':
No such file or directory
make: *** [install] Error 1
dpkg-buildpackage: failure: fakeroot debian/rules binary gave error exit
status 2
debuild: fatal error at line 1319:
dpkg-buildpackage -rfakeroot -D -us -uc failed
So am I building this wrong? I have fakeroot installed.
I still don't know if this has anything to do with my original problem
or not. The fact that the mod_perl tests all seemed to complete ok gives
me some hope, but I still wonder if there isn't some very small API
inconsistency that has crept in somewhere, which is making Embperl barf
in the Apache2 environment. Again, any clues would be much appreciated.
Thanks!
Neil
Neil Gunton wrote:
Can anybody please lend any insights here (see below)? Is anybody
actually using the stock Embperl2 that comes with Debian Lenny
(testing), along with stock Apache2 and mod_perl2? Are there problems
with it, or am I just doing something stupid with my configuration?
The error seems to imply that there may be something out of sync
between Embperl and the Apache2.2 API, but it could also just be a
symptom of something I'm doing wrong. Right now I am out of ideas.
I don't mean to be pushy, but I am going up to my datacenter in
Chicago on Wednesday (round trip takes all day) to rebuild my server.
I'd like to find out as soon as possible before then whether it's
going to be possible to install Debian Lenny, with all its latest
software, or if I'll instead have to stay with Etch. I'd much rather
go to Lenny, but if there are intrinsic problems with the Debian
packages of Embperl then I'll have to rethink.
Any help would be *much* appreciated...
Thanks!
Neil
Neil Gunton wrote:
Hi, I've been using Embperl 1.3 for years now on Apache 1.3, and now
I'm finally trying to upgrade my websites to use the latest Embperl
which is included with Debian Lenny (testing). So that means Apache
2.2, mod_perl 2, Embperl 2.2... I am just installing all this from
the deb packages, not from source.
I'm having a problem getting Embperl 2.2.0 to run. I have a very
simple config set up in /etc/apache2/mods-available/zembperl.conf:
PerlModule Embperl
EMBPERL_OBJECT_BASE base.epl
<FilesMatch ".*\.html$">
SetHandler perl-script
PerlHandler Embperl::Object
Options ExecCGI
</FilesMatch>
The zembperl.load is left unchanged.
In /etc/apache2/sites-available/dev.neilgunton.com I have:
NameVirtualHost dev.neilgunton.com
<VirtualHost dev.neilgunton.com>
ServerName dev.neilgunton.com
ServerAlias *.dev.neilgunton.com
DocumentRoot /www-dev/vhosts/test
PerlSetEnv EMBPERL_APPNAME neilgunton_dev
</VirtualHost>
When I try to access dev.neilgunton.com, I get 500 error, with this
in the log:
ERR: 24: Error in Perl code: Can't call method "component" on an
undefined value at /usr/lib/perl5/Embperl/App.pm line 58.\n
ERR: 61: : Unknown recipe 'Embperl'
Can't call method "log_file_start_pos" on an undefined value at
/usr/lib/perl5/Embperl/App.pm line 81.
Any clues on what I'm doing wrong here?
Thanks!
Neil
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]