在WSL2上安装IC618、SPECTRE18与Calibre2019

由于某些赶鸭子上架的原因,本人需要了解一部分IC设计相关的工作,出于闲着也是闲着的想法,在CentOS7上面安装完环境之后,折腾了一下在WSL2 Ubuntu23.04上安装IC618、SPECTRE18、Calibre2019。

以下是效果

cut-off

主要参照如下教程

https://blog.csdn.net/qq_67311527/article/details/131216392

第一步是下载文件,不解释了

https://pan.baidu.com/share/init?surl=kaaFTI9fkgQ6IQBpxqXL1w&pwd=7654#list/path=%2F

第二步是把他们拷到WSL里面,最简单的方法是直接在windows的资源管理器里面复制到/home/你的WSL用户名文件夹 下,当然你用SSL之类的方法也都可以,不解释了

cut-off

接下来安装IC618

1.用cd命令打开压缩文件目录,解压缩,用tar -xvf 文件名 这种命令把三个文件解压

2.打开IC06.18.000.lnx86.Base/CDROM1目录,运行sudo su切到root用户,运行./SETUP.SH脚本(我最开始没切root,想了想,好像权限不够,然后退了重新打开的脚本)

3.按q退出第一屏

4.输入安装目录,这里安装脚本会建立一个你输入的目录,我写的是/opt/cadence/IC618(这里有一个槽点,它真的只是建立一个目录,后面其实还是有机会建立目录的,所以我真的不理解这个到底有什么用)

5.目录不存在,是否创建,输入y回车

6.提示安装程序InstallScape没在PATH中找到,问你是否安装过,选n,没安过

7.问是否安装,选y

8.输入安装程序的安装目录(好绕啊),这里会安装安装程序InstallScape,我输的是/opt/cadence/InstallScape

9.BOOM!这里提示JVM打不开,因为我这个WSL是新的,没装JVM,它自己的JVM是32位的,很多库文件没有,这里有两种方法,一种是安装一个openjdk,例如执行apt install openjdk-21-jdk,这个我试了OK,更早的版本也是OK的,它这个就是安装程序的运行环境,根IC618没关系,所以只要跑起来就行。但其实还有一种头铁的方法,那就是把所有缺的库补全,这样你就可以用上安装程序原版的1.6版本JAVA了(笑)

10.我们当然是要头铁的,所以那就看上面的提示呗,iscape.sh 216行,调用java_vm时失败了,找不到,但明明文件是有的

11.直接打开那个目录下的java,提示没找到所需文件,但又不是bash的提示,所以不是文件名打错了,而是java已经被调用,但它自检的时候发现有问题,然后退了

12.调用cat java命令,好吧看不懂,但似乎需要glibc

13. glibc在Ubuntu下面是libc6包,我已经安了,没用,拿file命令扫一下,这时我才发现是32位的JVM

14.那就试试安装32位库,执行

dpkg –add-architecture i386

apt update

apt install libc6:i386

15.这回再执行./java有效果了

16.再执行一遍安装程序,有点变化

17.提示缺libXext.so.6,查了下Ubuntu里面对应的包是libxext6,所以输入apt install libxext6:i386安装,后面还会提示缺libXtst.so.6,libXi.so.6,所以对应的要安装libxtst6:i386和libxi6:i386

18.安装完成后再启动安装脚本,这回没错误提示了

19.点Load directory/Media install,再点中间右边的Browse,选安装程序所在的目录(很奇葩,安装程序不知道安装程序目录在哪里),这里选择到解压的目录下面的CDROM1

20.点右下角Continue

21.选上要安装的IC618,点Next

22.点Browse选安装目录(和之前填的一样不一样都行,这里默认的不是我们输入的那个,所以我搞不懂前面的那个目的是什么),再点右下角Next开始安装

23.如果你按照我的安装方法来,那么不出意外的就会出意外了,安装完会提示安装成功,配置失败

24.查了一下,这个是因为没安装xterm,开个新终端安装,不用退出当前的安装程序

25.安装完点安装程序最下面中间的Back,回到上一步,再点Next重新安装,这回会很快,然后出现报错,这个我是真的没找到啥原因,应该也是某个组件没安好,提示是缺libcbreakpad.so,看网上别人的教程也有这个报错,所以应该没啥影响吧,大概

26.提示安装什么库,我初学者不太懂,反正一路y过去

27.这里又提示一个not found,查了一下那个文件,调用的ksh,所以解法很简单,apt install ksh

28.安装完了再重新进行配置,变成AMS这个了,我也不懂,先选2

29.NC clean up,可能是什么清理工作吧,直接回车继续

30.OA安装,先按回车选择安装,然后再按n选择默认配置

31.安完了,先不要关安装程序,后面要用

cut-off

接下来安装SPECTRE181

1.解压

2.点安装程序下面左侧的cancel,重新进入安装程序选择的界面

3.和上面一样的思路,安装SPECTRE181

4.只配置了OA就完了,和上面一样,挺简单,估计是该有的坑都填完了(笑)

cut-off

接下来安装calibre2019

1.用chmod +x 文件名 把安装程序设为可执行

2.mkdir /opt/mentor和mkdir /opt/mentor/calibre2019建立安装目录(我这里打错了,后面全删了重新安装了),然后用mv命令把安装程序移动过去,再用./文件名 执行安装程序

3.先选d,再选yes,就开始安装了,有概率提示安装不了,再执行一遍安装程序就能安了

