lowRISC / lowRISC/opentitan

"make test" not working

Open
#25,874 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

### Description

While installing the software and trying to run make test this is the log that appears

```
making verilator in src
make -C src
make[1]: Entering directory '/root/opentitan/verilator/src'
make -C obj_dbg -j 1 TGT=../../bin/verilator_bin_dbg VL_DEBUG=1 -f ../Makefile_obj serial
make[2]: Entering directory '/root/opentitan/verilator/src/obj_dbg'
make[2]: Nothing to be done for 'serial'.
make[2]: Leaving directory '/root/opentitan/verilator/src/obj_dbg'
make -C obj_dbg TGT=../../bin/verilator_bin_dbg VL_DEBUG=1 -f ../Makefile_obj
make[2]: Entering directory '/root/opentitan/verilator/src/obj_dbg'
Compile flags: g++ -Og -ggdb -gz -DVL_DEBUG -D_GLIBCXX_DEBUG -MMD -I. -I.. -I.. -I../../include -I../../include -MP -W -Wall -Wextra -Wfloat-conversion -Wlogical-op -faligned-new -Wno-unused-parameter -Wno-shadow -Werror -DDEFENV_SYSTEMC="" -DDEFENV_SYSTEMC_ARCH="" -DDEFENV_SYSTEMC_INCLUDE="" -DDEFENV_SYSTEMC_LIBDIR="" -DDEFENV_VERILATOR_ROOT="/usr/local/share/verilator"
make[2]: Leaving directory '/root/opentitan/verilator/src/obj_dbg'
make -C obj_dbg TGT=../../bin/verilator_coverage_bin_dbg VL_DEBUG=1 VL_VLCOV=1 -f ../Makefile_obj serial_vlcov
make[2]: Entering directory '/root/opentitan/verilator/src/obj_dbg'
make[2]: Nothing to be done for 'serial_vlcov'.
make[2]: Leaving directory '/root/opentitan/verilator/src/obj_dbg'
make -C obj_dbg TGT=../../bin/verilator_coverage_bin_dbg VL_DEBUG=1 VL_VLCOV=1 -f ../Makefile_obj
make[2]: Entering directory '/root/opentitan/verilator/src/obj_dbg'
Compile flags: g++ -Og -ggdb -gz -DVL_DEBUG -D_GLIBCXX_DEBUG -MMD -I. -I.. -I.. -I../../include -I../../include -MP -W -Wall -Wextra -Wfloat-conversion -Wlogical-op -faligned-new -Wno-unused-parameter -Wno-shadow -Werror -DDEFENV_SYSTEMC="" -DDEFENV_SYSTEMC_ARCH="" -DDEFENV_SYSTEMC_INCLUDE="" -DDEFENV_SYSTEMC_LIBDIR="" -DDEFENV_VERILATOR_ROOT="/usr/local/share/verilator"
make[2]: Leaving directory '/root/opentitan/verilator/src/obj_dbg'
make -C obj_opt -j 1 TGT=../../bin/verilator_bin -f ../Makefile_obj serial
make[2]: Entering directory '/root/opentitan/verilator/src/obj_opt'
make[2]: Nothing to be done for 'serial'.
make[2]: Leaving directory '/root/opentitan/verilator/src/obj_opt'
make -C obj_opt TGT=../../bin/verilator_bin -f ../Makefile_obj
make[2]: Entering directory '/root/opentitan/verilator/src/obj_opt'
Compile flags: g++ -O2 -MMD -I. -I.. -I.. -I../../include -I../../include -MP -W -Wall -Wextra -Wfloat-conversion -Wlogical-op -faligned-new -Wno-unused-parameter -Wno-shadow -Werror -DDEFENV_SYSTEMC="" -DDEFENV_SYSTEMC_ARCH="" -DDEFENV_SYSTEMC_INCLUDE="" -DDEFENV_SYSTEMC_LIBDIR="" -DDEFENV_VERILATOR_ROOT="/usr/local/share/verilator"
make[2]: Leaving directory '/root/opentitan/verilator/src/obj_opt'
make[1]: Leaving directory '/root/opentitan/verilator/src'
test_regress/t/t_a1_first_cc.pl
======================================================================
dist/t_a1_first_cc: ==================================================
-Skip: dist/t_a1_first_cc: scenario 'dist' not enabled for test
dist/t_a1_first_cc: -Skip: Skip: scenario 'dist' not enabled for test
==SUMMARY: Passed 0 Failed 0 Unsup 0 Time 0:00
======================================================================
vlt/t_a1_first_cc: ==================================================
perl ../bin/verilator --debug --debugi 0 --gdbbt --no-dump-tree -V
warning: File "/root/opentitan/verilator/test_regress/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
No stack.
warning: File "/root/opentitan/verilator/test_regress/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
add-auto-load-safe-path /root/opentitan/verilator/test_regress/.gdbinit
line to your configuration file "/root/.gdbinit".
To completely disable this security protection add
set auto-load safe-path /
line to your configuration file "/root/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual. E.g., run from the shell:
info "(gdb)Auto-loading safe path"
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Starting Verilator 4.210 2021-07-07 rev v4.210
Starting Verilator 4.210 2021-07-07 rev v4.210
Verilator 4.210 2021-07-07 rev v4.210

Copyright 2003-2021 by Wilson Snyder. Verilator is free software; you can
redistribute it and/or modify the Verilator internals under the terms of
either the GNU Lesser General Public License Version 3 or the Perl Artistic
License Version 2.0.

See https://verilator.org for documentation

Summary of configuration:
Compiled in defaults if not in environment:
SYSTEMC =
SYSTEMC_ARCH =
SYSTEMC_INCLUDE =
SYSTEMC_LIBDIR =
VERILATOR_ROOT = /usr/local/share/verilator
SystemC system-wide = 0

Environment:
MAKE = make
PERL =
SYSTEMC =
SYSTEMC_ARCH =
SYSTEMC_INCLUDE =
SYSTEMC_LIBDIR =
VERILATOR_ROOT = /root/opentitan/verilator/test_regress/..
VERILATOR_BIN =

Features (based on environment or compiled-in support):
SystemC found = 0
[Inferior 1 (process 3779) exited normally]
No stack.
perl /root/opentitan/verilator/test_regress/../bin/verilator --prefix Vt_a1_first_cc ../obj_vlt/t_a1_first_cc/Vt_a1_first_cc__main.cpp --exe --make gmake --x-assign unique -cc -Mdir obj_vlt/t_a1_first_cc -OD --debug-check --comp-limit-members 10 --debug --debugi 0 --gdbbt --no-dump-tree --trace --clk clk -f input.vc +define+TEST_OBJ_DIR=obj_vlt/t_a1_first_cc t/t_a1_first_cc.v > obj_vlt/t_a1_first_cc/vlt_compile.log
warning: File "/root/opentitan/verilator/test_regress/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
No stack.
warning: File "/root/opentitan/verilator/test_regress/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
add-auto-load-safe-path /root/opentitan/verilator/test_regress/.gdbinit
line to your configuration file "/root/.gdbinit".
To completely disable this security protection add
set auto-load safe-path /
line to your configuration file "/root/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual. E.g., run from the shell:
info "(gdb)Auto-loading safe path"
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Starting Verilator 4.210 2021-07-07 rev v4.210
Starting Verilator 4.210 2021-07-07 rev v4.210
[Inferior 1 (process 3800) exited normally]
No stack.
make -C obj_vlt/t_a1_first_cc -f /root/opentitan/verilator/test_regress/Makefile_obj --no-print-directory VM_PREFIX=Vt_a1_first_cc TEST_OBJ_DIR=obj_vlt/t_a1_first_cc CPPFLAGS_DRIVER=-DT_A1_FIRST_CC OPT_FAST=-O0 OPT_GLOBAL=-O0 Vt_a1_first_cc > obj_vlt/t_a1_first_cc/vlt_gcc.log
driver: Entering directory '/root/opentitan/verilator/test_regress/obj_vlt/t_a1_first_cc'
g++ -I. -Wall -Wextra -Wfloat-conversion -Wlogical-op -Werror -MMD -I/root/opentitan/verilator/test_regress/../include -I/root/opentitan/verilator/test_regress/../include/vltstd -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=0 -faligned-new -fcf-protection=none -Wno-bool-operation -Wno-sign-compare -Wno-uninitialized -Wno-unused-but-set-variable -Wno-unused-parameter -Wno-unused-variable -Wno-shadow -std=gnu++14 -DVERILATOR=1 -DVL_DEBUG=1 -DTEST_OBJ_DIR=obj_vlt/t_a1_first_cc -DVM_PREFIX=Vt_a1_first_cc -DVM_PREFIX_INCLUDE="" -DT_A1_FIRST_CC -O0 -c -o Vt_a1_first_cc__main.o ../../obj_vlt/t_a1_first_cc/Vt_a1_first_cc__main.cpp
g++ Vt_a1_first_cc__main.o verilated.o verilated_vcd_c.o Vt_a1_first_cc__ALL.a -o Vt_a1_first_cc
driver: Leaving directory '/root/opentitan/verilator/test_regress/obj_vlt/t_a1_first_cc'
obj_vlt/t_a1_first_cc/Vt_a1_first_cc > obj_vlt/t_a1_first_cc/vlt_sim.log
*-* All Finished *-*
- t/t_a1_first_cc.v:17: Verilog $finish
vlt/t_a1_first_cc: Self PASSED
==SUMMARY: Passed 1 Failed 0 Unsup 0 Time 0:05
==SUMMARY: Passed 1 Failed 0 Unsup 0 Time 0:05

======================================================================
TESTS DONE, PASSED: Passed 1 Failed 0 Unsup 0 Time 0:05
test_regress/t/t_a2_first_sc.pl
======================================================================
dist/t_a2_first_sc: ==================================================
-Skip: dist/t_a2_first_sc: scenario 'dist' not enabled for test
dist/t_a2_first_sc: -Skip: Skip: scenario 'dist' not enabled for test
==SUMMARY: Passed 0 Failed 0 Unsup 0 Time 0:00
======================================================================
vlt/t_a2_first_sc: ==================================================
-Skip: vlt/t_a2_first_sc: Test requires SystemC; ignore error since not installed

vlt/t_a2_first_sc: -Skip: Skip: Test requires SystemC; ignore error since not installed
==SUMMARY: Passed 0 Failed 0 Skipped 1 Unsup 0 Time 0:00
==SUMMARY: Passed 0 Failed 0 Skipped 1 Unsup 0 Time 0:00

======================================================================
#vlt/t_a2_first_sc: -Skip: Skip: Test requires SystemC; ignore error since not installed
TESTS DONE, PASSED w/SKIPS: Passed 0 Failed 0 Skipped 1 Unsup 0 Time 0:00
make -C test_regress
make[1]: Entering directory '/root/opentitan/verilator/test_regress'
/usr/bin/perl driver.pl -j 0 --quiet --rerun --vlt --vltmt --dist
%Error: Can't use -j: Can't locate Parallel/Forker.pm in @INC (you may need to install the Parallel::Forker module) (@INC contains: . /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at (eval 12) line 1.
BEGIN failed--compilation aborted at (eval 12) line 1.

make[1]: *** [Makefile:51: test] Error 255
make[1]: Leaving directory '/root/opentitan/verilator/test_regress'
make: *** [Makefile:261: test_regress] Error 2
```

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with test_regress/Makefile and test_regress/driver.pl, following the `make test` path that invokes the Perl driver with `-j 0`. Check the reported Parallel/Forker.pm lookup and verify the test suite completes without the missing-module error.

Written by the indexing model from the issue text.

Assessment

Tech stack
perl
Domain
testing-qa
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.