in reply to miniperl hangs during perl compilation

By definition, gnu's not unix. Solaris is a BSD variant that does fall under the unix category and one has to take care not to assume universal compatibility between the two.

The latest version of Perl that is compatible with your platform seems to be 5.8.5. And a more appropriate distro with instructions can be found at http://www.sunfreeware.com

-M

Free your mind

  • Comment on Re: miniperl hangs during perl compilation

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

    I initially tried compiling 5.8.5 from sunfreeware.com. I faced the same problem.So i decided may be i should try the latest stable one from perl.org. Now i have the same problem on both.

    I need to compile perl and a few other utilities for my need on a separate mount point.Ultimately I have to move the tar ball of the mount pt to another machine (same config -arch,OS,etc)cause i don't have enough space on it.

      I looked at what's actually installed on our (large number of) SunOS 5.9 systems and only Perl 5.6.1 is on them - I think, also based on past experience, that current version numbers under Solaris tend to be somewhat behind Windows and Linux.

      -M

      Free your mind

        Thanks for that information. Since my colleague had compiled 5.8.1 with gcc 3.2 on solaris 2.6 without any problem. I have just started the same combo on solaris 2.9. If that does not work, i will try 5.6.1.

        Was looking at my config log and found this. Would this be causing an issue?

        <dld.h> NOT found. dlopen() found. Do you wish to use dynamic loading? [y]
        And i answered yes for dynamic loading. And i don't have dld.h on my machine. But since it said it found dlopen(), i did not bother. It would just use dl_dlopen.xs, rit?

        Can someone throw some light on this, if this is an issue i should look into? But again, i just want to remind that, the miniperl hang did not happen for all the libraries.
        Thanks

Re^2: miniperl hangs during perl compilation
by Anonymous Monk on Nov 17, 2005 at 17:28 UTC
    I am running the latest Perl on Solaris 8, 9, and 10. Solaris, btw, is NOT a BSD variant anymore. It has been a System V variant for many, many years now.

    That said, vani, you have to get us alot more detail. Can you run a truss and see what's going on? I've never had a Perl built fail on me ever and I've been using Perl on Solaris for almost a decade. Maybe an experienced Sysadmin who has access to your system can help you out.

      I am using GNU's Make. I ran truss on "make" at the parent directory level. Am just adding the last section
      Making B (dynamic) Inside B::Makefile.PL before WriteMakefile call wait() (sleeping...)
      I ran truss from within the B directory and here's the output. It's pretty big, so am adding some sections that i think are relevant. Please let me know if you need other sections and i will provide them. It looks like it is trying to find Util.pm file Then i find it is doing lstat calls on pretty much the entire filesystem. And some of the directories are NFS mounted, and goes to sleep on one such directory.
      3890 open64("/local/lib/perl5/site_perl/5.8.7/sun4-solaris/Scalar/ +Util.pm", O _RDONLY) Err#2 ENOENT 3891 stat64("/local/lib/perl5/site_perl/5.8.7/Scalar/Util.pmc", 0xF +FBFF8D0) E rr#2 ENOENT 3892 open64("/local/lib/perl5/site_perl/5.8.7/Scalar/Util.pm", O_RD +ONLY) Err# 2 ENOENT 3893 stat64("/local/lib/perl5/site_perl/Scalar/Util.pmc", 0xFFBFF8D +0) Err#2 E NOENT 3894 open64("/local/lib/perl5/site_perl/Scalar/Util.pm", O_RDONLY) +Err#2 ENOE NT 3895 stat64("./Scalar/Util.pmc", 0xFFBFF8D0) Err#2 ENOENT 3896 open64("./Scalar/Util.pm", O_RDONLY) Err#2 ENOENT 3897 getcontext(0xFFBFF758) 3898 setcontext(0xFFBFF758) 3899 stat64(".", 0x0011AE90) = 0 3900 open("./..", O_RDONLY|O_NDELAY|O_LARGEFILE) = 3 3901 fstat64(3, 0xFFBFF9A0) = 0 3902 fcntl(3, F_SETFD, 0x00000001) = 0 3903 stat64("./..", 0x0011AE90) = 0 3904 getdents64(3, 0x003BE488, 8192) = 1072 3963 lstat64("./../../epoc", 0x0011AE90) = 0 3964 lstat64("./../../ext", 0x0011AE90) = 0 3965 close(3) = 0 3966 open("./../../..", O_RDONLY|O_NDELAY|O_LARGEFILE) = 3 3967 fstat64(3, 0xFFBFF9A0) = 0 3968 fcntl(3, F_SETFD, 0x00000001) = 0 3969 stat64("./../../..", 0x0011AE90) = 0 3970 getdents64(3, 0x003BE488, 8192) = 1432 3971 lstat64("./../../../.", 0x0011AE90) ...

      I was under the impression that /local/lib/perl5/site_perl/5.8.7/sun4-solaris/ was the path where perl would install these *.pm files for the actual perl that i build. Am i making myself clear?! Could someone explain what's happening here?!!

      I am not sure what information you need , but here's some that i thought you would need. @INC for miniperl

      ./miniperl "-I./lib" -e 'print "@INC\n"' ./lib /local/lib/perl5/5.8.7/sun4-solaris /local/lib/perl5/5.8.7 /loca +l/lib/perl5/site_perl/5.8.7/sun4-solaris /local/lib/perl5/site_perl/5 +.8.7 /local/lib/perl5/site_perl .

      Here's where i have Util.pm

      /local/src/perl-5.8.7/ext/List/Util/lib/List/Util.pm /local/src/perl-5.8.7/ext/List/Util/lib/Scalar/Util.pm /local/src/perl-5.8.7/lib/CGI/Util.pm /local/src/perl-5.8.7/lib/Hash/Util.pm
      Can someone help me? Do you need more info to help me out?
      Thanks

      Vani