You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl@perl.apache.org by Gerald Richter <ri...@ecos.de> on 2004/04/23 09:34:48 UTC
Re: Undefined synbol embperl_module with Debian packages (was: Configuration Setup)
Mmh, this very hard to say what is wrong here, maybe Angus (who maintains
the Debian packages) has an idea what might be wrong?
I guess it's really a mismatch of source version and/or compiler settings.
Gerald
Marco Scoffier wrote:
> On Thu, Apr 22, 2004 at 06:46:35AM +0200, Gerald Richter wrote:
>> Does make test work if you use the same Apache and same mod_perl and
>> Perl?
> Sorry if I seem dense. If I build everything myself using the default
> commands everything works. But I feel there is something I am not
> understanding with the module loading and my whole setup seems very
> fragile, because I don't quite understand.
>>
>> If you do a
>>
>> nm /usr/lib/perl5/auto/Embperl/Embperl.so
>>
>> does it list the symbol embperl_module?
>>
> When trying to use the debian packages, on two seperate debian
> installations (one x86 and one ppc) nm returns :
>
> nm: /usr/lib/perl5/auto/Embperl/Embperl.so: no symbols
>
> The libembperl-perl package for debian is broken?
>
> On the x86 computer I managed to compile Embperl, that version clearly
> shows an embperl_module :
>
> [...]
> 0002445c T embperl_Init
> 000284a0 T embperl_InitRequest
> 00028888 T embperl_InitRequestComponent
> 000427a8 T embperl_LibXSLT_Init
> 00042460 T embperl_LibXSLT_Text2Text
> 0002947c t embperl_LogStartReq
> 0003cbe8 t embperl_merge_dir_config
> 0007a800 d embperl_module
> 0001f754 T embperl_OptionListSearch
> 0002f954 T embperl_Parse
> 0003009c t embperl_ParseSource
> 0001ed9c T embperl_PathSearch
> 0001f1dc T embperl_PathStr
> 0003c8bc t embperl_PreExecute
> [...]
>
> but I get the same error when I try to load a version of embperl I
> compiled myself into the debian packaged apache-perl :
>
> Syntax error on line 27 of /etc/apache-perl/modules.conf: Can't
> locate API module structure `embperl_module' in file
> /usr/local/lib/perl/5.8.3/auto/Embperl/Embperl.so:
> /usr/sbin/apache-perl: undefined symbol: embperl_module
>
> I guess it was comiled against the wrong source? Like kernel modules?
---------------------------------------------------------------------------
Gerald Richter ecos electronic communication services gmbh
IT-Securitylösungen * Webapplikationen mit Apache/Perl/mod_perl/Embperl
Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz
E-Mail: richter@ecos.de Voice: +49 6133 939-122
WWW: http://www.ecos.de/ Fax: +49 6133 939-333
---------------------------------------------------------------------------
Besuchen Sie uns auf der KOMCOM 2004 in Mannheim
25. bis 27. Mai 2004 Stand K11a www.komcom.de
ECOS BB-5000 Firewall- und IT-Security Appliance: www.bb-5000.info
---------------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-help@perl.apache.org
Re: Undefined synbol embperl_module with Debian packages
Posted by Marco Scoffier <ma...@metm.org>.
On Sun, Apr 25, 2004 at 01:57:00PM +1000, Angus Lees wrote:
> > Marco Scoffier wrote:
> > > Syntax error on line 27 of /etc/apache-perl/modules.conf: Can't
> > > locate API module structure `embperl_module' in file
> > > /usr/local/lib/perl/5.8.3/auto/Embperl/Embperl.so:
> > > /usr/sbin/apache-perl: undefined symbol: embperl_module
> > >
> > > I guess it was comiled against the wrong source? Like kernel modules?
>
> The debian libembperl-perl package is not compiled with support for
> apache2. In apache1.3 you don't need the LoadModule line.
>
Hi Angus thanks for the responce,
The errors referrered to in my message where using the debian
'apache-perl' package which is apache 1.3.29 with mod_perl built in.
Perhaps you could add a short line or two to the README.debian which
explains that you should use apache + libapache-mod-perl not apache-perl
Or change the dependencies for libembperl-perl.
I have tried the plain 'apache' package + libapache-mod-perl as you
suggested and I am still get weird errors, but I have gotten further. I
don't know exactly where to send these errors so I'm sending them here.
All the following errors in this email come from these packages:
apache 1.3.29.0.2-5 Versatile, high-performance HTTP
apache-common 1.3.29.0.2-5 Support files for all Apache
apache-utils 1.3.29.0.2-5 Utility programs for webservers
libapache-mod-perl 1.29.0.2-5 Integration of perl with the Apache
libembperl-perl 2.0b10-1 A system for building dynamic websites
>
> LoadModule perl_module /usr/lib/apache/1.3/mod_perl.so
Adding this line to httpd.conf or modules.conf works, and I can run some
simple mod_perl tests I wrote.
> PerlModule Embperl
This line is the problem. I add it -> seg-fault both with apachectl
configtest and /etc/init.d/apache start:
$ apachectl configtest
Syntax OK
/usr/sbin/apachectl: line 171: 25891 Segmentation fault $HTTPD -t
There is nothing interesting in /var/log/apache/error.log
[Mon Apr 26 15:58:33 2004] [notice] caught SIGTERM, shutting down
It seems there is something weird with apachectl. If I start the server
directly, /usr/sbin/apache embperl works! however if I try the
/usr/sbin/apache -t test with the PerlModule Embperl line in httpd.conf
I get a segfault. As the /usr/sbin/apache -t test is run by apachectl
and /etc/init.d/apache on every server restart, the sysv scripts are
effectively broken.
I double checked my @INC to make sure that I am not pulling in the wrong
Embperl modules:
for path in `perl -le 'print join "\n" , @INC'`;
do find $path -name 'Emb*';
done;
I don't have a startup.pl script to change around the @INC, or any other
directives in httpd.conf which would change it.
Thanks for your help,
--
Marco
---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-help@perl.apache.org
Re: Undefined synbol embperl_module with Debian packages (was: Configuration Setup)
Posted by Angus Lees <gu...@inodes.org>.
> Marco Scoffier wrote:
> > The libembperl-perl package for debian is broken?
[...]
> > but I get the same error when I try to load a version of embperl I
> > compiled myself into the debian packaged apache-perl :
> >
> > Syntax error on line 27 of /etc/apache-perl/modules.conf: Can't
> > locate API module structure `embperl_module' in file
> > /usr/local/lib/perl/5.8.3/auto/Embperl/Embperl.so:
> > /usr/sbin/apache-perl: undefined symbol: embperl_module
> >
> > I guess it was comiled against the wrong source? Like kernel modules?
The debian libembperl-perl package is not compiled with support for
apache2. In apache1.3 you don't need the LoadModule line.
This works fine for me (libembperl-perl 2.0b10-1, apache 1.3.29.0.2-4,
libapache-mod-perl 1.29.0.2-4):
LoadModule perl_module /usr/lib/apache/1.3/mod_perl.so
...
PerlModule Embperl
Alias /embperl/ /home/gus/somepath/embperl/
AddType text/html .epl
<Location /embperl>
SetHandler perl-script
PerlHandler Embperl::Object
Options ExecCGI
Embperl_Appname embperl_example
Embperl_Debug 16517
Embperl_Object_Base base.epl
Embperl_UriMatch "\.(html|epl)$"
</Location>
--
- Gus
---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-help@perl.apache.org