here is the summary of my adventures with perl and solaris 2.2.
First of all, I want to thank all people who replied!
You will see their replies, at the end of this posting.
Now, after various, unsuccessfull, tries, i got it compiled and this times
it passes "make test". The problem is, i tried several times, changing
So here is what i changed, as far as it is reconstructable:
(the first are the changed sources, the second the orginal)
diff perl-4.036/doio.c /home/popey/see/perl-4.036/doio.c
--- > /* added */ > #define NGROUPS_MAX 32 > /* end added */
diff perl-4.036/perl.h /home/popey/see/perl-4.036/perl.h 556c556 < int sprintf(); --- > /* int sprintf();*/ diff perl-4.036/stab.c /home/popey/see/perl-4.036/stab.c 42a43,45 > /* added */ > #define NGROUPS_MAX 32 > /* end added */
Running Configure, i always took the defaults, where ever they were given. so i list questions with no default.
i said i have solaris 2.1 (that's not true of course, but it worked)
Any additional libraries? [-lsocket -lnsl -ldbm -lm -lucb -lmalloc] >-lsocket -lnsl -ldbm -lm -lucb -lelf -lmalloc Doubles must be aligned on a how-many-byte boundary?  >8 *** WHOA THERE!!! *** The previous value for $d_castneg on this machine was "undef"! Keep the previous value? [y] >y *** WHOA THERE!!! *** The previous value for $d_charsprf on this machine was "define"! Keep the previous value? [y] >y *** WHOA THERE!!! *** The previous value for $d_charvspr on this machine was "define"! Keep the previous value? [y] >y *** WHOA THERE!!! *** The previous value for $i_dirent on this machine was "undef"! Keep the previous value? [y] >y *** WHOA THERE!!! *** The previous value for $i_sys_dir on this machine was "define"! Keep the previous value? [y] >y Your system has both index() and strchr(). Shall I use index() rather than strchr()? [y] >y Do you wish to attempt to use the malloc that comes with perl? [y] >y *** WHOA THERE!!! *** The previous value for $d_open3 on this machine was "undef"! Keep the previous value? [y] >y *** WHOA THERE!!! *** The previous value for $d_strctcpy on this machine was "undef"! Keep the previous value? [y] >y *** WHOA THERE!!! *** The previous value for $d_vfork on this machine was "undef"! Keep the previous value? [y] >y *** WHOA THERE!!! *** The previous value for $d_volatile on this machine was "undef"! Keep the previous value? [y] >y *** WHOA THERE!!! *** The previous value for $d_wait4 on this machine was "undef"! Keep the previous value? [y] >y How many bits does your rand() function produce? [?] >15 Your void support flags add up to what?  >7 *** WHOA THERE!!! *** The previous value for $i_sys_file on this machine was "undef"! Keep the previous value? [y] >y
then make depend, make and make test without problems.
Now i'll give a summary of the replies i got:
--- From: Chandra Liem
Which test does it fail? My make test fail at the dbm test which I ignore so long as I am not using the dbm feature of perl. -Chandra
--- From: jason bishop
Somebody really, really needs to fix the default stuff for configure for solaris_2.x. It sucks. Just take out all the default libraries, bsd libraries and includes, and suggested directory header files (the bsd ones). Then it should work fine. ...Jason --- From: John Justin Hough
I got it to compile all the source with gcc, but never got it to link. Ran into to many library problems (first missing symbols then multiple definitions, and so on). But what I did do is to compile it under 4.1.3 and use BSD compatibility to run. Believe it or not it works fine under Solaris 2.2 this way.
john --- From: George Pallas
I've built it and the tests all work. It didn't really take any "tricks". I'm using the Sun C compiler but I believe I got it working with gcc before I installed Sun C. I can't offer much specific advice without knowing the nature of the problem you are having, but I did attach my config.sh file below. You can compare it with the values you selected and see where the significant differences are. BTW this is perl 4.036. ---------------------------------- Cut Here ---------------------------------- #!/bin/sh # config.sh # This file was produced by running the Configure script. d_eunice='undef' define='define' eunicefix=':' loclist=' cat cp echo expr grep mkdir mv rm sed sort tr uniq ' expr='/bin/expr' sed='/bin/sed' echo='/bin/echo' cat='/bin/cat' rm='/bin/rm' mv='/bin/mv' cp='/bin/cp' tail='' tr='/bin/tr' mkdir='/bin/mkdir' sort='/bin/sort' uniq='/bin/uniq' grep='/bin/grep' trylist=' Mcc bison cpp csh egrep line nroff perl test uname yacc ' test='test' inews='' egrep='/bin/egrep' more='' pg='' Mcc='Mcc' vi='' mailx='' mail='' cpp='/usr/ccs/lib/cpp' perl='/usr/local/bin/perl' emacs='' ls='' rmail='' sendmail='' shar='' smail='' tbl='' troff='' nroff='/bin/nroff' uname='/sbin/uname' uuname='' line='/bin/line' chgrp='' chmod='' lint='' sleep='' pr='' tar='' ln='' lpr='' lp='' touch='' make='' date='' csh='/usr/local/bin/csh' bash='' ksh='' lex='' flex='' bison='/usr/local/bin/bison' Log='$Log' Header='$Header' Id='$Id' lastuname='SunOS ws30-03 5.2 Generic sun4m sparc' alignbytes='8' bin='/usr/local/bin/gnu' installbin='/usr/local/bin/gnu' byteorder='4321' contains='grep' cppstdin='cc -E' cppminus='-' d_bcmp='define' d_bcopy='define' d_safebcpy='undef' d_bzero='define' d_castneg='define' castflags='0' d_charsprf='define' d_chsize='undef' d_crypt='define' cryptlib='' d_csh='define' d_dosuid='undef' d_dup2='define' d_fchmod='define' d_fchown='define' d_fcntl='define' d_flexfnam='define' d_flock='define' d_getgrps='define' d_gethent='define' d_getpgrp='define' d_getpgrp2='undef' d_getprior='define' d_htonl='define' d_index='undef' d_isascii='define' d_killpg='define' d_lstat='define' d_memcmp='define' d_memcpy='define' d_safemcpy='undef' d_memmove='define' d_memset='define' d_mkdir='define' d_msg='define' d_msgctl='define' d_msgget='define' d_msgrcv='define' d_msgsnd='define' d_ndbm='define' d_odbm='define' d_open3='define' d_readdir='define' d_rename='define' d_rewindir='define' d_rmdir='define' d_seekdir='define' d_select='define' d_sem='define' d_semctl='define' d_semget='define' d_semop='define' d_setegid='define' d_seteuid='define' d_setpgrp='define' d_setpgrp2='undef' d_setprior='define' d_setregid='define' d_setresgid='undef' d_setreuid='define' d_setresuid='undef' d_setrgid='undef' d_setruid='undef' d_shm='define' d_shmat='define' d_voidshmat='define' d_shmctl='define' d_shmdt='define' d_shmget='define' d_socket='define' d_sockpair='define' d_oldsock='undef' socketlib='' d_statblks='define' d_stdstdio='define' d_strctcpy='define' d_strerror='define' d_symlink='define' d_syscall='define' d_telldir='define' d_truncate='define' d_vfork='undef' d_voidsig='define' d_tosignal='int' d_volatile='define' d_vprintf='define' d_charvspr='undef' d_wait4='undef' d_waitpid='define' gidtype='gid_t' groupstype='int' i_fcntl='undef' i_gdbm='undef' i_grp='define' i_niin='define' i_sysin='undef' i_pwd='define' d_pwquota='undef' d_pwage='define' d_pwchange='undef' d_pwclass='undef' d_pwexpire='undef' d_pwcomment='define' i_sys_file='define' i_sysioctl='define' i_time='undef' i_sys_time='define' i_sys_select='undef' d_systimekernel='undef' i_utime='define' i_varargs='define' i_vfork='undef' intsize='4' libc='/usr/lib/libc.so' nm_opts='-p' libndir='' i_my_dir='undef' i_ndir='undef' i_sys_ndir='undef' i_dirent='undef' i_sys_dir='define' d_dirnamlen='undef' ndirc='' ndiro='' mallocsrc='' mallocobj='' d_mymalloc='undef' mallocptrtype='void' mansrc='/usr/local/man/man1' manext='1' models='none' split='' small='' medium='' large='' huge='' optimize='-O' ccflags=' -I/usr/ucbinclude' cppflags=' -I/usr/ucbinclude' ldflags='-L/usr/ucblib -R/usr/ucblib' cc='cc' nativegcc='' libs='-lsocket -lnsl -ldbm -lmalloc -lm -lucb -lelf' n='' c='\c' package='perl' randbits='15' scriptdir='/usr/local/bin/gnu' installscr='/usr/local/bin/gnu' sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR WINCH URG POLL STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ WAITING LWP' spitshell='cat' shsharp='true' sharpbang='#!' startsh='#!/bin/sh' stdchar='unsigned char' uidtype='uid_t' usrinclude='/usr/include' inclPath='' void='' voidhave='7' voidwant='7' w_localtim='1' w_s_timevl='1' w_s_tm='1' yacc='/usr/ccs/bin/yacc' lib='' privlib='/usr/local/lib/perl' installprivlib='/usr/local/lib/perl' PATCHLEVEL=36 CONFIG=true ------------------------------- Cut Here ----------------------------------
This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:08:17 CDT