You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Mark Round <ma...@markround.com> on 2004/02/02 14:28:42 UTC
Make test fails on Solaris 8
Hi All,
I have a problem with building mod_perl on Solaris 8. Firstly, a quick
overview of my setup (more detailed output from everything at the end) :-
OS: Solaris 8 2/02
GCC - tried various 3.x versions and 2.95.3
Perl : 5.6.1 from SunFreeware
Apache : 1.3.29
Mod_Perl : 1.29
I can't change the Perl version, as this has been standardised across
all our servers. I have also tried various combinations of Apache 1.3.28
and mod_perl 1.28 as well.
I have been struggling for a while now, and have found no solutions via
newsgroups or google - hence this mail. I have two Solaris 8 systems -
an E220R and a E250. Both are running Solaris 8 2/02 - one of these (the
E250) builds mod_perl fine - however, the E220R fails during "make test"
- the Apache process just hangs during "modules/status" . I get the
following output :-
modules/status........fetch /perl/perl-status?hooks failed!
modules/status........dubious
Test returned status 9 (wstat 2304, 0x900)
DIED. FAILED tests 7-10
Failed 4/10 tests, 60.00% okay
And after this, all tests fail. If I try telnetting to the test server
port (8529), I get no response either after this - the process has just
"hung".
I have simplified everything, and since hitting this problem have just
been trying to compile with the following in the mod_perl source dir :-
# perl Makefile.PL APACHE_SRC=../apache_1.3.29/src EVERYTHING=1 && gmake
and answering 'y' to the resulting questions.
I have tried different versions of GCC - each time, cleaning out and
rebuilding any CPAN modules that mod_perl needs with the new compiler as
well. Each time, I get the same error - yet on the E250, the build
completes as expected.
Any advice would be greatly appreciated!
Thanks in advance,
-Mark
Just for reference, here is the output from perl -V and gcc -v
bash-2.03$ perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
Platform:
osname=solaris, osvers=2.8, archname=sun4-solaris
uname='sunos solaris 5.8 generic sun4u sparc sunw,ultra-5_10 '
config_args='-Dcc=gcc -de'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
Compiler:
cc='gcc', ccflags ='-fno-strict-aliasing -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O',
cppflags='-fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='2.95.3 20010315 (release)',
gccosandvers='solaris2.8'
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, usemymalloc=y, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib '
libpth=/usr/local/lib /usr/lib /usr/ccs/lib
libs=-lsocket -lnsl -lgdbm -ldb -ldl -lm -lc
perllibs=-lsocket -lnsl -ldl -lm -lc
libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under solaris
Compiled at Apr 26 2001 04:07:49
@INC:
/usr/local/lib/perl5/5.6.1/sun4-solaris
/usr/local/lib/perl5/5.6.1
/usr/local/lib/perl5/site_perl/5.6.1/sun4-solaris
/usr/local/lib/perl5/site_perl/5.6.1
/usr/local/lib/perl5/site_perl
.
bash-2.03$ gcc -v
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/specs
gcc version 2.95.3 20010315 (release)
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: Make test fails on Solaris 8
Posted by Ged Haywood <ge...@www2.jubileegroup.co.uk>.
Hi there,
I tried
grep -r ~/src/mod_perl-1.29 and found all kinds of interesting things.
One such was at the very end of ~/src/mod_perl-1.29/STATUS and might
be worth investigating.
73,
Ged.
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: Make test fails on Solaris 8
Posted by Mark Round <ma...@markround.com>.
>Have you done everything in
>
>.../mod_perl-1.29/t/README
>
>and do the configuration files in there differ between your two machines?
>
>
Yes, I've followed the instructions to the letter - and the
configuration files are the same across both machines. Just to try
again, I also tried the same build procedure on another system (an Ultra
5) - this worked again, so there is something messed up on the E220R,
but I am at a loss as to what it could be - perl-status?hooks and
perl-status?symdump sill cause the server to hang...
-Mark
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: Make test fails on Solaris 8
Posted by Ged Haywood <ge...@www2.jubileegroup.co.uk>.
Hello again,
On Mon, 2 Feb 2004, Mark Round wrote:
> [snip]
> saw this when requesting one of these URLS :-
> [snip]
> stat64("/home/dougm/lib/perl/mod_perl_hooks.pmc", 0xFFBEF170) (sleeping...)
Have you done everything in
.../mod_perl-1.29/t/README
and do the configuration files in there differ between your two machines?
73,
Ged.
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: Make test fails on Solaris 8
Posted by Mark Round <ma...@markround.com>.
The saga continues...
Further information - I don't know if this is of any use. I have
definitely narrowed it down to making a HHTP request to
/perl/perl-status?hooks or /perl/perl-status?symdump on the newly built
httpd. I ran a truss on the process (I'm not really a guru at
interpreting the outout, but it sometimes produces useful pointers) ,
and saw this when requesting one of these URLS :-
accept(16, 0xFFBEF938, 0xFFBEF95C, 1) (sleeping...)
signotifywait() (sleeping...)
lwp_cond_wait(0xFF1434E8, 0xFF1434F8, 0xFF13CD80) (sleeping...)
door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
accept(16, 0xFFBEF938, 0xFFBEF95C, 1) = 3
fcntl(17, F_SETLKW64, 0x001E44B8) = 0
sigaction(SIGUSR1, 0xFFBEF768, 0xFFBEF870) = 0
fcntl(3, F_SETFD, 0x00000001) = 0
getsockname(3, 0xFFBEF948, 0xFFBEF95C, 1) = 0
setsockopt(3, 6, 1, 0xFFBEF8AC, 4, 1) = 0
alarm(300) = 0
read(3, 0x005DA098, 4096) (sleeping...)
signotifywait() (sleeping...)
lwp_cond_wait(0xFF1434E8, 0xFF1434F8, 0xFF13CD80) (sleeping...)
door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
read(3, " G E T / p e r l / p e".., 4096) = 29
sigaction(SIGUSR1, 0xFFBED628, 0xFFBED730) = 0
time() = 1075741290
alarm(0) = 291
sigaction(SIGALRM, 0x00000000, 0xFFBEF3B8) = 0
fcntl(15, F_DUP2FD, 0x00000002) = 2
getcontext(0xFFBEF208)
stat64("/export/software_slt/build/mod_perl-1.29/t/net/perl/perl-status",
0x00785108) Err#2 ENOENT
stat64("/export/software_slt/build/mod_perl-1.29/t/net/perl",
0x00785108) = 0
open64("/export/software_slt/build/mod_perl-1.29/t/.htaccess", O_RDONLY)
Err#2 ENOENT
open64("/export/software_slt/build/mod_perl-1.29/t/net/.htaccess",
O_RDONLY) Err#2 ENOENT
open64("/export/software_slt/build/mod_perl-1.29/t/net/perl/.htaccess",
O_RDONLY) Err#2 ENOENT
getcontext(0xFFBEF260)
alarm(300) = 0
alarm(0) = 300
brk(0x007B5000) = 0
brk(0x007E2000) = 0
stat64("/home/dougm/lib/perl/mod_perl_hooks.pmc", 0xFFBEF170) (sleeping...)
signotifywait() (sleeping...)
lwp_cond_wait(0xFF1434E8, 0xFF1434F8, 0xFF13CD80) (sleeping...)
door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
After which, the httpd process is still running, but is not accepting
any more input - even when making further HTTP requests. I can't make
much sense of the above - is the reference to
"/home/dougm/lib/perl/mod_perl_hooks.pmc" usual ? It only seems to occur
in the two above mentioned calls that crash the server....
-Mark
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: Make test fails on Solaris 8
Posted by Mark Round <ma...@markround.com>.
Ged Haywood wrote:
> Have you compared the output of 'perl -V' from the two machines in
> excruciatingly fine detail?
Yes - they are identical. Even ran them through 'diff' to make sure...
-Mark
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: Make test fails on Solaris 8
Posted by Ged Haywood <ge...@www2.jubileegroup.co.uk>.
Hello again,
On Mon, 2 Feb 2004, Mark Round wrote:
> Any further thoughts ?
Have you compared the output of 'perl -V' from the two machines in
excruciatingly fine detail?
73,
Ged.
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: Make test fails on Solaris 8
Posted by Mark Round <ma...@markround.com>.
Hi, thanks for the feedback...
>No need to change it, just compile it. :)
>
>
>
Unfortunately, this is a last-case resort - we have standardised on that
particular Perl version, in the documented and tested server builds. Not
perhaps the ideal situation - but what's confusing me is that it works
on one system, and not the other.
>Anything in the logs? Core dumps, anything like that?
>
>
>
Nope, no core dumps or anything like that. But interestingly, I think
I've narrowed it down a bit. When I ran the tests individually, I could
see where they were failing. I then commented out the parts of the test
in t/modules/status.t that were failing - and everything passed OK. The
relevant code now looks like :-
# removed "hooks" from this one...
my @tests = qw{
script
inc
rgysubs
env
myconfig
};
# removed "symdump" from thids one...
push @tests, qw{
inh_tree
isa_tree
} if have_module "Devel::Symdump";
I definately have Devel::Symdump, and CPAN informs me it's up to date.
> Is that a root prompt? I would always recommend building as an
> ordinary users and only doing make install as root.
Nope, I build everything as myself, and only use "sudo" to install stuff
when necessary.
>
>OK.
>
>Personally I'm tending to go for gcc 3.2.3 at minimum thesedays. Slower by
>quite a bit but I feel it's a better compiler. Finds more things wrong. :)
>
>
FWIW, I agree with you - I was just trying out different compilers to
eliminate that possibility. I was using GCC 3.2.3, but backtracked to
the same compiler used to build Perl, as I recall reading somewhere that
doing otherwise can cause some problems. But again, it worked fine one
one server - it's just this new "build" server that's causing trouble.
What's weird is that everything else builds fine - MySQL, PHP, Apache
etc. It's just this Perl build that's giving me hassle...
Any further thoughts ?
Thanks,
-Mark
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: Make test fails on Solaris 8
Posted by Ged Haywood <ge...@www2.jubileegroup.co.uk>.
Hello there,
On Mon, 2 Feb 2004, Mark Round wrote:
> I have a problem with building mod_perl on Solaris 8.
> ...
> OS: Solaris 8 2/02
> GCC - tried various 3.x versions and 2.95.3
> Perl : 5.6.1 from SunFreeware
I think you should build that yourself. I notice that 'useperlio' is
'undef' in your perl -V output and I think I saw something a little
worrying about that just a day or so ago here on the list.
> I can't change the Perl version, as this has been standardised
No need to change it, just compile it. :)
> tried various combinations of Apache 1.3.28 and mod_perl 1.28 as well.
Unlikely to be associated with a small change in version number, but
always possible of course.
> E250 builds mod_perl fine - however, the E220R fails during "make test"
> - the Apache process just hangs during "modules/status"
Anything in the logs? Core dumps, anything like that?
> And after this, all tests fail. If I try telnetting to the test server
> port (8529), I get no response either after this - the process has just
> "hung".
Sounds more like it's died. :(
> # perl Makefile.PL APACHE_SRC=../apache_1.3.29/src EVERYTHING=1 && gmake
Is that a root prompt? I would always recommend building as an
ordinary users and only doing make install as root. I've seen quite a
few people have problems related to permissions when building as root,
becasue you run the server, it drops permissions, your tree was
created by root...
> I have tried different versions of GCC
I don't think the compiler is the problem.
> Just for reference, here is the output from perl -V and gcc -v
>
> bash-2.03$ perl -V
> Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
> Platform:
> osname=solaris, osvers=2.8, archname=sun4-solaris
> uname='sunos solaris 5.8 generic sun4u sparc sunw,ultra-5_10 '
> config_args='-Dcc=gcc -de'
> hint=recommended, useposix=true, d_sigaction=define
> usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
OK
> useperlio=undef
Not sure about that.
> ...
> Compiled at Apr 26 2001 04:07:49
Hmmmm.... :)
> @INC:
> /usr/local/lib/perl5/5.6.1/sun4-solaris
> /usr/local/lib/perl5/5.6.1
> /usr/local/lib/perl5/site_perl/5.6.1/sun4-solaris
> /usr/local/lib/perl5/site_perl/5.6.1
> /usr/local/lib/perl5/site_perl
> .
>
> bash-2.03$ gcc -v
> Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/specs
> gcc version 2.95.3 20010315 (release)
OK.
Personally I'm tending to go for gcc 3.2.3 at minimum thesedays. Slower by
quite a bit but I feel it's a better compiler. Finds more things wrong. :)
73,
Ged.
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html