http://qs321.pair.com?node_id=383576

pijush has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks!

I am trying to build perl on Solaris 2.8 system from the CPAN source code using gcc 3.3. I executed configure successfully, but when I executed make, it is giving following error.

make: Warning: Both `makefile' and `Makefile' exist
`sh cflags libperl.a miniperlmain.o` miniperlmain.c
CCCMD = gcc -DPERL_CORE -c -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -
D_FILE_OFFSET_BITS=64 -O
In file included from /usr/include/netinet/in.h:41,
from perl.h:649,
from miniperlmain.c:12:
/usr/include/sys/stream.h:307: error: parse error before "projid_t"
In file included from perl.h:663,
from miniperlmain.c:12:
/usr/include/sys/stat.h:274: error: parse error before "blksize_t"
/usr/include/sys/stat.h:278: error: parse error before '}' token
/usr/include/sys/stat.h:334: error: parse error before "blksize_t"
/usr/include/sys/stat.h:338: error: parse error before '}' token
*** Error code 1
make: Fatal error: Command failed for target `miniperlmain.o'

Any pointers why this is giving such error. However I built perl successfully on HP-UX and Linux system using same source code and using gcc.
Thanks in advance.
Regards
-Pijush

Replies are listed 'Best First'.
Re: Perl build failed on Solaris 2.8 !!!
by dave_the_m (Monsignor) on Aug 17, 2004 at 08:30 UTC
    Explicitly telling configure to use gcc makes a lot of solaris/gcc problems go away:
    sh Configure -Dcc=gcc

    Dave.

      I have also tried this option. But luck is not with me. Again that error arrived.
      -Pijush
Re: Perl build failed on Solaris 2.8 !!!
by coreolyn (Parson) on Aug 17, 2004 at 11:58 UTC

    I've built Perl many times on 2.8 but not a recent ( past year version ). I do recall one of the gotcha's was making sure that the solaris c libs were not still in the LD_LIBRARY_PATH.

Re: Perl build failed on Solaris 2.8 !!! (#define)
by tye (Sage) on Aug 17, 2004 at 13:32 UTC

    I'd bet money that you've got a problem with a conflict due to a #define.

    My next step would be to look at and before line 307 of /usr/include/sys/stream.h to find any words before projid_t and search through all of Perl's *.h for those word(s).

    - tye        

      I had a similar problem with building pam ldap software on Solaris. Although it's been over a year. I noticed /usr/include/sys is being used. You may want to try modifying your Makefile so that it points to the headerfiles used by gcc. This may end up in /usr/local/lib depending on were gcc was installed.
Re: Perl build failed on Solaris 2.8 !!!
by neilh (Pilgrim) on Aug 17, 2004 at 08:03 UTC
    Hi,
    I can't really help you with this error, but have you considered grabbing:

    Sunfreeware Perl

    Neil

      Thanks for the link.

      But I need to install SSleay and openssl module after installing perl and for these module I need to compile perl with gcc first. That is why I try to build perl using gcc.
      Regards
      -Pijush

Re: Perl build failed on Solaris 2.8 !!!
by dragonchild (Archbishop) on Aug 18, 2004 at 02:59 UTC
    Although I have no real help with your immediate problem, I am in the process of helping my current employer convert several Solaris boxes to RH ES3, because of similar issues. I couldn't get Net::SFTP to install, nor other modules, because of dependencies that wouldn't compile. On RH ES3, they compile without issue.

    ------
    We are the carpenters and bricklayers of the Information Age.

    Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

    I shouldn't have to say this, but any code, unless otherwise stated, is untested