Perl-Docu ========= Source: //ftp:ftp.univie/packages/gnu/perl/perlref-5.000.0.tar.gz install ------- mkdir perlref; cd perlref tar xzf ../perlref-5.000.0.tar.gz # small format foldable guide, must be copied double-sided make refguide.ps perl5.001(e) ============ Source: //ftp:ftp.univie/packages/gnu/prep/perl5.001.tar.gz (only 5.001 version) //ftp:ftp.rz.uni-ulm.de /priv/tapes/perl5.001e.tar.gz # there are two variatons making perl: # # 1. generate a merged headerfile tree (BSD/SYS5 mixture) # 2. use the SYS5 headerfile tree as additional include tree # ################################################################################################### ###################################### VARIATION 1 ################################################ ################################################################################################### Compilation DomainOS 10.4: -------------------------- tar xfz perl5.001e.tar.gz cd perl5.001e # generate a mixed BSD/SYS5 header file tree ../makeincludedir # apply some patches patch -s <../perl5.001e.fix1 ./Configure # change the following defaults; the full pathname of the newly created include dir. # must be given! Where are the include files you want to use? [/usr/include] //newton/ABT/USER/vta/jk/proj/perl/perl5.001e/inc What optimizer/debugger flag should be used? [-O] -O2 Any additional cc flags? [-A cpu,mathchip -W0,-opt,2] -A cpu,mathchip -I//newton/ABT/USER/vta/jk/proj/perl/perl5.001e/inc What is the file extension used for shared libraries? [so] none Shall I use nm to extract C symbols from the libraries? [y] n What is your architecture name [425t-apollo] apollo Directory /usr/local/lib/perl5/apollo doesn't exist. Use that name anyway? [n] y # break Configure and check if following lines are set in config.sh: ccflags='-A cpu,mathchip -I//newton/ABT/USER/vta/jk/proj/perl/perl5.001e/inc' cppflags='-A cpu,mathchip -I//newton/ABT/USER/vta/jk/proj/perl/perl5.001e/inc' # compile first time: (make depend; make) >& make1.log & # compile it after reconfigure: (Configure -S; make depend; make) >& make1.log & # running the test suite make test Installation DomainOS 10.4: --------------------------- # on the main node, where Perl was compiled make install # or ./perl installperl # create perl includes using the faked include files sed 's|/usr/include|'`pwd`'/inc|g' h2ph >h2ph.new && chmod +x h2ph.new (set cdir=`pwd`; cd $cdir/inc; $cdir/h2ph.new * sys/*) # or the original header files (does not contain the SYS5 headers) (set cdir=`pwd`; cd /usr/include; $cdir/h2ph * sys/*) # optionally install not automatically installed man pages and execs install -c -m 644 h2ph.man /usr/local/man/man1/h2ph.1 install -c -m 755 h2ph /usr/local/bin # remove old manpages (if desired) /bin/rm -f /usr/local/man/mann/{s2p,a2p,h2ph,perl}.n # man pages are shared among other hosts # make real local executable to prevent netpaging of the perl exec. foreach n (//*) if (-d $n/sys/node_data) then cp -p /usr/local/bin/perl $n/usr/local/lbin && strip $n/usr/local/lbin/perl ln -s /usr/local/lbin/perl $n/usr/bin if (! -d $n/usr/local/lib/perl5) ln -s //`hostname`/usr/local/lib/perl5 $n/usr/local/lib/perl5 endif end # make 2nd real copy of the perl5-library tree (cd //aa/usr/local/lib; if ( -e perl5 ) /bin/rm -rf perl5) cp -rvps /usr/local/lib/perl5 //aa/usr/local/lib # create and install html docs cd pod make html # make also html docs for modules (cd modpods; ../../perl ../pod2html *.pod) # directory for http access set httpdir=../../Http if (! -e $httpdir) mkdir $httpdir mv *.html $httpdir/. if (! -e $httpdir/Modules) mkdir $httpdir/Modules mv modpods/*.html $httpdir/Modules if (! -e $httpdir/Doc) mkdir $httpdir/Doc cp ../Doc/perl5-notes $httpdir/Doc cd .. ################################################################################################### ###################################### VARIATION 2 ################################################ ################################################################################################### Compilation DomainOS 10.4: -------------------------- tar xfz perl5.001e.tar.gz cd perl5.001e # apply some patches patch -s <../perl5.001e.fix1 # Note: following errors during the Configure run can be ignored: shmat() found. and it returns (char *). ./Configure[5389]: /usr/include/sys/shm.h: cannot open ./Configure # change the following defaults; the full pathname of the newly created include dir. # must be given! What optimizer/debugger flag should be used? [-O] -O2 Any additional cc flags? [-A cpu,mathchip -W0,-opt,2] -A cpu,mathchip -I/usr/include -I/sys5/usr/include What is the file extension used for shared libraries? [so] none Shall I use nm to extract C symbols from the libraries? [y] n What is your architecture name [425t-apollo] apollo Directory /usr/local/lib/perl5/apollo doesn't exist. Use that name anyway? [n] y If you'd like to make any changes to the config.sh file before I begin to configure things, do it as a shell escape now (e.g. !vi config.sh). Press return or use a shell escape to edit config.sh: freetype='void' i_malloc='undef' malloctype='void *' # first time compile ( make depend ; make ) > & make.log & # if only config.sh has been changed use this to recompile again: (Configure -S; make depend; make) >& make.log & # running the test suite make test Installation DomainOS 10.4: --------------------------- # on the main node, where Perl was compiled make install # or ./perl installperl # create perl includes (with SYS5 include files sed 's|/usr/include|/sys5/usr/include|g' h2ph >h2ph.new && chmod +x h2ph.new (set cdir=`pwd`; cd /sys5/usr/include; $cdir/h2ph.new sys/* ) (set cdir=`pwd`; cd /usr/include; $cdir/h2ph * sys/* machine/*) # optionally install not automatically installed man pages and execs install -c -m 644 h2ph.man /usr/local/man/man1/h2ph.1 install -c -m 755 h2ph /usr/local/bin # remove old manpages (if desired) /bin/rm -f /usr/local/man/mann/{s2p,a2p,h2ph,perl}.n # man pages are shared among other hosts # make real local executable to prevent netpaging of the perl exec. foreach n (//*) if (-d $n/sys/node_data) then cp -p /usr/local/bin/perl $n/usr/local/lbin && strip $n/usr/local/lbin/perl ln -s /usr/local/lbin/perl $n/usr/bin if (! -d $n/usr/local/lib/perl5) ln -s //`hostname`/usr/local/lib/perl5 $n/usr/local/lib/perl5 endif end # make 2nd real copy of the perl5-library tree (cd //aa/usr/local/lib; if ( -e perl5 ) /bin/rm -rf perl5) cp -rvps /usr/local/lib/perl5 //aa/usr/local/lib # create and install html docs cd pod make html # make also html docs for modules (cd modpods; ../../perl ../pod2html *.pod) # directory for http access set httpdir=../../Http if (! -e $httpdir) mkdir $httpdir mv *.html $httpdir/. if (! -e $httpdir/Modules) mkdir $httpdir/Modules mv modpods/*.html $httpdir/Modules if (! -e $httpdir/Doc) mkdir $httpdir/Doc cp ../Doc/perl5-notes $httpdir/Doc cd ..