PERL: Difference between revisions

From CLONWiki
Jump to navigation Jump to search
Boiarino (talk | contribs)
Boiarino (talk | contribs)
 
(3 intermediate revisions by the same user not shown)
Line 5: Line 5:
  perl -MFile::Find=find -MFile::Spec::Functions -Tlw -e 'find { wanted => sub { print canonpath $_ if /\.pm\z/ }, no_chdir => 1 }, @INC'
  perl -MFile::Find=find -MFile::Spec::Functions -Tlw -e 'find { wanted => sub { print canonpath $_ if /\.pm\z/ }, no_chdir => 1 }, @INC'


For Pezca-1.3 'install' puts it in some wrong place, do following:
'''Pezca-1.3:'''


cp Pezca.pm /usr/lib64/perl5/vendor_perl/
* yum install perl-DBD-MySQL


* setenv EPICS_EXTENSIONS /usr/clas12/release/0.3/epics/apps
* export EPICS_EXTENSIONS=/usr/clas12/release/0.3/epics/apps
* perl Makefile.PL INSTALL_BASE=/usr/lib64/perl5/vendor_perl
* make
* 'install' puts it in some wrong place, do following:


cp Pezca.pm /usr/lib64/perl5/vendor_perl/


== old stuff ==
== old stuff ==

Latest revision as of 14:06, 2 December 2015

RHEL7

To see what modules are installed already:

perl -MFile::Find=find -MFile::Spec::Functions -Tlw -e 'find { wanted => sub { print canonpath $_ if /\.pm\z/ }, no_chdir => 1 }, @INC'

Pezca-1.3:

  • yum install perl-DBD-MySQL
  • setenv EPICS_EXTENSIONS /usr/clas12/release/0.3/epics/apps
  • export EPICS_EXTENSIONS=/usr/clas12/release/0.3/epics/apps
  • perl Makefile.PL INSTALL_BASE=/usr/lib64/perl5/vendor_perl
  • make
  • 'install' puts it in some wrong place, do following:
cp Pezca.pm /usr/lib64/perl5/vendor_perl/

old stuff

To see what modules are installed already, run command perldoc perllocal.

Check module example: perl -MRRDs -le 'print q(ok!)' .

We are installing PERL modules directly into the PERL system location. Normally PERL modiles will be obtained from [1] in a form of tar files and placed in /usr/local/downloads. For every platform they must be copied to /usr/local/src, untared and installed. Following modules must be installed:

Pezca
Tk
DBI
DBD::mysql
Time
URI
HTML::Tagset
HTML::Parser
IO-Compress-Base
Compress-Raw-Zlib (see note below)
Compress-Raw-Bzip2
IO-Compress-Bzip2
IO-Compress-Zlib
Compress-Zlib (on RHEL5 it suggests to install with option)
LWP (libwww-perl) (use default options when asked)
XML-Parser

NOTE: need for Arne's online plots: GD.pm, GNUPLOT_TO_PNG_GIF.pm, ONLINE_SUB.pm

For installation instructions see README inside those packages. Usually you have to type:

perl Makefile.PL
gmake
gmake test (optionally)
gmake install

Following was noticed:

  • Pezca_0.3: After running 'perl Makefile.PL' and before 'gmake', modify 'Makefile': after '-Iinclude', add '-Iinclude/os/solaris -Iinclude/O.solaris' (adjust for OS; do not know why it did not happened during 'perl Makefile.PL' ...). Also, module 'osdTime.cc' must be compiled by 'CC', not by 'cc' as it is happening (just go to 'libCom/os/generic', type 'gmake', copy last failed command, replace 'cc' by 'CC' and execute).
  • Pezca_0.4: After running 'perl Makefile.PL.ontop' and before 'gmake', modify 'Makefile': after -I.../include/os add '/solaris' with corresponding flavor. Also, version 0.4 can be (and must be) compiled using our EPICS, not the one which comes with Pezca. To do so EPICS_BASE and EPICS_EXTENSIONS environment variables must be defined, and configuring must be done by command perl Makefile.PL.ontop. On solaris-x86, modify platform_ontop.pm as following:
# platform dependant sub-directory for include files (on sparc-solaris probably the same using solaris-sparc):
my %os_inc_subdir= ('linux-x86' => 'Linux',
                    'win32-x86' => 'WIN32',
                    'hpux-11'   => 'hp700',
                    'solaris'   => 'solaris',                     <----- added
                  );
# platform dependant sub-directory for libraries in the base:
my %os_b_lib_subdir= ('linux-x86' => 'linux-x86',
                      'win32-x86' => 'win32-x86',
                      'hpux-11'   => 'hp700',
                      'solaris'   => 'solaris-x86',                     <----- added
                    );
# platform dependant sub-directory for libraries in the extensions directory:
my %os_e_lib_subdir= ('linux-x86' => 'linux-x86',
                      'win32-x86' => 'win32-x86',
                      'hpux-11'   => 'hp700',
                      'solaris'   => 'solaris-x86',                     <----- added
                    );
  • DBI:
clon01:DBI-1.52> perl Makefile.PL
*** Note:
   The optional PlRPC-modules (RPC::PlServer etc) are not installed.
   If you want to use the DBD::Proxy driver and DBI::ProxyServer
   modules, then you'll need to install the RPC::PlServer, RPC::PlClient,
   Storable and Net::Daemon modules. The CPAN Bundle::DBI may help you.
   You can install them any time after installing the DBI.
   You do *not* need these modules for typical DBI usage.
Optional modules are available from any CPAN mirror, in particular
   http://search.cpan.org/
   http://www.perl.com/CPAN/modules/by-module
   http://www.perl.org/CPAN/modules/by-module
   ftp://ftp.funet.fi/pub/languages/perl/CPAN/modules/by-module
  • Compress-Raw-Zlib:

sed -e "s|BUILD_ZLIB\s*= True|BUILD_ZLIB = False|" -e "s|INCLUDE\s*= ./zlib-src|INCLUDE = /usr/include|" -e "s|LIB\s*= ./zlib-src|LIB = /usr/lib|" config.in

Install all modules on one machine of each flavor and execute following for the rest:

cd /usr/local/src/Pezca-0.4
gmake install
cd /usr/local/src/Tk-804.027/
gmake install
cd /usr/local/src/DBI-1.52/
gmake install
cd /usr/local/src/DBD-mysql-3.0008/
gmake install
cd /usr/local/src/Time-modules-2006.0814/
gmake install
cd /usr/local/src/URI-1.35/
gmake install
cd /usr/local/src/HTML-Tagset-3.10/
gmake install
cd /usr/local/src/HTML-Parser-3.56/
gmake install
cd /usr/local/src/IO-Compress-Base-2.005/
gmake install
cd /usr/local/src/Compress-Raw-Zlib-2.005/
gmake install
cd /usr/local/src/Compress-Raw-Bzip2-2.005/
gmake install
cd /usr/local/src/IO-Compress-Bzip2-2.005/
gmake install
cd /usr/local/src/IO-Compress-Zlib-2.005/
gmake install
cd /usr/local/src/Compress-Zlib-2.005/
gmake install
cd /usr/local/src/libwww-perl-5.808/
gmake install
cd /usr/local/src/XML-Parser-2.36/
gmake install