[logo] 
 
Home
News
Activity
About/Contact
Major Tools
  Dinotrace
  Verilator
  Verilog-mode
  Verilog-Perl
Other Tools
  BugVise
  CovVise
  Force-Gate-Sim
  Gspice
  IPC::Locker
  Rsvn
  Schedule::Load
  SVN::S4
  Synopsys-modes
  SystemPerl
  Verilog-Pli
  Voneline
  Vregs
General Info
  Papers

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)