马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
前几天我在另一贴中提到Mentor今年发布的最新版Calibre2014在Ubuntu上面因为不能通过Mentor支持的OS检测而不能运行(license和patch是没有问题的),而以前的Calibre2013之类的老版本则可以继续毫无问题地运行。众所周知Mentor与其他一些EDA公司如Cadence对其发布的众多设计软件只支持维护RHEL和SLES两个Linux系统,其他一些从这两个100%衍生出来的Linux如CentOS、Scientific以及Oracle Linux也应该能毫无问题运行这些软件。而对于像Ubuntu这类最大众化的Linux则需要做一点小小的附加工作也同样可以完好运行这些软件,因为毕竟Linux就其本质来说内核是统一的,差别只是在桌面等上层建筑,这些都是可以找出方法规避的。下面我就针对Mentor的这个新版Calibre2014在Ubuntu上面的设置及完全运行做一个深入解释——你根本不会想到解决方案是如此简单!——Solution's so easy, unbelievable。
针对Calibre2014上面提到的这个问题,我花了点时间对其在$CALIBRE_HOME/pkgs/calibre_base/bin中执行这个OS检测的两个script文件进行了仔细研究,发觉其主要作用是在系统的/etc目录中寻找redhat-release或SuSe-release这两个文件并提取OS版本参数。而Ubuntu在系统/etc目录中对应的则是os-release这个文件,其具体内容如下(我的系统为Kubuntu 14.04——也就是KDE plasma桌面的Ubuntu,除了不是GNOME桌面外,与Ubuntu完全一致):
NAME="Ubuntu"
VERSION="14.04.1 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.1 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
我又在VirtualBox上面安装了最新版CentOS 7,对其/etc进行检查发现其中的两个东西:centos-release和redhat-release,这个redhat-relase只是个symlink链接指向centos-release这个文件,而centos-release这个文件的内容只有一行字:CentOS Linux release 7.0.1406 (Core) 。我们知道CentOS是100%从RHEL衍生过来的,因而可以完全运行Mentor的Calibre2014,/etc中的这个redhat-release链接就是起到与RHEL兼容的这个作用。那么现在的问题很清楚了,我们也要将我们的Ubuntu“兼容”到RHEL,方法是很简单而有效的——就是在Ubuntu系统目录/etc中制作一个redhat-release或者SuSe-release文件来欺骗Caliber2014这类软件的OS检测程序,使其误以为这是在RHEL或者SLES上面运行!这个redhat-release或SuSe-release不会干扰Ubuntu的os-release,因为Ubuntu只认自己的os-release。为简单起见,我们就做一个redhat-relase。因为坛上下载的Calibre2014安装文件以ixl开头只能在RHEL的5系列上运行,我们就采用最新版的RHEL5.12,所以这个redhat-release的内用就是一行字:Red Hat Enterprise Linux release 5.12 (若下载的Calibre2014安装文件是以aoi开头,则需要将5改变为6至9中的一个,比如6.x) 将这个redhat-release文件移至系统目录/etc,并更改其用户权限:sudo chown root:root /etc/redhat-release 以及 sudo chmod 644 /etc/redhat-release
然后在我以前的帖子http://bbs.eetop.cn/thread-452284-1-1.html中的那个cadence的script中对Calibre相应的环境变量和指令做相应的更改如下:
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Mentor Graphics Calibre
#
# MGC_HOME environment variable has been deprecated in favor
# of CALIBRE_HOME, so MGC_HOME is not set here.
#
# .cdsinit in the working directory should be modified for Calibre to
# be integrated into Cadence menu bar.
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
export CALIBRE_HOME=/opt/mentor/Calibre2014/ixl_cal_2014.1_17.12
export MGLS_LICENSE_FILE=9688@ThinkPad-T510
export PATH=$CALIBRE_HOME/bin{PATH}
export MGC_LIB_PATH=$CALIBRE_HOME/lib
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Mentor Environment Checking
#
# Note: CALIBRE_SKIP_OS_CHECKS and its predecessor SKIP_OS_CHECKS
# are deprecated and should not be used.
#
# Level 1 suppresses and ignores all warning messages; writes non-fatal error
# messages to stdout and continues execution.
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
export CALIBRE_OS_MSG_LEVEL=1
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# This variable enables Calibre Interactive to save all GUI settings to a runset
# including default values for future re-run
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
export MGC_CALIBRE_SAVE_ALL_RUNSET_VALUES=1
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Set up socket connection with Virtuoso schematic or layout viewer
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
export MGC_CALIBRE_SCHEMATIC_SERVER=ThinkPad-T510:9199
export MGC_CALIBRE_LAYOUT_SERVER=ThinkPad-T510:9189
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Set up foundry DFM PATH for Calibre - XXXXXXX process
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
export TSMC_CAL_DFM_PATH=/opt/PDKs/tsmc/XXXXXXX/Calibre/lvs/DFM
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Start up Mentor license server
#
# The license server should be started prior to launching Calibre tools
# or they won't work and the license error will be shown.
#
# Also make a symlink to /tmp in /usr (run "sudo ln -s /tmp tmp" in /usr),
# to prevent the following error message showing up on terminal:
# (mgcld) Can't make directory /usr/tmp/.flexlm, errno: 2(No such file or directory)
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$CALIBRE_HOME/bin/lmgrd -c $CALIBRE_HOME/shared/license/license.dat
And now, a moment of truth "Woah"——终端上cd到project目录并执行:./cadence启动运行Virtuoso以及所有安装的程序。打开一个cell的layout view editor,在virtuoso工具栏上的Calibre菜单中执行Run DRC、Run DFM、Run LVS、Run PERC、Run PEX、Start RVE,例如执行Run DRC时在virtuoso的CIW上显示如下:
// Calibre layout-server initialized successfully at socket 9189, host ThinkPad-T510. // Calibre Interactive - DRC v2014.1_17.12 Thu Feb 27 15:53:54 PST 2014 // // Copyright Mentor Graphics Corporation 1996-2014 // All Rights Reserved. // THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION // WHICH IS THE PROPERTY OF MENTOR GRAPHICS CORPORATION // OR ITS LICENSORS AND IS SUBJECT TO LICENSE TERMS. // // Mentor Graphics software executing under x86-64 Linux // // Running on Linux ThinkPad-T510 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:07 UTC 2014 x86_64 // 64 bit virtual addressing enabled // // Starting time: Fri Oct 3 01:54:19 2014 // // mgc_s license acquired (calinteractive requested). // Calibre Interactive authorized.
见证了Calibre2014在Ubuntu上的无缝完整运行,no errors, no warnings and no whatsoever abnormals!
下面简单总结Calibre2014在Ubuntu上面安装、设置及运行的步骤:
1) 将下载的Calibre2014安装文件ixl_cal_2014.1_17.12.mib.exe移至目标目录,比如说/opt/mentor/Calibre2014,并在终端上运行指令:sudo ./ixl_cal_2014.1_17.12.mib.exe启动安装程序并按照提示步骤完成安装;
2) 将这个patch压缩包:
patch.rar
(291.81 KB, 下载次数: 2199 )
解压并移至/opt/mentor/Calibre2014,并按照readme.txt的说明对ixl_cal_2014.1_17.12目录进行patch;
3) 对这个压缩包:
license.rar
(508.61 KB, 下载次数: 2425 )
解压,按照其中的readme.txt说明生成license.dat并移至相应的目录;
4) 按照上面的方法制作redhat-release文件并移至系统/etc目录,并更改用户权限;
5) 对cadence这个script中有关Calibre的环境变量及指令做修改
6) 运行cadence这个script启动运行Virtuoso环境及其软件(包括Calibre在内)
综上所述,我们只需生成redhat-release这个文件就可以使Calibre2014(以及所有其他采用类似OS检测的EDA软件)在Ubuntu(以及所有其他非EDA厂商官方支持的)Linux上面运行,根本不必对软件本身做任何修改! |