安装包和用户手册
-
edm 的安装包位于https://github.com/chrschroeder/edm;
-
edm 的用户手册见 EDM Extensible Display Manager。
安装过程主要需参考手册中的:
Chapter 2. Software Installation
Chapter 3. System Configuration
安装过程
- 阅读 README.install ,得知需要将edm安装到epics/extensions/src/目录下。
在此之前需要 安装成功 base 和 extensions ,并在相关RELEASE文件中设置EPICS_BASE和EPICS_EXTENSIONS变量。
另外需要的库:
a. Motif (安装方法和安装包可见CentOS下 Motif 配置笔记)
b. Giflib, zlib, libpng (大多数Linux distribution都默认安装了;若无,可用yum install安装) - 进入$EPICS_EXTENSIONS/src/edm目录中,修改./configure;
- 在$EPICS_EXTENSIONS/src/edm目录中执行 make ,编译 edm;
- 在/usr/include下建立如下软链接,使 edm 能够找到 Motif 头文件;
ln -s ../X11R6/include/Xm Xm ln -s ../X11R6/include/X11 X11
- 成功编译edm后,进入$EPICS_EXTENSIONS/src/edm/setup目录下,运行setup.sh;
这一部分实际上是在用 setup.sh 自动执行 edm 的用户手册 中 “Chapter 3. System Configuration” 的配置过程,从而生成edmPvObjects、edmObjects文件。sh setup.sh
- 在 ~/.bash_profiles 或 ~/.bashrc 文件中添加环境变量,并 source 执行下;
或:vim ~/.bash_profile PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/epics-train/tools/extensions/src/edm/edmMain/O.linux-x86_64 export EDMBASE=/home/training/epics-train/tools/extensions/src/edm export EDMOBJECTS=$EDMBASE/setup export EDMPVOBJECTS=$EDMBASE/setup export EDMFILES=$EDMBASE/setup export EDMFONTFILE=$EDMBASE/setup/fonts.list export PATH source ~/.bash_profile
根据 ~/.bashrc 文件中 “source /home/training/epics-train/settings.sh” 这句,打开 ~./epics-train/settings.sh 文件,看到
“for i in $HOME/epics-train/tools/profile.d/*.sh
do
source $i
done”
再进入 $HOME/epics-train/tools/profile.d 文件夹,创建一个新的 *.sh 文件,将上述环境变量定义写在该 .sh 文件中(该方法未尝试,但理论上有效)。 - 在命令行输入 edm ,运行EDM工具。
安装配置过程中可能出现的问题及解决方案
- 编译过程中提示找不到某个文件,可能是未安装相应库造成的。如gif_lib.h(
../gif.h:28:21: fatal error: gif_lib.h: No such file or directory
);或者 Motif 未正确安装,(../motifSlider.h:28:22: fatal error: Xm/Scale.h: No such file or directory
或/usr/bin/ld: cannot find -lXm
)可以运行
安装缺失的库文件即可。yum install (库文件名)
当YUM服务器上没有相应库时,找到该库的rpm包然后运行
即可自动安装该库。rpm (rpm包名)
- 有时提示缺少环境变量参数例如 EPICS_HOST_ARCH,设置如下:
export EPICS_HOST_ARCH=linux_x86_64
- 运行 edm 时,提示找不到该命令(
bash: edm: command not found...
),这是未成功定义环境变量导致。参考“安装过程”中的 6 ,进入相应文件进行配置。
还有一种错误:在某一个terminal(比如在 $HOME 中打开了该terminal)中对 ~/.bash_profiles 进行了相应环境变量的添加并source后,(在另一个目录中)打开一个新的terminal运行 edm 时,依旧显示找不到该命令,利用echo $PATH
查看,发现 PATH 变量中并未添加上 “$HOME/epics-train/tools/extensions/src/edm/edmMain/O.linux-x86_64” 这一项,而这里恰恰是 edm 主程序存放的地方,所以才会提示找不到该命令。
所以 PATH 的更改为何不能在不同terminal中同时生效呢?
这是因为:~/.bashrc 在每次登陆和每次打开 shell 都读取一次,~/.bash_profile 只在登陆时读取一次。所以最好在 ~/.bashrc 中改变环境变量。 - 运行 edm 时,提示
Cannot open pv objects file - /etc/edm/edmPvObjects Cannot open object file - /etc/edm/edmObjects
,这可能是未定义 EDMOBJECTS、EDMPVOBJECTS 环境变量导致。因为在 edm 中,默认认为edmPvObjects、edmObjects文件存放于/etc/edm文件夹下,然而我们运行 setup.sh 后,这两个文件夹自动生成于 $ EDMBASE/setup 文件夹下,所以才会找不到这两个文件。参考“安装过程”中的 6 ,进入相应文件进行配置。
或者提示Cannot open pv objects file - /home/training/epics-train/tools/extensions/src/edm/setup/edmPvObjects/edmPvObjects
这种错误,这是 EDMPVOBJECTS 环境变量定义错误导致。应注意不能将其定义为 “export EDMPVOBJECTS=$EDMBASE/setup/edmPvObjects”,应截止到 “setup” 即可。
可考虑将edmPvObjects、edmObjects利用如下命令改成可执行文件。chmod 755 edmPvObjects chmod 755 edmObjects
- 运行 edm 时,提示
Color init failed - abort
,这可能是未定义 EDMFILES 环境变量导致。参考“安装过程”中的 6 ,进入相应文件进行配置。 - 运行时提示字体错误,可以通过yum install xorg-x11-fonts"*"安装字体来解决。
- 运行 edm 时,提示
Font init failed - abort
错误,导致 edm 不能启动成功。这应该是 $EDM/setup/ 下的字体文件 fonts.list 格式不对,fonts.list 有几种版本,具体见 EDM 用户手册 中 “Chapter 3 的 Font File Configuration" 部分。
我安装的 edm 是 1-10-1zd 版本,由于使用了USPAS,epics-base 是7.0.2版本,其中 epics-train/tools/ 文件夹下自带 edm_fonts.list 字体文件,将该字体文件放到 $EDM/setup/ 下,并将环境变量 EDMFONTFILE的值改为
运行 edm 时不再报该错误。export EDMFONTFILE=$EDMBASE/setup/edm_fonts.list
[√] 尝试下“Make sure you define LD_LIBRARY_PATH to include $ EPICS_EXTESIONS/lib/$HOST_ARCH”是否有用——没有用
[√] 加上 EDMHELPFILES " Location of EDM “HELP system”
EDMDATAFILES " Default search path for edm screens (analogous to $EPICS_DISPLAY_PATH) 环境变量的定义——未尝试,但应该不是这个问题