EPICS: EDM compilation and configuration: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 47: | Line 47: | ||
== Configuration == | == Configuration == | ||
* A edm startup ''tcsh' script | * A edm startup ''tcsh'' script ''$EPICS_SCRIPTS/edm'' script was created based on edm/setup.sh | ||
** It supports generation of architecture depended configuration files in respective subdirectories under edm/setup. The directories edm/setup{linux-x86,solaris-x86,solaris-sparc} are actual configuration directories for respective compiled edm flavours. | ** It supports generation of architecture depended configuration files in respective subdirectories under edm/setup. The directories edm/setup{linux-x86,solaris-x86,solaris-sparc} are actual configuration directories for respective compiled edm flavours. | ||
** colors.list, fonts.list and calc.list are in the edm/setup directory and links are created from architecture depended directories to them. | ** colors.list, fonts.list and calc.list are in the edm/setup directory and links are created from architecture depended directories to them. | ||
* In the clas_epics.adl the command to run edm is: | * In the clas_epics.adl the command to run edm is: | ||
/bin/tcsh -f $EPICS_SCRIPTS/edm -x monticello.edl | /bin/tcsh -f $EPICS_SCRIPTS/edm -x monticello.edl | ||
Odd things noticed while was trying to ru from medm: | |||
# It is strange but medm calls scripts with same environment but differently. | |||
# tcsh instead of csh is must. At least under solaris, otherwise will not work. | |||
== Essential diff of original and modified sources == | == Essential diff of original and modified sources == |
Revision as of 22:09, 8 October 2010
Links
Web page: http://ics-web.sns.ornl.gov/edm/
Download: http://ics-web.sns.ornl.gov/edm/log/getLatest.php
User Guide: http://ics-web.sns.ornl.gov/edm/edmUserManual/index.html
MCC EDM screens: http://opweb.acc.jlab.org/internal/edm/
MCC RSYNC URI of EDM configurations:
Directory Configuration
Downloaded the EDM version 1-12-37 and unpacked into $EPICS_EXTENSIONS/src The default directory containing EDM is edm, which is soft link to version directory.
nerses@clon01:src> ls -ld $EPICS_EXTENSIONS/src/edm* lrwxrwxrwx 1 epics clas 11 Oct 5 12:42 /usr/local/clas/devel/R3.14.8.2/extensions/src/edm -> edm-1-12-37/ drwxrwxr-x 27 nerses clas 4096 Oct 5 02:17 /usr/local/clas/devel/R3.14.8.2/extensions/src/edm-1-11-1v/ -rw-rw---- 1 nerses clas 2631404 Dec 4 2008 /usr/local/clas/devel/R3.14.8.2/extensions/src/edm-1-11-1v.tgz drwxrwxr-x 29 nerses clas 4096 Oct 5 15:25 /usr/local/clas/devel/R3.14.8.2/extensions/src/edm-1-12-37/ -rw-rw-r-- 1 nerses clas 2701933 Jul 1 2009 /usr/local/clas/devel/R3.14.8.2/extensions/src/edm-1-12-37.tar.gz
Compilation
NOTE: Compilation on linux runs without a problem. But, on both solaris-x86 and solaris-sparc modifications should be done.
Required packages for solaris
- libgif
- download from sourcefourge.net
- libungif
- available at /opt/sfw/{include,lib}
- libcurl
- available at /opt/sfw/{include,lib}
Summary of modifications
- Under Solaris __STDC__ have to be defined in order to use the correct calls to regex functions.
- To have network capability of EDM one should change to USE_CURL=YES in lib/Makefile and add libcurl in the list of libraries to be linked.
- And since libcurl is in /opt/sfw/lib directory, that directory should be added into list of the lookup directories.
- Also the /opt/sfw/include should be added into list of include directories.
- In some of the EDM subdirectories the libCom and libca from $EPICS_BASE/lib/$EPICS_HOST_ARCH should be added.
- In the giflib/Makefile the loopkup directory for libraries of /opt/sfw/lib should be added for libungif
- pvFactory/textupdate.cc has a call to the int finite(double dsrc); function which under solaris requires inclusion of ieeefp.h as opposite to linux which requires math.h and included from other header files. To overcome the predefined macro __SUNPRO_CC was used to identify Sun's compiler.
- For slaclib compilation the shared libraries X11 Xt 114135a4-6f6c-11d3-95bc-00104b8742df cfcaa62e-8199-11d3-a77f-00104b8742df should be added.
NOTE: The detailed summary of changes is in the #Essential diff of original and modified sources
Configuration
- A edm startup tcsh script $EPICS_SCRIPTS/edm script was created based on edm/setup.sh
- It supports generation of architecture depended configuration files in respective subdirectories under edm/setup. The directories edm/setup{linux-x86,solaris-x86,solaris-sparc} are actual configuration directories for respective compiled edm flavours.
- colors.list, fonts.list and calc.list are in the edm/setup directory and links are created from architecture depended directories to them.
- In the clas_epics.adl the command to run edm is:
/bin/tcsh -f $EPICS_SCRIPTS/edm -x monticello.edl
Odd things noticed while was trying to ru from medm:
- It is strange but medm calls scripts with same environment but differently.
- tcsh instead of csh is must. At least under solaris, otherwise will not work.
Essential diff of original and modified sources
diff -r -bB edm-1-12-37/baselib/Makefile edm-1-12-37.orig/baselib/Makefile 11c11 < USR_CXXFLAGS_solaris += -D__solaris__ -DSINGLE_THREADED=1 -D__epics__=1 -D__STDC__ --- > USR_CXXFLAGS_solaris += -D__solaris__ -DSINGLE_THREADED=1 -D__epics__=1 27,29d26 < USR_SYS_LIBS_solaris += curl < USR_LDFLAGS_solaris += -L/opt/sfw/lib < diff -r -bB edm-1-12-37/calcPv/Makefile edm-1-12-37.orig/calcPv/Makefile 31,33d30 < USR_LIBS_solaris += Com < USR_SYS_LIBS_solaris += curl < USR_LDFLAGS_solaris += -L/opt/sfw/lib diff -r -bB edm-1-12-37/choiceButton/Makefile edm-1-12-37.orig/choiceButton/Makefile 24,26d23 < USR_SYS_LIBS_solaris += curl < USR_LDFLAGS_solaris += -L/opt/sfw/lib < diff -r -bB edm-1-12-37/diamondlib/Makefile edm-1-12-37.orig/diamondlib/Makefile 28,30d27 < USR_SYS_LIBS_solaris += curl < USR_LDFLAGS_solaris += -L/opt/sfw/lib < diff -r -bB edm-1-12-37/edmMain/Makefile edm-1-12-37.orig/edmMain/Makefile 28,30d27 < USR_SYS_LIBS_solaris += curl < USR_LDFLAGS_solaris += -L/opt/sfw/lib < diff -r -bB edm-1-12-37/epicsPv/Makefile edm-1-12-37.orig/epicsPv/Makefile 31,33c31 < USR_LIBS_solaris += ca Com < USR_SYS_LIBS_solaris += curl < USR_LDFLAGS_solaris += -L/opt/sfw/lib --- > USR_LIBS += ca Com diff -r -bB edm-1-12-37/giflib/Makefile edm-1-12-37.orig/giflib/Makefile 42c42 < USR_LDFLAGS_solaris += -L$(GIF_LIB) -L/opt/sfw/lib --- > USR_LDFLAGS_solaris += -L$(GIF_LIB) diff -r -bB edm-1-12-37/indicator/Makefile edm-1-12-37.orig/indicator/Makefile 24,26d23 < USR_SYS_LIBS_solaris += curl < USR_LDFLAGS_solaris += -L/opt/sfw/lib < diff -r -bB edm-1-12-37/lib/Makefile edm-1-12-37.orig/lib/Makefile 7,8c7 < #USE_CURL=NO < USE_CURL=YES --- > USE_CURL=NO 38,39d36 < USR_INCLUDES_solaris += -I/opt/sfw/include < USR_LDFLAGS_solaris += -L/opt/sfw/lib diff -r -bB edm-1-12-37/locPv/Makefile edm-1-12-37.orig/locPv/Makefile 23,24d22 < USR_SYS_LIBS_solaris += curl < USR_LDFLAGS_solaris += -L/opt/sfw/lib diff -r -bB edm-1-12-37/logPv/Makefile edm-1-12-37.orig/logPv/Makefile 31,34d30 < USR_LIBS_solaris += Com ca < USR_SYS_LIBS_solaris += curl < USR_LDFLAGS_solaris += -L/opt/sfw/lib < diff -r -bB edm-1-12-37/multiSegRampButton/Makefile edm-1-12-37.orig/multiSegRampButton/Makefile 24,26d23 < USR_SYS_LIBS_solaris += curl < USR_LDFLAGS_solaris += -L/opt/sfw/lib < diff -r -bB edm-1-12-37/pnglib/Makefile edm-1-12-37.orig/pnglib/Makefile 36,38d35 < USR_SYS_LIBS_solaris += curl < USR_LDFLAGS_solaris += -L/opt/sfw/lib < diff -r -bB edm-1-12-37/pvFactory/Makefile edm-1-12-37.orig/pvFactory/Makefile 14c14 < USR_CXXFLAGS_solaris += -DSINGLE_THREADED=1 -D__epics__=1 -D__STDC__ --- > USR_CXXFLAGS_solaris += -DSINGLE_THREADED=1 -D__epics__=1 22,24d21 < USR_SYS_LIBS_solaris += curl < USR_LDFLAGS_solaris += -L/opt/sfw/lib < diff -r -bB edm-1-12-37/pvFactory/textupdate.cc edm-1-12-37.orig/pvFactory/textupdate.cc 10,13d9 < #ifdef __SUNPRO_CC < #include <ieeefp.h> < #endif < Only in edm-1-12-37/setup: colors.list.orig Only in edm-1-12-37/setup: setup.csh Only in edm-1-12-37/setup: linux-x86 Only in edm-1-12-37/setup: solaris-sparc Only in edm-1-12-37/setup: solaris-x86 diff -r -bB edm-1-12-37/slaclib/Makefile edm-1-12-37.orig/slaclib/Makefile 24,28d23 < ifneq ($(findstring solaris,$(EPICS_HOST_ARCH)),) < LDLIBS += -lX11 -lXt < LDLIBS += -l114135a4-6f6c-11d3-95bc-00104b8742df < LDLIBS += -lcfcaa62e-8199-11d3-a77f-00104b8742df < endif diff -r -bB edm-1-12-37/triumflib/Makefile edm-1-12-37.orig/triumflib/Makefile 28,30d27 < USR_SYS_LIBS_solaris += curl < USR_LDFLAGS_solaris += -L/opt/sfw/lib < diff -r -bB edm-1-12-37/videowidget/Makefile edm-1-12-37.orig/videowidget/Makefile 29,31d28 < USR_SYS_LIBS_solaris += curl < USR_LDFLAGS_solaris += -L/opt/sfw/lib <