Author: | Goetz Pfeiffer (Goetz.Pfeiffer@helmholtz-berlin.de) |
---|
This page is the home of the EPICS Pezca module, which provides channel access support for the perl scripting language. Pezca is based on the easy channel access (ezca) library which is part of the EPICS extensions. Pezca implements interfaces to most of the functions of ezca.
This site contains links for the source code of the software and information on how to install and use it on your system. Please email any comments and bug reports to Goetz Pfeiffer who is responsible for coordinating development and releases.
The module supports the following platforms / operating systems:
In case you dont' have ezca, the module Pezca is based on:
Pezca is compatible with both versions of ezca you find at the link above.
You can also access our mercurial repository.
If you plan to extend or improve Pezca I would recommend that you get a clone of our repository with this command:
hg clone http://hg.code.sf.net/p/pezca/code pezca
You can then commit changes in your own repository copy.
If you plan to share these changes you can create a mercurial bundle and send it to my e-mail address.
Pezca requires the perl-scripting language to be installed on your system. Perl sources and binaries can be downloaded at the Comprehensive Perl Archive Network CPAN.
Your system should also support the compilation of perl modules, which is usually no problem on a UNIX like systems where perl is installed.
You should have installed the EPICS base.
You should have installed the easy channel access module (ezca), this can also be downloaded here:
If you don't have EPICS base and ezca installed, you may run the script "bootstrap.sh". This downloads and builds EPICS base and ezca for usage by Pezca. Run:
./bootstrap.sh -h
for online-help to this script. Note that you must not move the installed EPICS Base and ezca later on, their locations will be hard-coded in Pezca.
After obtaining a copy of the distribution, it must be installed and built for use at your site. If you have a UNIX-like operating system, you have to decide first wether you want a local or global installation. For Windows NT, you should always select a global installation.
For a global installation you usually have to be "root" (or "administrator" on Windows NT) on your system. All users on your system can then use Pezca.
For a local installation you do not need to be "root" and your installation goes into an arbitrary directory. If other users want to use Pezca, you have to set access-permissions on files and directories accordingly.
You also have to know in which directory your local EPICS base and ezca library are placed. You either have to put these paths in file "platform.pm" at the definitions of variables "%epics_base" and "%epics_extensions" or you have to set the environment variables "EPICS_BASE" and "EPICS_EXTENSIONS" when you call "perl Makefile.PL" (see below).
Select a directory where the distribution can be unpacked. Unpack the distribution tar file. This produces a "Pezca-<version>" directory named after the release number. Now execute the following commands:
perl Makefile.PL make make test make install
Choose a directory where the distribution can be unpacked. Unpack the distribution tar file. This produces a "Pezca-<version>" directory named after the release number. Select or create a directory where your locally installed perl modules go: "<perldir>" Now execute the following commands:
perl Makefile.PL PREFIX=<perldir> make make test make install
A file "Pezca.spec" is provided that allows you to build an RPM source package. This file was provided by Sergey Stepanov <sstepanov@anl.gov>. You can build a source RPM with these commands:
perl Makefile.PL make dist cp -a Pezca-*.tar.gz $HOME/rpmbuild/SOURCES rpmbuild -bs Pezca.spec
Your source RPM file is then in directory $HOME/rpmbuild/SRPMS.
The usage of the installed perl module depends on your type of installation.
Add the following near the top of your perl script:
use Pezca;
Your can either define environment variables (the following are the shell commands):
export PATH=${PATH}:<perldir>/bin export PERL5LIB=<perldir>/lib/site_perl export MANPATH=${MANPATH}:<perldir>/man
and then add near the top of your script:
use Pezca;
or you use the following statements in your script which are independent on environment variables:
use lib "<perldir>/lib/site_perl"; use Pezca;
The following documentation is available:
This software was developed by Goetz Pfeiffer at HZB for BESSY II, a synchrotron radiation facility in Berlin, Germany.
It is used at the following EPICS sites:
Copyright (c) 2024 by Helmholtz-Zentrum Berlin.
This software of this project can be used under GPL v.3, see LICENSE.