VCS 安装在ubuntu18.04下面的问题
时间:03-15
整理:3721RD
点击:
操作系统:ubuntu 18.04 64bit版本
资源来源:eetop
vcs软件:http://bbs.eetop.cn/thread-611494-1-1.html
SCL&installer, keygen, install guide: http://bbs.eetop.cn/thread-633801-1-1.html
安装内容:vcs2016。
经过无数的折腾,vcs2016在ubuntu18.04 64bit上已经成功。
过程不可能像之前论坛里面的那么简单,但是基本方向是对的,需要添加和更改很多东西。
如果有问题请给我发邮件(52986446@qq.com),我会具体回复,因为是在太多了,有些我都想不起来的,必须看到问题才能想起来。
重要的一点:
gcc、g++恢复到4.8,其他版本是否可以不知道,但是7.0肯定不可以。
vcs必须带参数:vcs -full64-LDFLAGS -Wl,--no-as-needed
关闭网络,否则很慢,我也不知道什么。
其他的,见招拆招吧。
感谢大神们的回复。
补充一下,将dash改为bash后,看了报的错:
Warning-[LINX_KRNL] Unsupported Linux kernel
Linux kernel '4.15.0-36-generic' is not supported.
Supported versions are 2.4* or 2.6*.
Error-[NTMES] No TopModule/Entity supplied
No TopModule/Entity supplied on 'vcs' command line.
Usage: vcs [libname.]<Design Unit> [-o output] [other compile opts] or vcs
-help
貌似好像是还不支持这个操作系统版本?
那我就日了狗了。
安装ksh
ksh已经安装了的。
使用4.8的gcc
降级试过,没有什么反映。
目前的方法:
ubuntu 18.04 x64,
gcc 7,
vcs2016
在bashrc中写入添加: export VCS_ARCH_OVERRIDE=linux
基本就能解决大部分问题。
目前问题是:
1.dev -full64能够出来图形界面;
2.随便搞了一个文件:vcs -full64 edge_detector.v.v则报下面的错误。
- simon@simon-ThinkPad-T480s:~/vcs/tmp$ vcs -full64 edge_detector.v
- Chronologic VCS (TM)
- Version L-2016.06_Full64 -- Sun Oct7 16:00:53 2018
- Copyright (c) 1991-2016 by Synopsys Inc.
- ALL RIGHTS RESERVED
- This program is proprietary and confidential information of Synopsys Inc.
- and may be used and disclosed only as authorized in a license agreement
- controlling such use and disclosure.
- Parsing design file 'edge_detector.v'
- Top Level Modules:
- edge_detector
- No TimeScale specified
- Starting vcs inline pass...
- 1 unique modules to generate
- 1 module and 0 UDP read.
- However, due to incremental compilation, no re-compilation is necessary.
- All of 0 modules done
- rm -f _csrc*.so pre_vcsobj_*.so share_vcsobj_*.so
- ld -shared-o .//../simv.daidir//_csrc0.so objs/amcQw_d.o
- rm -f _csrc0.so
- if [ -x ../simv ]; then chmod -x ../simv; fi
- g++-o ../simv-Wl,-rpath-link=./ -Wl,-rpath='$ORIGIN'/simv.daidir/ -Wl,-rpath=./simv.daidir/ -Wl,-rpath='$ORIGIN'/simv.daidir//scsim.db.dir-rdynamicamcQwB.o_prev_archive_1.so _csrc0.soSIM_l.o_csrc0.sormapats_mop.o rmapats.o rmar.ormar_llvm_0_1.o rmar_llvm_0_0.o/home/simon/CAD/synopsys/L-2016.06/linux64/lib/libzerosoft_rt_stubs.so /home/simon/CAD/synopsys/L-2016.06/linux64/lib/libvirsim.so /home/simon/CAD/synopsys/L-2016.06/linux64/lib/liberrorinf.so /home/simon/CAD/synopsys/L-2016.06/linux64/lib/libsnpsmalloc.so/home/simon/CAD/synopsys/L-2016.06/linux64/lib/libvcsnew.so /home/simon/CAD/synopsys/L-2016.06/linux64/lib/libsimprofile.so /home/simon/CAD/synopsys/L-2016.06/linux64/lib/libuclinative.so-Wl,-whole-archive /home/simon/CAD/synopsys/L-2016.06/linux64/lib/libvcsucli.so -Wl,-no-whole-archive/home/simon/CAD/synopsys/L-2016.06/linux64/lib/vcs_save_restore_new.o -ldl-lc -lm -lpthread -ldl
- /usr/bin/ld: /home/simon/CAD/synopsys/L-2016.06/linux64/lib/vcs_save_restore_new.o: relocation R_X86_64_32S against undefined symbol `_sigintr' can not be used when making a PIE object; recompile with -fPIC
- /usr/bin/ld: final link failed: Nonrepresentable section on output
- collect2: error: ld returned 1 exit status
- Makefile:104: recipe for target 'product_timestamp' failed
- make: *** [product_timestamp] Error 1
- Make exited with status 2
- CPU time: .159 seconds to compile + .049 seconds to elab + .205 seconds to link
复制代码
这个错误在网上把搜索了一下,没有发现解决方案。
请大神看看。
后面再贴切换为gcc4.8的结果。
切换为gcc 4.8.5之后,运行报的错误是一样的。
- vcs -full64 +v2k edge_detector.v
- Chronologic VCS (TM)
- Version L-2016.06_Full64 -- Sun Oct7 16:17:32 2018
- Copyright (c) 1991-2016 by Synopsys Inc.
- ALL RIGHTS RESERVED
- This program is proprietary and confidential information of Synopsys Inc.
- and may be used and disclosed only as authorized in a license agreement
- controlling such use and disclosure.
- Parsing design file 'edge_detector.v'
- Top Level Modules:
- edge_detector
- No TimeScale specified
- Starting vcs inline pass...
- 1 unique modules to generate
- 1 module and 0 UDP read.
- However, due to incremental compilation, no re-compilation is necessary.
- All of 0 modules done
- rm -f _csrc*.so pre_vcsobj_*.so share_vcsobj_*.so
- ld -shared-o .//../simv.daidir//_csrc0.so objs/amcQw_d.o
- rm -f _csrc0.so
- if [ -x ../simv ]; then chmod -x ../simv; fi
- g++-o ../simv-Wl,-rpath-link=./ -Wl,-rpath='$ORIGIN'/simv.daidir/ -Wl,-rpath=./simv.daidir/ -Wl,-rpath='$ORIGIN'/simv.daidir//scsim.db.dir-rdynamicamcQwB.o_prev_archive_1.so _csrc0.soSIM_l.o_csrc0.sormapats_mop.o rmapats.o rmar.ormar_llvm_0_1.o rmar_llvm_0_0.o/home/simon/CAD/synopsys/L-2016.06/linux64/lib/libzerosoft_rt_stubs.so /home/simon/CAD/synopsys/L-2016.06/linux64/lib/libvirsim.so /home/simon/CAD/synopsys/L-2016.06/linux64/lib/liberrorinf.so /home/simon/CAD/synopsys/L-2016.06/linux64/lib/libsnpsmalloc.so/home/simon/CAD/synopsys/L-2016.06/linux64/lib/libvcsnew.so /home/simon/CAD/synopsys/L-2016.06/linux64/lib/libsimprofile.so /home/simon/CAD/synopsys/L-2016.06/linux64/lib/libuclinative.so-Wl,-whole-archive /home/simon/CAD/synopsys/L-2016.06/linux64/lib/libvcsucli.so -Wl,-no-whole-archive/home/simon/CAD/synopsys/L-2016.06/linux64/lib/vcs_save_restore_new.o -ldl-lc -lm -lpthread -ldl
- /usr/bin/ld: /home/simon/CAD/synopsys/L-2016.06/linux64/lib/vcs_save_restore_new.o: relocation R_X86_64_32S against undefined symbol `_sigintr' can not be used when making a PIE object; recompile with -fPIC
- /usr/bin/ld: final link failed: Nonrepresentable section on output
- collect2: error: ld returned 1 exit status
- Makefile:104: recipe for target 'product_timestamp' failed
- make: *** [product_timestamp] Error 1
- Make exited with status 2
- CPU time: .107 seconds to compile + .019 seconds to elab + .092 seconds to link
复制代码
难道是要重启电脑?
另外我发现一个事情,gcc4.8.5和gcc7的文件不太一样,具体是:
执行ls -l *gcc*得到:
-rwxr-xr-x 1 root root428 5月72006 c89-gcc
-rwxr-xr-x 1 root root454 4月112011 c99-gcc
lrwxrwxrwx 1 root root21 10月7 16:16 gcc -> /etc/alternatives/gcc
-rwxr-xr-x 1 root root772280 3月192018 gcc-4.8
lrwxrwxrwx 1 root root22 7月26 14:25 gcc-7 -> x86_64-linux-gnu-gcc-7
lrwxrwxrwx 1 root root8 9月17 09:07 gcc-ar -> gcc-ar-7
-rwxr-xr-x 1 root root27088 3月192018 gcc-ar-4.8
lrwxrwxrwx 1 root root25 7月26 14:25 gcc-ar-7 -> x86_64-linux-gnu-gcc-ar-7
lrwxrwxrwx 1 root root8 9月17 09:07 gcc-nm -> gcc-nm-7
-rwxr-xr-x 1 root root27088 3月192018 gcc-nm-4.8
lrwxrwxrwx 1 root root25 7月26 14:25 gcc-nm-7 -> x86_64-linux-gnu-gcc-nm-7
lrwxrwxrwx 1 root root12 9月17 09:07 gcc-ranlib -> gcc-ranlib-7
-rwxr-xr-x 1 root root27088 3月192018 gcc-ranlib-4.8
lrwxrwxrwx 1 root root29 7月26 14:25 gcc-ranlib-7 -> x86_64-linux-gnu-gcc-ranlib-7
lrwxrwxrwx 1 root root5 9月17 09:07 x86_64-linux-gnu-gcc -> gcc-7
lrwxrwxrwx 1 root root7 3月192018 x86_64-linux-gnu-gcc-4.8 -> gcc-4.8
-rwxr-xr-x 1 root root 1010624 7月26 14:25 x86_64-linux-gnu-gcc-7
lrwxrwxrwx 1 root root8 9月17 09:07 x86_64-linux-gnu-gcc-ar -> gcc-ar-7
lrwxrwxrwx 1 root root10 3月192018 x86_64-linux-gnu-gcc-ar-4.8 -> gcc-ar-4.8
-rwxr-xr-x 1 root root27104 7月26 14:25 x86_64-linux-gnu-gcc-ar-7
lrwxrwxrwx 1 root root8 9月17 09:07 x86_64-linux-gnu-gcc-nm -> gcc-nm-7
lrwxrwxrwx 1 root root10 3月192018 x86_64-linux-gnu-gcc-nm-4.8 -> gcc-nm-4.8
-rwxr-xr-x 1 root root27104 7月26 14:25 x86_64-linux-gnu-gcc-nm-7
lrwxrwxrwx 1 root root12 9月17 09:07 x86_64-linux-gnu-gcc-ranlib -> gcc-ranlib-7
lrwxrwxrwx 1 root root14 3月192018 x86_64-linux-gnu-gcc-ranlib-4.8 -> gcc-ranlib-4.8
-rwxr-xr-x 1 root root27104 7月26 14:25 x86_64-linux-gnu-gcc-ranlib-7
现象是:gcc-7 -> x86_64-linux-gnu-gcc-7,x86_64-linux-gnu-gcc-7就是一个可执行文件。
而gcc4.8的版本中,x86_64-linux-gnu-gcc-4.8 -> gcc-4.8, gcc-4.8才是一个可执行文件。
这是不是说明gcc4.8.5执行的是32bit版本,而vcs是执行的64bit版本,这之间有不匹配的地方?
为什么每个回帖都要审核?一搞还一天。
我靠,不选择回复就不会审核?
你的方法靠谱!之前是忘了更改g++的版本!