UVM-SystemC 库 'make check' 错误

UVM-SystemC library 'make check' error

我在 uvm-systemc-1.0-alpha1 库的 objdir 中的 make check 中遇到以下错误。

../configure
make 
make install

命令工作正常。另外,我已经安装了 SystemC-2.3.1,它工作正常。来自 make check makecheck.log

的详细日志
  CXXLD  simple/callbacks/basic/test
../../src/uvmsc/.libs/libuvm-systemc.so: undefined reference to `sc_core::sc_time::to_string[abi:cxx11]() const'
../../src/uvmsc/.libs/libuvm-systemc.so: undefined reference to `sc_dt::convert_to_fmt(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sc_dt::sc_numrep, bool)'
../../src/uvmsc/.libs/libuvm-systemc.so: undefined reference to `sc_dt::sc_uint_base::to_string[abi:cxx11](sc_dt::sc_numrep, bool) const'
../../src/uvmsc/.libs/libuvm-systemc.so: undefined reference to `sc_dt::sc_uint_base::to_string[abi:cxx11](sc_dt::sc_numrep) const'
collect2: error: ld returned 1 exit status
Makefile:1064: recipe for target 'simple/callbacks/basic/test' failed
make[3]: *** [simple/callbacks/basic/test] Error 1
make[3]: Leaving directory '/home/mayur/DV/SystemC/uvm-systemc-1.0/objdir/examples/uvmsc'
Makefile:1637: recipe for target 'check-am' failed
make[2]: *** [check-am] Error 2
make[2]: Leaving directory '/home/mayur/DV/SystemC/uvm-systemc-1.0/objdir/examples/uvmsc'
Makefile:310: recipe for target 'check-recursive' failed
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/home/mayur/DV/SystemC/uvm-systemc-1.0/objdir/examples'
Makefile:341: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1

看起来链接器无法找到与 SystemC 相关的变量。这可能是因为调用检查相关测试用例的 uvm-systemc-1.0-alpha 脚本无法使用您的 SystemC-2.3.1 的路径。

重新运行 configure 系统中的 SystemC-2.3.1 路径。

../configure --with-systemc=/path/to/your/systemc-2.3.1
e.g.
../configure --with-systemc=/home/mayur/DV/SystemC/SystemC-2.3.1   
您的 uvm-systemc-1.0/ 中的

文件 INSTALL 包含所需的说明。

重新运行 脚本确保在 objdir/Makefile 中将以下变量设置为您的 SystemC-2.3.1 库路径。

SYSTEMC_CFLAGS = -I<your path>/systemc-2.3.1/include
SYSTEMC_LIBS = -L<your path>/systemc-2.3.1/lib -lsystemc