Search the Community
Showing results for tags 'compile'.
-
Hello, I downloaded the latest systemC systemc-2.3.3, compiled and installed it locally. I also ran some of the tests and an example, and it all works fine. This is on RHEL 6.0, using GCC 6.3. During the compile, I got warnings like this: libtool: warning: library '/nis/asic/apps2/linux/sw/verilog/xcelium/XLM_20.09.011/tools.lnx86/cdsgcc/gcc/6.3/install/lib/../lib64/libstdc++.la' was moved. Searching on that warning (or similar) didn't turn up much, and the compile/install all works fine, so I thought it was no big deal. However, this same warning seems to be triggering an error for UVM-SystemC compile. I've downloaded: uvm-systemc-1.0-beta3, and I'm compiling it by pointing to the above newly compiled/installed systemC. ../configure --prefix=/nis/asic/gls_dump/ricardga/uvm-systemc-1.0-beta3 --with-systemc=/nis/asic/gls_dump/ricardga/systemc-2.3.3 --enable-debug --enable-profiling=instrument ------------------------------------------------------------------------------ Configuration summary of UVM-SystemC 1.0-beta3 for x86_64-pc-linux-gnu ------------------------------------------------------------------------------ Directory setup (based on SystemC layout): Installation prefix: /nis/asic/gls_dump/ricardga/uvm-systemc-1.0-beta3 Header files: /nis/asic/gls_dump/ricardga/uvm-systemc-1.0-beta3/include Libraries: /nis/asic/gls_dump/ricardga/uvm-systemc-1.0-beta3/lib Documentation: /nis/asic/gls_dump/ricardga/uvm-systemc-1.0-beta3/docs Examples: /nis/asic/gls_dump/ricardga/uvm-systemc-1.0-beta3/examples Target architecture: linux64 Build settings: Compiler (flags): g++ Preprocessor flags: SystemC CFLAGS: -I/nis/asic/gls_dump/ricardga/systemc-2.3.3/include SystemC LIBS: -L/nis/asic/gls_dump/ricardga/systemc-2.3.3/lib-linux64 -lsystemc Additional LIBS: Enable compiler optimizations: yes Include debug symbols: yes Generate instrumentation calls: instrument Regular expression library: POSIX ------------------------------------------------------------------------------ But then when I call gmake, I'm getting an error that seems related to the warning: > gmake Making all in docs gmake[1]: Entering directory `/users/ricardga/Downloads/uvm-systemc-1.0-beta3/objdir/docs' gmake[1]: Nothing to be done for `all'. gmake[1]: Leaving directory `/users/ricardga/Downloads/uvm-systemc-1.0-beta3/objdir/docs' Making all in src gmake[1]: Entering directory `/users/ricardga/Downloads/uvm-systemc-1.0-beta3/objdir/src' gmake all-recursive gmake[2]: Entering directory `/users/ricardga/Downloads/uvm-systemc-1.0-beta3/objdir/src' Making all in uvmsc gmake[3]: Entering directory `/users/ricardga/Downloads/uvm-systemc-1.0-beta3/objdir/src/uvmsc' gmake[4]: Entering directory `/users/ricardga/Downloads/uvm-systemc-1.0-beta3/objdir/src/uvmsc' CXX base/uvm_component.lo CXX base/uvm_component_name.lo CXX base/uvm_coreservice_t.lo CXX base/uvm_default_coreservice_t.lo CXX base/uvm_event_callback.lo CXX base/uvm_event.lo CXX base/uvm_globals.lo CXX base/uvm_mutex.lo CXX base/uvm_object.lo CXX base/uvm_object_globals.lo CXX base/uvm_root.lo CXX base/uvm_transaction.lo CXX base/uvm_version.lo CXX cb/uvm_callback.lo CXX cb/uvm_callbacks_base.lo CXX cb/uvm_typeid.lo CXX comps/uvm_agent.lo CXX conf/uvm_config_db_options.lo CXX conf/uvm_resource_base.lo CXX conf/uvm_resource_db_options.lo CXX conf/uvm_resource_options.lo CXX conf/uvm_resource_pool.lo CXX dpi/uvm_hdl.lo CXX factory/uvm_default_factory.lo CXX factory/uvm_factory_override.lo CXX misc/uvm_misc.lo CXX misc/uvm_scope_stack.lo CXX misc/uvm_status_container.lo CXX phasing/uvm_bottomup_phase.lo CXX phasing/uvm_common_phases.lo CXX phasing/uvm_domain.lo CXX phasing/uvm_objection.lo CXX phasing/uvm_phase.lo CXX phasing/uvm_process_phase.lo CXX phasing/uvm_runtime_phases.lo [134/1811] CXX phasing/uvm_topdown_phase.lo CXX policy/uvm_comparer.lo CXX policy/uvm_packer.lo CXX policy/uvm_recorder.lo CXX print/uvm_printer.lo CXX print/uvm_printer_globals.lo CXX print/uvm_table_printer.lo CXX print/uvm_tree_printer.lo CXX reg/uvm_mem.lo CXX reg/uvm_mem_mam.lo CXX reg/uvm_mem_region.lo CXX reg/uvm_reg.lo CXX reg/uvm_reg_adapter.lo CXX reg/uvm_reg_backdoor.lo CXX reg/uvm_reg_block.lo CXX reg/uvm_reg_field.lo CXX reg/uvm_reg_fifo.lo CXX reg/uvm_reg_file.lo CXX reg/uvm_reg_indirect_data.lo CXX reg/uvm_reg_indirect_ftdr_seq.lo CXX reg/uvm_reg_item.lo CXX reg/uvm_reg_map.lo CXX reg/uvm_reg_model.lo CXX reg/uvm_reg_read_only_cbs.lo CXX reg/uvm_reg_tlm_adapter.lo CXX reg/uvm_reg_write_only_cbs.lo CXX reg/uvm_vreg.lo CXX reg/uvm_vreg_field.lo CXX reg/uvm_vreg_field_cbs.lo CXX report/uvm_default_report_server.lo CXX report/uvm_report_catcher.lo CXX report/uvm_report_catcher_data.lo CXX report/uvm_report_handler.lo CXX report/uvm_report_message.lo CXX report/uvm_report_object.lo CXX report/uvm_report_server.lo CXX seq/uvm_sequence_base.lo CXX seq/uvm_sequence_item.lo CXX seq/uvm_sequencer_base.lo CXXLD libuvm-systemc.la libtool: warning: library '/nis/asic/apps2/linux/sw/verilog/xcelium/XLM_20.09.011/tools.lnx86/cdsgcc/gcc/6.3/install/lib/../lib64/libstdc++.la' was moved. gmake[4]: Leaving directory `/users/ricardga/Downloads/uvm-systemc-1.0-beta3/objdir/src/uvmsc' gmake[3]: Leaving directory `/users/ricardga/Downloads/uvm-systemc-1.0-beta3/objdir/src/uvmsc' Making all in . gmake[3]: Entering directory `/users/ricardga/Downloads/uvm-systemc-1.0-beta3/objdir/src' gmake[3]: Warning: File `uvmsc/libuvm-systemc.la' has modification time 0.031 s in the future CXXLD libuvm-systemc.la libtool: error: cannot find the library '/glad/common/pkgsData/gcc-v6.3.0p3/Linux/RHEL6.0-2013-x86_64/lib/../lib64/libstdc++.la' or unhandled argument '/glad/common/pkgsData/gcc-v6.3.0p3/Linux/RHEL6.0-2013-x86_64/lib/../lib64/libstdc++.la' gmake[3]: *** [libuvm-systemc.la] Error 1 gmake[3]: Leaving directory `/users/ricardga/Downloads/uvm-systemc-1.0-beta3/objdir/src' gmake[2]: *** [all-recursive] Error 1 gmake[2]: Leaving directory `/users/ricardga/Downloads/uvm-systemc-1.0-beta3/objdir/src' gmake[1]: *** [all] Error 2 gmake[1]: Leaving directory `/users/ricardga/Downloads/uvm-systemc-1.0-beta3/objdir/src' gmake: *** [all-recursive] Error 1 Sure enough that library/path in the error doesn't exist. But I don't know how to resolve the issue. Anyone have any ideas? Thank you,
-
Hello all, I am finding that SystemC 2.2 cannot harmoniously compile with boost 1.58 when -DSC_INCLUDE_DYNAMIC_PROCESSES is defined. It creates a condition where SystemC's embedded boost declarations are previously defined in the real boost. Is there any workaround for this without completely hacking SystemC's boost sources to properly embed boost in "sc_boost" namespace instead of it colliding with the boost namespace from a different release? Details of an example error: In file included from /tmp/systemc/include/sysc/kernel/sc_boost.h:58:0, from /tmp/systemc/include/sysc/kernel/sc_dynamic_processes.h:54, from /tmp/systemc/include/systemc:94, from ExampleX.h:32, from Example.h:32, from Example.cpp:25 /tmp/systemc/include/sysc/packages/boost/ref.hpp:31:25: error: redefinition of 'class boost::reference_wrapper<Type>' In file included from /tmp/boost/1.58.0/boost/ref.hpp:15:0, from /tmp/boost/1.58.0/boost/tuple/tuple.hpp:27, from /tmp/boost/1.58.0/boost/multi_index/detail/index_base.hpp:28, from /tmp/boost/1.58.0/boost/multi_index/detail/base_type.hpp:21, from /tmp/boost/1.58.0/boost/multi_index_container.hpp:34, from ExampleY.h:24, from Example.h:27, from Example.cpp:25: PS. We aren't able to move to SystemC 2.3, but would like to know if this was solved in recent editions?
-
Hi, with VCS, I am trying to register with the uvm factory an object which is embedded inside a SV interface, using the hierarchy name as a type name. But VCS won't compile, whereas this scheme works with Questa. Here is the code snippet : interface my_if(); import my_pkg::*; localparam string my_path=$sformatf("%m"); class my_c function new() .... typedef uvm_object_registry#(my_c,{"my_c",my_path}) type_id; ... etc ... endclass ... etc ... endinterface I may be wrong, but the LRM doesn't seem to specify if this is supposed to work at run/compile time. Would someone know how to make this functionality work with VCS ?