nvdla / vp

Virtual Platform for NVDLA
Other
136 stars 81 forks source link

failed to build vp for nv_small #10

Closed JunningWu closed 6 years ago

JunningWu commented 6 years ago

two problems:

  1. cmake flags does not take effect. when typing in

cmake -DCMAKE_INSTALL_PREFIX=build -DSYSTEMC_PREFIX=/home/nvdla/systemc-2.3.0/ -DNVDLA_HW_PREFIX=/home/nvdla/NVDLA/git-nvdla/nvdla -DNVDLA_HW_PROJECT=nv_small

finding package result is for nv_full

-- NVDLA HW VERSION = nvdla_os_initial -- NVDLA CMOD include directory = /home/nvdla/NVDLA/git-nvdlav1/outdir/nv_full/cmod/release/include -- NVDLA CMOD library directory = /home/nvdla/NVDLA/git-nvdlav1/outdir/nv_full/cmod/release/lib -- NVDLA CMOD library = /home/nvdla/NVDLA/git-nvdlav1/outdir/nv_full/cmod/release/lib/libnvdla_cmod.so

  1. when I change the env like this

set(NVDLA_CMOD_INCLUDE_DIR "/home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/cmod/release/include") set(NVDLA_CMOD_LIBRARY_DIR "/home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/cmod/release/lib") set(NVDLA_CMOD_LIBRARY "/home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/cmod/release/lib/libnvdla_cmod.so")

there are some errors related to the built libnvdla_cmod.so

Linking CXX shared library libnvdla.so [ 88%] Built target nvdla [ 89%] Building CXX object CMakeFiles/aarch64_toplevel.dir/src/aarch64_toplevel.cpp.o Linking CXX executable aarch64_toplevel /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/cmod/release/lib/libnvdla_cmod.so: undefined reference tosc_core::sc_signal<bool, (sc_core::sc_writer_policy)0>::do_update()' /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/cmod/release/lib/libnvdla_cmod.so: undefined reference to sc_core::sc_api_version_2_3_1<&sc_core::SC_DISABLE_VIRTUAL_BIND_UNDEFINED_>::sc_api_version_2_3_1(sc_core::sc_writer_policy)' /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/cmod/release/lib/libnvdla_cmod.so: undefined reference tosc_core::sc_object::simulation_phase_callback()' collect2: error: ld returned 1 exit status make[2]: [aarch64_toplevel] Error 1 make[1]: [CMakeFiles/aarch64_toplevel.dir/all] Error 2 make: *** [all] Error 2 `

JunningWu commented 6 years ago

ok, when I change the systemC to 2.3.1, I can compile and make and Install vp successfully, but there has been some other error when running VP.

bridge: tlm2c_elaborate.. Error: /OSCI_TLM-2/multi_socket: ERROR in instance nvdla.nvdla_core.nvdla_core.cdma.multi_passthrough_target_socket_0: Not bound to tlm_socket. In file: /home/nvdla/systemc/include/tlm_utils/multi_passthrough_target_socket.h:111

JunningWu commented 6 years ago

when I try this solution, the error remains. http://forums.accellera.org/topic/5661-unbound-multi_passthrough_initiator_socketmulti_passthrough_target_socket/

jwise commented 6 years ago

You need exactly SystemC 2.3.0. Looks like the original error was perhaps a header mismatch between SystemC 2.3.0 and 2.3.1 (system headers were SystemC 2.3.1, libraries were SystemC 2.3.0)? Amazingly, SystemC 2.3.0 and 2.3.1 are not binary compatible -- or, even, source compatible.

nvhook commented 6 years ago

@JunningWu is this issue resolved?

JunningWu commented 6 years ago

@nvhook yes, please close this issue