AR# 66184

Install - How do I find out which libraries are required to run Vivado tools in Linux?

Description

I have installed Vivado on my Linux OS (CentOS, Ubuntu, RHEL, SUSE) but when I try and open Vivado or other Vivado tools it crashes. 

Am I missing a library?

Solution

To check which required library or libraries are missing on a Linux system, you can use the ldd command recursively. 

A Perl script that handles the recursive ldd search, named ldd-recursive.pl is available at:

http://sourceforge.net/projects/recursive-ldd/

To use the script:

1) Perl must be installed on your system.

2) For valid switches and syntax:

perl ldd-recursive.pl

3) The Vivado Environment needs to be setup beforehand (settings64.sh needs to be sourced).

4) Execute the script as follows to get a unique list (no duplicates) of the required libraries needed:

perl ldd-recursive.pl /<vivado_install_location>/<vivado_version>/bin/unwrapped/lnx64.o/vivado -uniq

NOTE: This script was not created or supported by Xilinx and therefore any issues or questions related to running the script should not be directed to Xilinx.


***DocNav requires 32-bit libraries that may not be installed with the OS. The specific 32-bit libraries needed are as follows:***

  • lib32stdc++6
  • libgtk2.0-0:i386
  • libfontconfig1:i386
  • libx11-6:i386
  • libxext6:i386
  • libxrender1:i386
  • libsm6:i386
  • libqtgui4:i386


To install these libraries in Ubuntu:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install <package_name>


Example output from a 2015.4 Vivado install with Ubuntu 14.04.03:

Vivado 2015.4:

perl ldd-recursive.pl /opt/Xilinx/Vivado/2015.4/bin/unwrapped/lnx64.o/vivado -uniq

linux-vdso.so.1
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_signals.so
/lib/x86_64-linux-gnu/libm.so.6
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdiconfig.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdi_commonversion.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_xilinx.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdi_commonxillic.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_thread.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdi_commonmain.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libgomp.so.1
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_regex.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libxerces-c-3.1.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libprotobuf.so.7
/lib/x86_64-linux-gnu/libdl.so.2
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdi_common.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libCOIN-all.so
/lib/x86_64-linux-gnu/librt.so.1
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdizlib.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libhdxml.so
/lib/x86_64-linux-gnu/libpthread.so.0
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libgcc_s.so.1
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdi_curl.so
/lib/x86_64-linux-gnu/libc.so.6
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libhdlpsolve.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libisl_iosutils.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_filesystem.so
/lib64/ld-linux-x86-64.so.2
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libtcl8.5.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_iostreams.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libXil_lmgr11.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_system.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libisl_iostreams.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libtcmalloc.so.4
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libstdc++.so.6
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_program_options.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_date_time.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libisl_sysinfo.so


SDK 2015.4:

perl ldd-recursive.pl /opt/Xilinx/SDK/2015.4/bin/unwrapped/lnx64.o/rdi_xsdk -uniq

/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libprotobuf.so.7
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdi_curl.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdi_commonversion.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_filesystem.so
/lib/x86_64-linux-gnu/libc.so.6
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_regex.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdizlib.so
linux-vdso.so.1
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_signals.so
/lib/x86_64-linux-gnu/libm.so.6
/lib64/ld-linux-x86-64.so.2
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdiconfig.so
/lib/x86_64-linux-gnu/librt.so.1
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libhdxml.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libgcc_s.so.1
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_program_options.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_xilinx.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libhdlpsolve.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libCOIN-all.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libisl_iostreams.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdi_common.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_thread.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_iostreams.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libxerces-c-3.1.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libstdc++.so.6
/lib/x86_64-linux-gnu/libpthread.so.0
/lib/x86_64-linux-gnu/libdl.so.2
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_date_time.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libgomp.so.1
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libXil_lmgr11.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libisl_iosutils.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libisl_sysinfo.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdi_commonxillic.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libtcl8.5.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_system.so

Vivado HLS 2015.4:

perl ldd-recursive.pl /opt/Xilinx/Vivado_HLS/2015.4/bin/unwrapped/lnx64.o/vivado_hls -uniq

/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libhdlpsolve.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libprotobuf.so.7
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdi_commonxillic.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libstdc++.so.6
/lib/x86_64-linux-gnu/libdl.so.2
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libXil_lmgr11.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_iostreams.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libisl_sysinfo.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_signals.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdi_curl.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdi_common.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libCOIN-all.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_xilinx.so
/lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/librt.so.1
linux-vdso.so.1
/lib64/ld-linux-x86-64.so.2
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libxerces-c-3.1.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_system.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_date_time.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libisl_iostreams.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdizlib.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_thread.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdi_commonversion.so
/lib/x86_64-linux-gnu/libm.so.6
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_regex.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libisl_iosutils.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libhdxml.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libgomp.so.1
/lib/x86_64-linux-gnu/libpthread.so.0
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_program_options.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libboost_filesystem.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdiconfig.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libtcl8.5.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/librdi_commonmain.so
/opt/Xilinx/Vivado/2015.4/lib/lnx64.o/libgcc_s.so.1

