in reply to Re^4: miniperl hangs during perl compilation
in thread miniperl hangs during perl compilation

The perl library dependencies for Solaris will differ from the gnu library dependencies for even the same version of Perl. But that reminds me of the fact that these dependencies take form during the make and you didn't say whether you are using dmake or gnu make for your Solaris build of perl. See this link for some possible causes given each of the two possibilities CPAN: Sun_and_GNU_Make

-M

Free your mind

  • Comment on Re^5: miniperl hangs during perl compilation

Replies are listed 'Best First'.
Re^6: miniperl hangs during perl compilation
by vani (Acolyte) on Nov 17, 2005 at 19:55 UTC

    I checked the set user id for make. It is good. I put some print stmts within the Makefile.PL for a couple of libraries and found that the WriteMakefile () function call is getting stuck - it does not return. Any thoughts ?!!

      It still isn't clear to me from that information what the cause could be. But what about putting the MakeFile.pl into debug mode and setting a breakpoint to that function to investigate what it tries to do exactly when it hangs.

      -M

      Free your mind

        I am not familiar with setting breakpoints. Can you tell me how i can do that?

        Did you see my other post of the truss output? It seems to be running lstat on the directories & files and hangs on one of the NFS mounted directories. I don't have permissions to umount that partition. But I can't figure out why it's trying to do lstats.

        The output that i have attached to the previous post from truss was for this command

        # truss ../../miniperl "-I../../lib" Makefile.PL "INSTALLDIRS=perl" " +PERL_CORE=1" "LIBPERL_A=libperl.a"
        When i tried it with the -d option , i get this error of cannot find Handle.pm and it's looking at empty directories. But i don't know where it's supposed to look for them.
        # truss ../../miniperl -d "-I../../lib" Makefile.PL "INSTALLDIRS=perl +" "PERL_CORE=1" "LIBPERL_A=libperl.a"
        stat64("../../lib/IO/Handle.pmc", 0xFFBFEF20) Err#2 ENOENT open64("../../lib/IO/Handle.pm", O_RDONLY) Err#2 ENOENT stat64("/local/lib/perl5/5.8.7/sun4-solaris/IO/Handle.pmc", 0xFFBFEF20 +) Err#2 ENOENT open64("/local/lib/perl5/5.8.7/sun4-solaris/IO/Handle.pm", O_RDONLY) E +rr#2 ENOENT stat64("/local/lib/perl5/5.8.7/IO/Handle.pmc", 0xFFBFEF20) Err#2 ENOEN +T open64("/local/lib/perl5/5.8.7/IO/Handle.pm", O_RDONLY) Err#2 ENOENT stat64("/local/lib/perl5/site_perl/5.8.7/sun4-solaris/IO/Handle.pmc", +0xFFBFEF20) Err#2 ENOENT open64("/local/lib/perl5/site_perl/5.8.7/sun4-solaris/IO/Handle.pm", O +_RDONLY) Err#2 ENOENT stat64("/local/lib/perl5/site_perl/5.8.7/IO/Handle.pmc", 0xFFBFEF20) E +rr#2 ENOENT open64("/local/lib/perl5/site_perl/5.8.7/IO/Handle.pm", O_RDONLY) Err# +2 ENOENT stat64("/local/lib/perl5/site_perl/IO/Handle.pmc", 0xFFBFEF20) Err#2 E +NOENT open64("/local/lib/perl5/site_perl/IO/Handle.pm", O_RDONLY) Err#2 ENOE +NT stat64("./IO/Handle.pmc", 0xFFBFEF20) Err#2 ENOENT open64("./IO/Handle.pm", O_RDONLY) Err#2 ENOENT getcontext(0xFFBFEDA8) setcontext(0xFFBFEDA8) llseek(4, 0xFFFFFFFFFFFFFF5D, SEEK_CUR) = 16221 close(4) = 0 getcontext(0xFFBFEF50) setcontext(0xFFBFEF50) fstat64(2, 0xFFBFF3E8) = 0
        Can't locate IO/Handle.pm in @INC (@INC contains: ../../lib /local/lib +/perl5/5.8.7/sun4-solaris /local/lib/perl5/5.8.7 /local/lib/perl5/sit +e_perl/5.8.7/sun4-solaris /local/lib/perl5/site_perl/5.8.7 /local/lib +/perl5/site_perl .) at ../../lib/perl5db.pl line 501. <br> BEGIN failed--compilation aborted at ../../lib/perl5db.pl line 501.
        Compilation failed in require. BEGIN failed--compilation aborted. write(2, " C a n ' t l o c a t e".., 396) = 396 getcontext(0xFFBFF5A0) setcontext(0xFFBFF5A0)


        Any inputs?