Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20638 Discussions

Intel HLS Compiler [Could not link 'vsim_auto_compile.so']

Altera_Forum
Honored Contributor II
4,581 Views

Hey, 

 

I am attempting to get the 'hls multiplier example' to work using Quartus Prime 17.1 running Ubuntu 17.10. After troubleshooting I have been able to get ModelSIM working and fixed the broken PATHs defined in init_hls.sh. After running: 

 

source init_hls.sh and make in the example folder I get the error '** fatal: ** error: (vsim-3828) could not link 'vsim_auto_compile.so'. Any help would be greatly appreciated: here is the relevent section of the log file generated by Quartus/i++ (the entire file exceeded the character post limit): 

 

******************************************************* i++ debug log file This file contains diagnostic information. Any errors or unexpected behavior encountered when running i++ should be reported as bugs. Thank you. ******************************************************* Compiler Command: i++ -I/usr/include/c++/4.8.5 -I/usr/include/c++/4.8.5/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu/c++/4.8 -L/home/themajesticbaker/intelFPGA_lite/17.1/hls/linux64/lib/dspba/linux64 -march=CycloneV mult.cpp -o fpga.exe # ** Warning: (vsim-3015) tb/simulation/submodules/acl_push.v(151): - Port size (1) does not match connection size (8) for port 'data_out'. The port definition is at: tb/simulation/submodules/acl_token_fifo_counter.v(38).# Time: 0 ps Iteration: 0 Instance: /tb/mymult_inst/mymult_internal_inst/mymult_internal/themymult_function/thebb_mymult_B0_runOnce/thebb_mymult_B0_runOnce_stall_region/thei_acl_push_i1_wt_limpush_mymult/thei_acl_push_i1_wt_limpush_mymult3/genblk1/genblk2/fifo File: tb/simulation/submodules/acl_token_fifo_counter.v# Compiling /tmp/themajesticbaker@themajesticbaker_dpi_4807/linuxpe_gcc-4.7.4/exportwrapper.c# ** Fatal: ** Error: (vsim-3828) Could not link 'vsim_auto_compile.so': cmd = '/home/themajesticbaker/intelFPGA_lite/17.1/modelsim_ase/gcc-4.7.4-linux/bin/gcc -shared -fPIC -m32 -B/usr/lib32 -o "/tmp/themajesticbaker@themajesticbaker_dpi_4807/linuxpe_gcc-4.7.4/vsim_auto_compile.so" "/tmp/themajesticbaker@themajesticbaker_dpi_4807/linuxpe_gcc-4.7.4/exportwrapper.o" '# (vsim-50) A call to system(/home/themajesticbaker/intelFPGA_lite/17.1/modelsim_ase/gcc-4.7.4-linux/bin/gcc -shared -fPIC -m32 -B/usr/lib32 -o "/tmp/themajesticbaker@themajesticbaker_dpi_4807/linuxpe_gcc-4.7.4/vsim_auto_compile.so" "/tmp/themajesticbaker@themajesticbaker_dpi_4807/linuxpe_gcc-4.7.4/exportwrapper.o" >'/tmp/questatmp.gnw5S6' 2>&1) returned error code '1'.# The logfile contains the following messages:# /home/themajesticbaker/intelFPGA_lite/17.1/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/themajesticbaker/intelFPGA_lite/17.1/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: Error loading design# Executing ONERROR command at macro ./tb/simulation/mentor/msim_compile.tcl line 8# End time: 09:38:40 on Feb 06,2018, Elapsed time: 0:00:08# Errors: 4, Warnings: 7
0 Kudos
6 Replies
Altera_Forum
Honored Contributor II
2,621 Views

Hi, 

 

According to requirements of quartus 17.2. 

HLS is tested on windows 10 or Red Hat Enterprise Linux 6.8. 

This Error may be because of the HLS compatibility issues with OS try with different version Ubuntu may work. 

http://dl.altera.com/requirements/17.1/ 

 

Best Regards, 

Anand Raj Shankar 

(This message was posted on behalf of Intel Corporation)
0 Kudos
Altera_Forum
Honored Contributor II
2,621 Views

You could try setting the following  

for 64bit: LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH export LIBRARY_PATH for 32 bits native : LIBRARY_PATH=/usr/lib32:$LIBRARY_PATH export LIBRARY_PATH  

