06-15-2018 09:48 AM
This is just to help those that run an unsupported Linux OS (I run openSUSE Leap) and Vivado 2017.4, and for practical purposes cannot or do not want to run on a supported Linux OS (which is the proper solution to this error). Here is what the error looks like when you try to run some sort of simulation:
ERROR: [XSIM 43-3409] Failed to compile generated C file xsim.dir/cmpy_v6_control_b026c1cb9d0f3349afc505b487268840_behav/obj/xsim_1.c. ERROR: [XSIM 43-3915] Encountered a fatal error. Cannot continue. Exiting...
Finding the real error
In a shell, first enable the command line tools:
To find the real error, you have to go to the directory where the 'elaborate' step was running, in my case it was something like this:
and run the 'elaborate.sh' script (in a shell) and you'll see it runs a giant command like this:
xelab -wto 38b04a6a34d44e6991b3b61d4c3cc3bb --incr --debug off --dll --relax --mt 8 -L axi_utils_v2_0 -L xbip_utils_v3_0 -L mult_gen_v12_0 -L cmpy_v6_0 -L xbip_pipe_v3_0 -L work -L unisims_ver -L unimacro_ver -L secureip -L xpm --snapshot cmpy_v6_control_b026c1cb9d0f3349afc505b487268840_behav work.cmpy_v6_control_b026c1cb9d0f3349afc505b487268840 work.glbl -log elaborate.log
Run that same command (with no path on the front of 'xelab'), but add an additional flag '-v 2' to enable extra verbosity. This will spit out where the real error was coming from. In my case this was it:
~/apps/xilinx/Vivado/2017.4/data/../tps/llvm/3.1/lnx64.o/bin/clang: ~/apps/xilinx/Vivado/2017.4/lib/lnx64.o/SuSE/libtinfo.so.5: no version information available (required by /lib64/libncurses.so.5) ~/apps/xilinx/Vivado/2017.4/data/../tps/llvm/3.1/lnx64.o/bin/clang: relocation error: /lib64/libncurses.so.5: symbol _nc_putchar_sp, version NCURSES_TINFO_5.9.20150530 not defined in file libtinfo.so.5 with link time reference ERROR: [XSIM 43-3409] Failed to compile generated C file xsim.dir/cmpy_v6_control_b026c1cb9d0f3349afc505b487268840_behav/obj/xsim_1.c. ERROR: [XSIM 43-3915] Encountered a fatal error. Cannot continue. Exiting...
Ah ha! A clang/library error!
I found the offending library at:
The fix was to use the system's libtinfo.so.5 instead of the bundled one with Xilinx, and just soft-link to it:
cd ~/apps/xilinx/Vivado/2017.4/lib/lnx64.o/SuSE mkdir exclude mv libtinfo.so.5 exclude/ ln -s /lib64/libtinfo.so.5
And... success! The demos in the System Generator for DSP work!
I hope this helps someone.
06-18-2018 03:26 AM
Thank you for providing this information.
As you mentioned it is better to use a supported OS, but this may help other users.
03-18-2019 02:24 AM
I was having a similar issue with the 'elaborate' process in the simulation, but I'm running Vivado 2018.3 in Arch Linux and the process fails to locate the libs. The solution was similar to yours: softlink to the system libraries.
in the folder <wherever_your_install_is>/Vivado/2018.3/lib/lnx64.o/ there are two folders, one for SuSe and one for Ubuntu, both contains a few libraries which, I guess, should be different from one system to the other.
In my case when I added the -v to the end of the line inside elaborate.sh (I cannot run only this line in a terminal, seems like I need more envars, but running the elaborate.sh from the folder who contains it, works), I get
Compiling architecture behavioral of entity xil_defaultlib.blink_leds ICR Memory Usage: 98KB, 1024KB ICR Memory Usage: 98KB, 1024KB /home/jano/pynq/Vivado/Vivado/2018.3/data/../tps/llvm/3.1/lnx64.o/bin/clang -fPIC -c -std=gnu89 -nobuiltininc -nostdinc++ -w -Wl,--unresolved-symbols=ignore-in-object-files -fbracket-depth=1048576 -I/home/jano/pynq/Vivado/Vivado/2018.3/data/../tps/llvm/3.1/lnx64.o/bin/../lib/clang/3.1/include -fPIC -m64 -I"/home/jano/pynq/Vivado/Vivado/2018.3/data/xsim/include" "xsim.dir/blink_leds_behav/obj/xsim_1.c" -O0 -sim -o "xsim.dir/blink_leds_behav/obj/xsim_1.lnx64.o" -DXILINX_SIMULATOR /home/jano/pynq/Vivado/Vivado/2018.3/data/../tps/llvm/3.1/lnx64.o/bin/clang: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory ERROR: [XSIM 43-3409] Failed to compile generated C file xsim.dir/blink_leds_behav/obj/xsim_1.c. ERROR: [XSIM 43-3915] Encountered a fatal error. Cannot continue. Exiting...
here we can see, clang is unable to find libncurses.so.5, so I made a link in Vivado/2018.3/lib/lnx64.o/ to the system libs:
Vivado/2018.3/lib/lnx64.o$ ln -s /usr/lib/libncursesw.so.6.1 libncurses.so.5
and now I can compile the simulation succesfully!
Just in case, I also linked the other libs I found in the Ubuntu folder to the system libs in Vivado/2018.3/lib/lnx64.o/ , I don't know if they are going to be needed for other purposes.
10-21-2019 05:12 AM
Thanks so much!! Your solution really works! It saves a lot of time for me