【发布时间】:2017-08-28 15:16:42
【问题描述】:
您好,我在 Ubuntu 16.04 上安装了 Modelsim 32 位版本。 我还安装了相关的 32 位库,它工作正常。 (模拟对其他项目效果很好)
但是,当我尝试在pulpinino 运行helloworld 时,我遇到了这个问题。
make helloworld // 100% fine
make vcompile // 100% fine
make helloworld.vsim // this gives following issue. in vsim
** Fatal: ** Error: (vsim-3828) Could not link
### 'vsim_auto_compile.so': cmd = '/home/ashan/intelFPGA_pro/17.0/modelsim_ase/gcc-4.7.4-linux/bin/gcc -shared -fPIC -m32 -B/usr/lib32
-o "/tmp/ashan@e420_dpi_8127/linuxpe_gcc-4.7.4/vsim_auto_compile.so" /home/ashan/git/pulp/pulpino/vsim/work/_dpi/auto_compile@/linuxpe_gcc-4.7.4/*.o '
我认为-o "/tmp/ashan@e420_dpi_8127/linuxpe_gcc-4.7.4/vsim_auto_compile.so" 中存在问题,因为没有这样的文件。
有人可以帮忙解决这个问题吗?
[更新] 这是vsim的输出日志
Reading pref.tcl
# 10.5c
# source tcl_files/run.tcl
# vsim -quiet tb -L pulpino_lib -L axi_node_lib -L apb_node_lib -L axi_mem_if_DP_lib -L axi_spi_slave_lib -L axi_spi_master_lib -L apb_uart_sv_lib -L apb_gpio_lib -L apb_event_unit_lib -L apb_spi_master_lib -L fpu_lib -L apb_pulpino_lib -L apb_fll_if_lib -L core2axi_lib -L apb_timer_lib -L axi2apb_lib -L apb_i2c_lib -L zero_riscy_lib -L axi_slice_dc_lib -L riscv_lib -L apb_uart_lib -L axi_slice_lib -L adv_dbg_if_lib -L apb2per_lib "+nowarnTRAN" "+nowarnTSCALE" "+nowarnTFMPC" "+MEMLOAD=PRELOAD" -t ps -voptargs="+acc -suppress 2103" -GTEST="" -gRISCY_RV32F=0 -gZERO_RV32E=0 -gZERO_RV32M=0 -gUSE_ZERO_RISCY=0
# Start time: 15:23:08 on Aug 30,2017
# ** Warning: (vsim-8311) System Verilog assertions are supported only in Questasim.
# ** Fatal: ** Error: (vsim-3828) Could not link 'vsim_auto_compile.so': cmd = '/home/ashan/intelFPGA_pro/17.0/modelsim_ase/gcc-4.7.4-linux/bin/gcc -shared -fPIC -m32 -B/usr/lib32 -o "/tmp/ashan@e420_dpi_24219/linuxpe_gcc-4.7.4/vsim_auto_compile.so" /home/ashan/git/pulp/pulpino/vsim/work/_dpi/auto_compile@/linuxpe_gcc-4.7.4/*.o '
# (vsim-50) A call to system(/home/ashan/intelFPGA_pro/17.0/modelsim_ase/gcc-4.7.4-linux/bin/gcc -shared -fPIC -m32 -B/usr/lib32 -o "/tmp/ashan@e420_dpi_24219/linuxpe_gcc-4.7.4/vsim_auto_compile.so" /home/ashan/git/pulp/pulpino/vsim/work/_dpi/auto_compile@/linuxpe_gcc-4.7.4/*.o >'/tmp/questatmp.WVLMae' 2>&1) returned error code '1'.
# The logfile contains the following messages:
# /home/ashan/intelFPGA_pro/17.0/modelsim_ase/gcc-4.7.4-linux/bin/../libexec/gcc/i686-pc-linux-gnu/4.7.4/ld: /usr/lib32/crti.o: unrecognized relocation (0x2b) in section `.init'
# /home/ashan/intelFPGA_pro/17.0/modelsim_ase/gcc-4.7.4-linux/bin/../libexec/gcc/i686-pc-linux-gnu/4.7.4/ld: final link failed: Bad value
# collect2: error: ld returned 1 exit status
#
# No such file or directory. (errno = ENOENT)
#
#
# FATAL ERROR while loading design
# Error loading design
# End time: 15:23:09 on Aug 30,2017, Elapsed time: 0:00:01
# Errors: 1, Warnings: 1
主要问题是这个
# The logfile contains the following messages:
# /home/ashan/intelFPGA_pro/17.0/modelsim_ase/gcc-4.7.4-linux/bin/../libexec/gcc/i686-pc-linux-gnu/4.7.4/ld: /usr/lib32/crti.o: unrecognized relocation (0x2b) in section `.init'
这里 ld(linker) 的 SEARCH_DIR 指向 /usr/lib32/
似乎存在兼容性问题。有人解决了这个问题吗?
【问题讨论】:
标签: ubuntu ubuntu-16.04 32-bit modelsim riscv