03-02-2015 06:32 PM
I'm having problems getting either 2014.3 or 2014.4 to work on a Red Hat machine. 2013.2 and 2014.1 are also installed, and they work fine. It's just the two most recent releases which fail.
The failure is a symbol lookup error. When I did some detective work, I found that the Xilinx setup script is correctly pointing $LD_LIBRARY_PATH at a directory where there is a library which defines the missing symbol, so somehow it's failing to find the symbol even though it should. Anyone know what's up?
[username@machine ~]$ source /home/username/Xilinx/Vivado/2014.4/settings64.sh [username@machine ~]$ vivado /home/username/Xilinx/Vivado/2014.4/bin/unwrapped/lnx64.o/vivado: symbol lookup error: /home/username/Xilinx/Vivado/2014.4/lib/lnx64.o/librdi_commonmain.so: undefined symbol: _ZN6XilReg13GetInitStringEv [username@machine lnx64.o]$ echo $LD_LIBRARY_PATH /home/username/Xilinx/Vivado/2014.4/lib/lnx64.o [username@machine lnx64.o]$ cd /home/username/Xilinx/Vivado/2014.4/bin/unwrapped/lnx64.o/ [username@machine lnx64.o]$ ldd vivado linux-vdso.so.1 => (0x00007fff36dff000) libtcmalloc.so.4 => not found libboost_signals.so => /usr/lib64/libboost_signals.so (0x00007f7934f1c000) librdi_common.so => not found librdi_commonmain.so => not found libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f7934c15000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f79349ff000) libc.so.6 => /lib64/libc.so.6 (0x00007f793466b000) libm.so.6 => /lib64/libm.so.6 (0x00007f79343e6000) /lib64/ld-linux-x86-64.so.2 (0x00007f7935152000) [username@machine ~]$ cd /home/username/Xilinx/Vivado/2014.4/lib/lnx64.o/ [username@machine lnx64.o]$ grep _ZN6XilReg13GetInitStringEv * Binary file librdi_commonmain.so matches Binary file librdi_commonxillic.so matches [username@machine lnx64.o]$ readelf -Ws librdi_commonmain.so | grep _ZN6XilReg13GetInitStringEv 114: 0000000000000000 0 FUNC GLOBAL DEFAULT UND _ZN6XilReg13GetInitStringEv [username@machine lnx64.o]$ readelf -Ws librdi_commonxillic.so | grep _ZN6XilReg13GetInitStringEv 424: 000000000003ee30 57 FUNC GLOBAL DEFAULT 10 _ZN6XilReg13GetInitStringEv [username@machine lnx64.o]$
03-02-2015 06:40 PM
03-02-2015 06:40 PM
03-03-2015 11:12 AM
Daniel, thanks for the suggestion of using strace. I was able to figure out what's happening by examining the log.
It turns out this machine had the AR #56630 tactical patch for 2013.2 installed. It appears that Vivado offers two paths for installing tactical patches: either overwrite original files with patched files, or point $MYVIVADO at the unpacked tactical patch directory. This machine had it installed via the latter method, and $MYVIVADO was getting set regardless of tool version. AR #56630 targeted 2013.2, and its versions of the libraries don't work with sufficiently recent Vivado versions.
"unset MYVIVADO ; vivado" got 2014.4 to launch. I'm going to re-do the tactical patch install by overwriting 2013.2 files so we don't have to set $MYVIVADO any more.
11-01-2018 11:32 PM