in the .bashrc file for your login.
0 Kudos
Altera_Forum
Honored Contributor II
2,621 Views

Have a look at someone blog on this error http://cellspe.matrix.jp/zerofpga/inst_quartus.html (http://cellspe.matrix.jp/zerofpga/inst_quartus.html) It seems like we need to manually set the gcc version used for modelsim similar to https://github.com/pulp-platform/pulpino/issues/110#issuecomment-326100024 (https://github.com/pulp-platform/pulpino/issues/110#issuecomment-326100024) Anyone have any idea how ? 

 

 

--- Quote Start ---  

On HLS compile error 

 

In the environment of Ubuntu 16.04 and gcc 5.4 (officially HLS is not supported), if you set up simulation linkage at HLS compile time, the following error will be output. 

 

# ** Fatal: ** Error: (vsim - 3828) Could not link 'vsim_auto_compile.so': cmd = ' 

/home/username/intelFPGA_lite/17.1/modelsim_ase/gcc-4.7.4-linux/bin/gcc -shared -fPIC -m32 -B / usr / lib32 -o "/tmp/username@hostname_dpi_6222/linuxpe_gcc-4.7.4/ vsim_auto_compile.so "" /tmp/username@hostname_dpi_6222/linuxpe_gcc-4.7.4/exportwrapper.o "' 

 

For compiling with ModelSim, intelFPGA_lite / 17.1 / modelsim_ase / gcc - 4.7.4 - linux / bin / gcc (32 bit version gcc 4.7) included in the distribution is used. 

However, there seems to be some library lacking in the distribution, it seems that "- B / usr / lib32" automatically specifies the library path on the system side, from which we are looking for the library. 

 

# (vsim - 50) A call to system (/home/username/intelFPGA_lite/17.1/modelsim_ase/gcc-4.7.4 - linux / bin / gcc - shared - fPIC - m 32 - B / usr / lib 32 - o "/ tmp /username@hostname_dpi_6222/linuxpe_gcc-4.7.4/vsim_auto_compile.so "" /tmp/username@hostname_dpi_6222/linuxpe_gcc-4.7.4/exportwrapper.o "> '/ tmp / questatmp.T2OoX4' 2> & 1) returned error code ' 1 '. 

# The logfile contains the following messages: 

# /home/username/intelFPGA_lite/17.1/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 ' 

 

↑ It seems that the missing distribution is "crti.o" (included in the libc6-dev package). Version does not match with /usr/lib32/crti.o on the system side and the link fails. 

If a library corresponding to gcc - 4.7.4 of ModelSim is included in the distribution, it may be able to compile without depending on the version of the library on the system side. 

 

# /home/username/intelFPGA_lite/17.1/modelsim_ase/gcc-4.7.4-linux/bin/../libexec/gcc/i686-pc-linux-gnu/4.7.4/ld: final link failed: Bad value 

# collect 2: error: ld returned 1 exit status 

#  

# No such file or directory. (Errno = ENOENT) 

#  

#  

# FATAL ERROR while loading design 

# ** Error: Error loading design 

# Executing ONERROR command at macro ./tb/sim/mentor/msim_compile.tcl line 8 

 

--- Quote End ---  

0 Kudos
Altera_Forum
Honored Contributor II
2,621 Views

 

--- Quote Start ---  

Have a look at someone blog on this error http://cellspe.matrix.jp/zerofpga/inst_quartus.html It seems like we need to manually set the gcc version used for modelsim similar to https://github.com/pulp-platform/pulpino/issues/110#issuecomment-326100024 Anyone have any idea how ? 

--- Quote End ---  

 

 

Manually deleting all the gcc-*.*.*-linux folders from modelsim_ase worked for me on Ubuntu 18.04, Quartus 18 lite. Apparently with no gcc folders, the system default gcc is used (In my case set to gcc-4.4.7 for compatibility with the i++ hls compiler.
0 Kudos
Altera_Forum
Honored Contributor II
2,621 Views

Deleting all the gcc-*.*.*-linux folders inside modelsim_ase worked for me in Ubuntu 18.04, Quartus 18 Lite. Apparently removing all the internal options makes modelsim use the system default gcc version (set to 4.4.7 in my case, for compatibility with the i++ HLS compiler).

LLe5
Beginner
2,621 Views

This worked for me. Thank you very much

0 Kudos
Reply