I'm seeing some strange behaviour with modperl, it appears to be truncating the module code for certain files. Firstly, the code runs fine under CGI and using a similar commandline setup. Next, there's a apache/conf/startup.pl script which loads all the expected modules at startup, and the library files are all their via a manual (commandline) run. Everything appears ok when apache starts up.
[notice] Apache/1.3.36 (Unix) mod_perl/1.29 configured -- resuming normal operations Again, under 'normal' cgi usage there are no problems, however, as soon as a page is requested from the server, a log file entry of the form: [error] Error executing run mode 'display': Can't locate object method "page" via package "Class::CGI::Welcome" at /classes/Class/CGI/Welcome.pm line 34.\n at (eval 1361) [/usr/lib/perl5/site_perl/5.8.7/i586-linux-thread-multi/Apache/Registry.pm:184] line 5\n Now, the Class::CGI::Welcome module is loaded. I can even see the correct and up to date code entry under @{main::_<$pathtowelcomedotpm}, _but_, the code simply stops after 20 lines, so that the page() method is (clearly because it's not there) not found. What I mean is that the first 20 lines of the module can be seen, and the rest appears to have been inconveniently and completely truncated for some unknown reason. Has anyone seen this before? Am I being remarkably slow here? Any helpful hints appreciated. $> perl -V Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=linux, osvers=2.6.13-15-smp, archname=i686-linux-thread-multi uname='linux linux225 2.6.13-15-smp #1 smp tue sep 13 14:56:15 utc 2005 i686 i686 i386 gnulinux ' config_args='-des -Dotherlibdirs=/usr/lib/perl5/5.8.7:/usr/lib/perl5/5.8.7/i586-linux-thread-multi:/usr/lib/perl5/site_perl:/usr/lib/perl5/site_perl/5.8.7:/usr/lib/perl5/site_perl/5.8.7/i586-linux-thread-multi:/usr/lib/perl5/vendor_perl:/usr/lib/perl5/vendor_perl/5.8.7:/usr/lib/perl5/vendor_perl/5.8.7/i586-linux-thread-multi -Dinstallusrbinperl -Dusethreads' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include' ccversion='', gccversion='4.0.2 20050901 (prerelease) (SUSE Linux)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=/lib/libc-2.3.5.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.3.5' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP THREADS_HAVE_PIDS USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API Built under linux Compiled at Oct 20 2006 15:27:16 @INC: /usr/local/lib/perl5/5.8.8/i686-linux-thread-multi /usr/local/lib/perl5/5.8.8 /usr/local/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /usr/lib/perl5/5.8.7 /usr/lib/perl5/5.8.7/i586-linux-thread-multi /usr/lib/perl5/site_perl /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.7/i586-linux-thread-multi /usr/lib/perl5/vendor_perl /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.7/i586-linux-thread-multi -- Richard Foley Ciao - shorter than aufwiedersehen http://www.rfi.net/