Forums » Installation »
Verilator "make test" systemc library path was "linux" instead of "linux64"
Added by J Baxter about 3 years ago
Hi,
I've just compiled Verilator successfully, but the test scripts had a small problem picking up the right directory that systemc's libraries are.
My systemc version is 2.2.0 and verilator is 3.702. I'm running Ubunutu 9.04.
In test_sc, the generated (I presume) file Vtop.mk, under obj_dir, was getting generated with VM_SC_TARGET_ARCH = linux, which it uses to determine the systemc library directory.
The error was this:
make2: Entering directory `/home/orsoc1/Documents/julius/scratch/verilator-3.702/test_sc/obj_dir' make2: *** No rule to make target `/usr/share/systemc-2.2.0/lib-linux/libsystemc.a', needed by `simx'. Stop.
My systemc install directory didn't have lib-linux, but rather lib-linux64.
The simple solution was symlinking lib-linux64 to lib-linux - that made all tests for verilator pass.
I wasn't sure how to alter the generated VM_SC_TARGET_ARCH variable so that it was linux64 as opposed to linux, so I'm posting this message. Perhaps someone can tell me which is the best solution - a simple symlink in my systemc path, or should something else be changed when calling verilator?
Thanks,
Julius
Replies (4)
RE: Verilator "make test" systemc library path was "linux" instead of "linux64" - Added by Wilson Snyder about 3 years ago
VM_SC_TARGET_ARCH comes from the SYSTEMC_ARCH environment variable, which probably isn't set right.
setenv SYSTEMC_ARCH=linux64 then ./configure and remake verilator.
RE: Verilator "make test" systemc library path was "linux" instead of "linux64" - Added by J Baxter about 3 years ago
Thanks.
SYSTEMC_ARCH must be set to linux64 when doing the make, most of all, I found.
Cheers,
Julius
RE: Verilator "make test" systemc library path was "linux" instead of "linux64" - Added by shilan parsaean over 1 year ago
Hello,
In installing Verilator I encountered this error, what's the problem?
shilan@shilan-laptop:~/folder/verilator$ make test ------------------------------------------------------------ making verilator in src make[1]: Entering directory `/home/shilan/folder/verilator/src' cd obj_dbg && make -j 1 TGT=../../verilator_bin_dbg VL_DEBUG=1 -f ../Makefile_obj serial make[2]: Entering directory `/home/shilan/folder/verilator/src/obj_dbg' make[2]: Nothing to be done for `serial'. make[2]: Leaving directory `/home/shilan/folder/verilator/src/obj_dbg' cd obj_dbg && make TGT=../../verilator_bin_dbg VL_DEBUG=1 -f ../Makefile_obj make[2]: Entering directory `/home/shilan/folder/verilator/src/obj_dbg' Compile flags: g++ -I/usr/local/include -MMD -I. -I.. -I.. -I../../include -DYYDEBUG -ggdb -DVL_DEBUG -DDEFENV_SYSTEMC="" -DDEFENV_SYSTEMC_ARCH="" -DDEFENV_SYSTEMPERL="" -DDEFENV_SYSTEMPERL_INCLUDE="" -DDEFENV_VERILATOR_ROOT="/usr/local/share/verilator" make[2]: Leaving directory `/home/shilan/folder/verilator/src/obj_dbg' cd obj_opt && make -j 1 TGT=../../verilator_bin -f ../Makefile_obj serial make[2]: Entering directory `/home/shilan/folder/verilator/src/obj_opt' make[2]: Nothing to be done for `serial'. make[2]: Leaving directory `/home/shilan/folder/verilator/src/obj_opt' cd obj_opt && make TGT=../../verilator_bin -f ../Makefile_obj make[2]: Entering directory `/home/shilan/folder/verilator/src/obj_opt' Compile flags: g++ -I/usr/local/include -MMD -I. -I.. -I.. -I../../include -DYYDEBUG -O -DDEFENV_SYSTEMC="" -DDEFENV_SYSTEMC_ARCH="" -DDEFENV_SYSTEMPERL="" -DDEFENV_SYSTEMPERL_INCLUDE="" -DDEFENV_VERILATOR_ROOT="/usr/local/share/verilator" make[2]: Leaving directory `/home/shilan/folder/verilator/src/obj_opt' make[1]: Leaving directory `/home/shilan/folder/verilator/src' make[1]: Entering directory `/home/shilan/folder/verilator/test_c' /usr/bin/perl /home/shilan/folder/verilator/test_c/../bin/verilator --cc -f /home/shilan/folder/verilator/test_c/../test_v/input.vc top.v --trace %Error: Command Failed /home/shilan/folder/verilator/test_c/../verilator_bin --cc -f /home/shilan/folder/verilator/test_c/../test_v/input.vc top.v --trace make[1]: *** [prep] Error 9 make[1]: Leaving directory `/home/shilan/folder/verilator/test_c' make: *** [test_c] Error 2 shilan@shilan-laptop:~/folder/verilator$ make test ------------------------------------------------------------ making verilator in src make[1]: Entering directory `/home/shilan/folder/verilator/src' cd obj_dbg && make -j 1 TGT=../../verilator_bin_dbg VL_DEBUG=1 -f ../Makefile_obj serial make[2]: Entering directory `/home/shilan/folder/verilator/src/obj_dbg' make[2]: Nothing to be done for `serial'. make[2]: Leaving directory `/home/shilan/folder/verilator/src/obj_dbg' cd obj_dbg && make TGT=../../verilator_bin_dbg VL_DEBUG=1 -f ../Makefile_obj make[2]: Entering directory `/home/shilan/folder/verilator/src/obj_dbg' Compile flags: g++ -I/usr/local/include -MMD -I. -I.. -I.. -I../../include -DYYDEBUG -ggdb -DVL_DEBUG -DDEFENV_SYSTEMC="" -DDEFENV_SYSTEMC_ARCH="" -DDEFENV_SYSTEMPERL="" -DDEFENV_SYSTEMPERL_INCLUDE="" -DDEFENV_VERILATOR_ROOT="/usr/local/share/verilator" make[2]: Leaving directory `/home/shilan/folder/verilator/src/obj_dbg' cd obj_opt && make -j 1 TGT=../../verilator_bin -f ../Makefile_obj serial make[2]: Entering directory `/home/shilan/folder/verilator/src/obj_opt' make[2]: Nothing to be done for `serial'. make[2]: Leaving directory `/home/shilan/folder/verilator/src/obj_opt' cd obj_opt && make TGT=../../verilator_bin -f ../Makefile_obj make[2]: Entering directory `/home/shilan/folder/verilator/src/obj_opt' Compile flags: g++ -I/usr/local/include -MMD -I. -I.. -I.. -I../../include -DYYDEBUG -O -DDEFENV_SYSTEMC="" -DDEFENV_SYSTEMC_ARCH="" -DDEFENV_SYSTEMPERL="" -DDEFENV_SYSTEMPERL_INCLUDE="" -DDEFENV_VERILATOR_ROOT="/usr/local/share/verilator" make[2]: Leaving directory `/home/shilan/folder/verilator/src/obj_opt' make[1]: Leaving directory `/home/shilan/folder/verilator/src' make[1]: Entering directory `/home/shilan/folder/verilator/test_c' /usr/bin/perl /home/shilan/folder/verilator/test_c/../bin/verilator --cc -f /home/shilan/folder/verilator/test_c/../test_v/input.vc top.v --trace %Error: Command Failed /home/shilan/folder/verilator/test_c/../verilator_bin --cc -f /home/shilan/folder/verilator/test_c/../test_v/input.vc top.v --trace make[1]: *** [prep] Error 9 make[1]: Leaving directory `/home/shilan/folder/verilator/test_c' make: *** [test_c] Error 2
RE: Verilator "make test" systemc library path was "linux" instead of "linux64" - Added by Wilson Snyder over 1 year ago
I don't think this is related to the previous question, but run verilator with --debug. I suspect it's crashing for some reason, sorry usually it prints a better error. If you don't get an obvious message, also try --debug --gdbbt, and send the results.
(1-4/4)
![[logo]](/img/veripool_small.png)