4.安装完了,提示一句话

cut-off

接下来打补丁

1.切到patch目录,输入./1patch.sh /opt/cadence/IC618,提示缺库libstdc++.so.6

2.出于兼容性考虑,我用的32位库,apt install libstdc++6:i386

3.再次执行,开始patch了,最后381文件被改变就对了,前面那个数似乎总是不一样,很奇葩的补丁,只要不提示error就行,提示了就去装库,很简单的

4.再执行./1patch.sh /opt/cadence/SPECTRE181,最后66个文件修改

5.再执行./1patch.sh /opt/mentor/calibre2019,最后5个文件修改

6.然后是生成license,这里有点点小坑,因为脚本是Python2语法,但我这里只有Python3,我不想装2,所以改一下脚本吧

7.cdslicgen.py文件好改,4831行wb改成w,保存

8.执行python3 cdslicgen.py,生成一个license.dat文件,再mkdir /opt/cadence/license建立目录,mv license.dat /opt/cadence/license移动license文件到这个目录

9.接下来改mgclicgen.py,这个光改上面那个wb还不行,会产生递归深度问题,解决方案是拿VS Code把’’’+HOSTID+’’’全部替换为xxxxxxxxxxxx,再用replace方法做替换,这种方法基于迭代器,不会爆

10.这里有一个大坑,我最开始按照教程执行python3 mgclicgen.py MAC地址 ,然后和上面一样建文件夹,拷贝,但是WSL每次电脑重启都会改MAC,然后license就寄了,所以最后我是继续修改这个脚本,实现每次执行都能读取MAC地址,生成新的license,这里通过uuid的getnode方法获取MAC地址的整数形式,然后通过字符串的format方法实现16进制表示和前面补零

11.把这个文件和生成的license.dat放在/opt/mentor/license文件夹下,用chmod 666给license.dat加读写权限,最终效果如图(我之前实验的时候给/opt/mentor/license目录加了777权限,所以第一行显示的是777权限,这步其实不用做,但要保证license.dat文件存在,如果文件夹下不存在license.dat文件,目录没有x权限的情况下是没法建立新文件的)

cut-off

最后是运行这次安装的程序

1.先添加环境变量,patch里面提供的是csh的配置,我用的是bash,暂时懒得换,替换起来也容易,把.cshrc文件里的形如setenv A B(注意空格)的语句,改成export A=B(注意等号两边没空格),添加到主目录的.bashrc文件末尾,另外把CADHOME和MENTOR_HOME改成之前安装的目录,我这里是/opt/cadence和/opt/mentor

2.新开个终端,在普通用户权限下,输入virtuoso,不出意外的出意外了

3.根据提示,我运行了一下cds_plat命令,提示缺文件

4.那就看一下缺啥,执行cat /opt/cadence/IC618/tools/bin/cds_plat,第一行就是个大大的csh,那就sudo apt install csh安排上

5.这回再执行cds_plat,能返回正确的参数了

6.再运行virtuoso,这回提示环境变量有问题,说的是环境变量传入的当前系统版本和OA安装的版本对不上

7.先看一下/opt/cadence/IC618/share/oa/lib下安装的到底是什么

8.改环境变量

9.新开个终端,这样环境变量就更新了(source ~/.bashrc也行,但我懒得打字),再执行virtuoso,显示缺文件

10.查了一下,安装libgul1-mesa

11.这回提示无法打开libdl.so

12.找了半天没找到,最后在网上搜一下,发现libc6-dev里面有

13.安装32位的libc6-dev,执行libc6-dev:i386(64位不知道行不行,怕出问题就直接安32位了)

14.在root权限下执行ln -s /usr/lib/x86_64-linux-gnu/libdl.so.2 /usr/lib/libdl.so

15.再执行virtuoso,启动了,但没完全启动,提示failed to open swrast

16.建立/usr/lib/dri目录,再建一个软链接,执行mkdir /usr/lib/dri和ln -s /usr/lib/x86_64-linux-gnu/dri/swraast_dri.so /usr/lib/dri/swrast_dri.so

17.这回提示/opt/cadence/IC618/tools/lib/64bit/libstdc++.so.6的GLIBCXX_3.4.26未找到,这显然是这个库的版本太旧导致的

18.glibc的API兼容性还是挺好的,应该没逝的,所以我就直接换个新的库了,删了旧的,把系统的glibc软链接进去,执行rm /opt/cadence/IC618/tools/lib/64bit/libstdc++.so.6和ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /opt/cadence/IC618/tools/lib/64bit/libstdc++.so.6

19.再次启动virtuoso,这次提示字体问题

20. 网上搜了下,执行apt install xfonts-75dpi xfonts-100dpi

21.执行virtuoso,成功启动

22.执行calibre,提示环境有问题

23.网上搜了下,需要添加一个配置文件,假装自己是Redhat,在/etc目录下建立一个文件redhat-release,内容是Red Hat Enterprise Linux release 6.12,再chmod 777(有没有必要改权限我不知道,反正也不会出什么问题)

24.这回执行calibre -gui应该有反应了

25.在windows上建立两个快捷方式,一个目标是C:\Windows\System32\wsl.exe bash -ic virtuoso,另一个目标是C:\Windows\System32\wsl.exe bash -ic "cd /opt/mentor/license && python3 mgclicgen.py && calibre -gui"

最终效果就是开头的那个样子,可以在windows上面点图标打开程序

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空