Fedora 19/20 编译安装 Epics base 、extension、edm
来源:互联网 发布:原生js点击隐藏 编辑:程序博客网 时间:2024/06/06 06:46
说明:本机系统为fc19,架构为 linux_x86, (即环境变量 EPICS_HOST_ARCH)。文中操作经过默认distribution从头开始的编译安装成功。
安装目录为: /root/softw/epics/base.3.14.12.4 //此为环境变量EPICS_BASE,即为/base 目录,即为base的 $(TOP)目录。epics官方文档中好像只成为base/ ,以后改环境的时候要加版本号
1.去官网下载 base、extension、edm 三个包。
文件结构如:
- myepics - base - extensions - src - alh - edm - etc
解压缩,准备开始,读官方文档和他人经验。
2.base的编译
2.1安装 dependency
yum install perl
yum install gcc-c++
yum install readline-devel
yum install perl-ExtUt*
yum install perl-Pod-Checker
## 安装完perl-ExtUt*之后可能还需要将 ExtUt*文件从 /usr/share/vendor/perl5/xxx下cp到 /usr/share/perl5下--理会精神
压缩包中/base/documantation/README.1st 为安装说明,列出了依赖的软件,可以依照他说的全都装一遍。
针对本机经验的话,其中需要注意的是gcc、perl 、和一个比较烦的叫 gnu readline的东西
2.1.1 readline
//如果安装 readline-devel ,则不需要作此更改
目测是类此给代码标颜色检查拼写的东西,但是查来查去 readline的关键字很多,也不知道要装那个。fedora里自带的readline不管用
官方安装文档中专门提到了这个问题: (不过我开始没看懂)(COMMENT OUT是注释掉的意思!! )
说可以注释掉 startup/CONFIG_SITE.COMMON.linux-x86 中的一行。
打开看,三套 × 两行,这样子的(RL=readline):
#XXXXXX 第一种:需要 RL
RL blahblahblah
#XXXXXX 第二种:需要XRL
#XRL blahblah
#XXXXXX 第三种:需要¥%XRL
#¥%XRL blahblah
所以这些是说一共有三种readline,针对不同情况的系统
可见第一种情况是默认的,所谓RL也是depdency里提到的那种。安装步骤原文的意思是如果没有安装RL可以在这里把 这一行(即RL blahblahblah)注释掉。
是加#,不是//
开始没看懂,后来找了些攻略,都说只有两处需要处理,一处就是这里。不处理的靠Fedora自带的readline 去make可以看到readline出问题。
CentOS5.4编译和安装EPICS 中提到了需要额外安装的包,(readline-devel)没试过,但是靠谱。
把这一行注释掉之后,make就没有RL的问题了。
2.1.2 gcc
fedora 19/20的发行版都有gcc,但是make不通过说g++有问题 g++的yum名字不叫g++......叫gcc-c++.....坑
yum install gcc-c++
2.1.3 perl相关
发行版默认有perl5 大概5.18的版本,远高于官方文档中所需的perl版本,但是裸make显示perl相关的两个问题:找不到podchecker 和 xsubpp 两个命令。
yum install perl-Pod-Checker //解决podchecker
xsubpp是属于 perl-ExtUtils下的,
查到:
perl-ExtUtils-XSBuilder.noarch : Modules that parse C header files and create XS
: glue code
perl-ExtUtils-XSpp.noarch : C++ variant of Perl's XS language
及其他
怀疑是其中的某个。没仔细试,
yum install perl-ExtUti* //解决xsubpp
记得它们依赖perl-devel。
2.2.环境变量
他们所说的第二处,是环境变量。EPICS_HOST_ARCH 可以 export命令改,也可以在.bashrc里添加改。
推荐enockipp 的博客中有转Michael d 《Getting started》
这样的环境变量设置很方便:
export EPICS_BASE="${HOME}/myepics/base"export EPICS_HOST_ARCH=`${EPICS_BASE}/startup/EpicsHostArch`export PATH="${PATH}:${EPICS_BASE}/bin/${EPICS_HOST_ARCH}"export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${EPICS_BASE}/lib/${EPICS_HOST_ARCH}"
把这些加进.bashrc或者其他的环境变量文件里
2.3结论
(1)环境变量
export EPICS_BASE="${HOME}/myepics/base"export EPICS_HOST_ARCH=`${EPICS_BASE}/startup/EpicsHostArch`export PATH="${PATH}:${EPICS_BASE}/bin/${EPICS_HOST_ARCH}"export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${EPICS_BASE}/lib/${EPICS_HOST_ARCH}"
系统架构可以通过安装包里的脚本获得,perl XXXXX.pl 可以uname获得 (2).安装 readline-devel或者注释掉readline那一行
README.1st中提到的目录自己注释掉readline那一行,前面加#
(3).安装g++、perl-ExtUt*、perl-Pod-Checker
yum install perl
yum install gcc-c++
yum install readline-devel
yum install perl-ExtUt*
yum install perl-Pod-Checker
make
make install
感谢参考博客
3.extension的编译
##########
4.edm的安装
edm 与一般extension不同。edm在make 成功,安装成功后,还需要进行配置才能使用。
#需要现在/epics/extensions/configure/RELEASE 文件中 修改 :
# Location of external products
#EPICS_BASE=$(TOP)/../base
#base 为 base3.14.12.4--理会精神
4.1编译安装
安装常见问题两种,缺少各种库各种dependency;环境变量设置有问题;
本机经验:先不要为EDM改、添加任何环境变量。编译安装成功后用setup.sh
4.1.2 dependency
yum install motif-devel
yum install libXtst-devel
yum install giflib-devel
make
若出现错误:png.cc line 1639 ZLIB_VERSIONI 没有定义,在报错目录的png.cc文件中 ,添加 include<zlib.h>
make
make install
4.2configuration
/edm/setup 目录下的setup.sh文件
cd /edm/setup
chmod +x setup.sh
export HOST_ARCH=linux-x86
source setup.sh
//setup.sh就是配置的脚本,添加环境变量、edm对象、list之类的东西;
//网上有的经验是手动进行配置setup里面的内容,若setup.sh失败,需要手动做的话,参照setup.sh里的内容,以及./setup.sh 所的提示结果进行
//然后可以将setup.sh 改的环境变量加到.bash里 env | grep EDM
然后是重点:
在编译安装成功,source setup.sh成功后,应当可以运行edm,>$EDM
本机出现错误:font init failed - abort
查查查,2008-10年左右有一些bug report,说是fc8上就是编译不了,问题能解决,但是改不进安装包,需要的rpm文件也不好找
解决方案:
“xset fp+ /usr/share/X11/fonts/75dpi”
// 在/fonts/目录下除了encoding和util之外的文件是字体文件,因为他们之中有font.dir
//视桌面环境,可能没有75dpi这个字体。也有人用100dpi的,
:yum install *75dpi* //此时/usr/share/X11/fonts下应该有个75dpi文件夹了,但是单独安装75dpi是不够的
:xset fp+ /usr/share/X11/fonts/75dpi
:$EDM
出现了
- Fedora 19/20 编译安装 Epics base 、extension、edm
- 在windows安装epics base,以及JCA的使用
- Linux下安装epics中Base-3.15.5步骤(向胡勇老师致敬)
- EPICS入门与安装
- Fedora 下编译安装Mplayer
- Fedora 14 内核编译 安装
- Fedora下编译安装Wireshark
- fedora 20 源码编译安装 mysql-5.6.15
- fedora 20 源码编译安装最新版 mysql apache2 php
- Fedora 20 源码编译安装最新版的python 3.4.2
- mplayer for fedora 的编译与安装
- fedora下面编译并安装RPM包
- fedora sqlite3安装 及编译命令
- Fedora 11上编译安装CodeBlocks
- fedora 16 编译安装 openfetion 2.2.2
- Fedora 16下ACE的编译安装
- Fedora 17 编译安装 kscope-1.6.2
- Fedora下ALSA的编译与安装
- no talloc stackframe at ../source3/param/loadparm.c
- 名人名言励志
- 【备忘】Windows的命令行下设置网络代理
- Mysql中操作日期和时间
- 为什么
- Fedora 19/20 编译安装 Epics base 、extension、edm
- Apache和tomcat实现负载均衡和集群
- STM32中断应用笔记
- Android kxml解析WBXML
- 关于如何实现编辑框单击时自动选中全部内容的方法
- linux 上使用resin
- 黑莓手机与安卓机的对比
- 求二叉搜索树的中位数
- Android屏幕适配-资源文件夹命名与匹配规则