DocNav 2015.4:


Note: DocNav is a 32-bit executable and requires the libraries listed above to run.

perl ldd-recursive.pl /opt/Xilinx/DocNav/docnav -uniq

linux-gate.so.1
/usr/lib/i386-linux-gnu/libXau.so.6
/lib/i386-linux-gnu/libz.so.1
/usr/lib/i386-linux-gnu/libaudio.so.2
/lib/i386-linux-gnu/libdl.so.2
/lib/i386-linux-gnu/libgcc_s.so.1
/lib/i386-linux-gnu/libpthread.so.0
/opt/Xilinx/DocNav/libQtGui.so.4
/usr/lib/i386-linux-gnu/libXext.so.6
/usr/lib/i386-linux-gnu/libQtGui.so.4
/usr/lib/i386-linux-gnu/libgobject-2.0.so.0
/opt/Xilinx/DocNav/libQtXml.so.4
/lib/i386-linux-gnu/librt.so.1
/usr/lib/i386-linux-gnu/libX11.so.6
/lib/i386-linux-gnu/libpng12.so.0
/usr/lib/i386-linux-gnu/libffi.so.6
/usr/lib/i386-linux-gnu/libSM.so.6
/lib/i386-linux-gnu/libpcre.so.3
/usr/lib/i386-linux-gnu/libxcb.so.1
/usr/lib/i386-linux-gnu/libXt.so.6
/usr/lib/i386-linux-gnu/libQtCore.so.4
/usr/lib/i386-linux-gnu/libICE.so.6
/lib/i386-linux-gnu/libuuid.so.1
/lib/i386-linux-gnu/libexpat.so.1
/usr/lib/i386-linux-gnu/libfontconfig.so.1
/usr/lib/i386-linux-gnu/libXdmcp.so.6
/opt/Xilinx/DocNav/libQtWebKit.so.4
/lib/i386-linux-gnu/libglib-2.0.so.0
/usr/lib/i386-linux-gnu/libfreetype.so.6
/usr/lib/i386-linux-gnu/libXrender.so.1
/lib/ld-linux.so.2
/usr/lib/i386-linux-gnu/libXi.so.6
/opt/Xilinx/DocNav/libQtNetwork.so.4
/usr/lib/i386-linux-gnu/libstdc++.so.6
/lib/i386-linux-gnu/libm.so.6
/opt/Xilinx/DocNav/libQtCore.so.4
/usr/lib/i386-linux-gnu/libgthread-2.0.so.0
/lib/i386-linux-gnu/libc.so.6
/usr/lib/i386-linux-gnu/libQtNetwork.so.4

Vivado Lab Tools 2015.4:

perl ldd-recursive.pl /opt/Xilinx/Vivado_Lab/2015.4/bin/unwrapped/lnx64.o/vivado_lab uniq

/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libgcc_s.so.1
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libCOIN-all.so
/lib/x86_64-linux-gnu/libm.so.6
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libboost_program_options.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/librdizlib.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/librdi_common.so
/lib/x86_64-linux-gnu/libc.so.6
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libhdxml.so
/lib/x86_64-linux-gnu/libpthread.so.0
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libstdc++.so.6
/lib64/ld-linux-x86-64.so.2
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/librdi_commonversion.so
/lib/x86_64-linux-gnu/librt.so.1
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/librdi_curl.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/librdiconfig.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/librdi_commonxillic.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libboost_signals.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libboost_filesystem.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libgomp.so.1
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libXil_lmgr11.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libboost_regex.so
linux-vdso.so.1
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libtcl8.5.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libisl_sysinfo.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libisl_iostreams.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libboost_xilinx.so
/lib/x86_64-linux-gnu/libdl.so.2
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libboost_iostreams.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libxerces-c-3.1.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libboost_date_time.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libhdlpsolve.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libisl_iosutils.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/librdi_commonmain.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libboost_system.so
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libtcmalloc.so.4
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libprotobuf.so.7
/opt/Xilinx/Vivado_Lab/2015.4/lib/lnx64.o/libboost_thread.so

Vivado HW Server 2015.4:

perl ldd-recursive.pl /opt/Xilinx/HWSRVR/2015.4/bin/unwrapped/lnx64.o/hw_server -uniq

/lib/x86_64-linux-gnu/libdl.so.2
/lib/x86_64-linux-gnu/librt.so.1
/lib64/ld-linux-x86-64.so.2
/lib/x86_64-linux-gnu/libm.so.6
/lib/x86_64-linux-gnu/libc.so.6
linux-vdso.so.1
/lib/x86_64-linux-gnu/libpthread.so.0
AR# 66184
Date 05/04/2016
Status Active
Type General Article
Tools