Correção de compilação imediata (não é uma solução)
Para o seu problema de compilação específico, o instalador está tentando construir um driver. Para fazer isso, ele precisa do código-fonte do kernel para o seu kernel atualmente em execução. O comando para obtê-lo é:
sudo apt-get install linux-source
Isso resolverá o problema imediato de compilação, mas o WinDriver ainda não será compilado adequadamente. De acordo com a documentação de lançamento , a versão 14.7 do ISE é declarado compatível apenas com o RHEL Workstation 5 & amp; 6 (32 e 64 bits) e SUSE Enterprise 11 (32 e 64 bits) entre todas as distribuições Linux. Age-wise que está em torno do nível do Ubuntu 9.04. O kernel mudou muito significativamente desde então, indo da versão 2.6.32 do kernel no RHEL 6.9 para a versão 4.4.0 do kernel no Ubuntu 16.04.1. O WinDriver não foi mantido pelo Xilinx, então ele não irá construir / trabalhar com a nova versão do kernel.
Solução Alternativa Potencial
A única semi-solução que consegui encontrar na tentativa de resolver o mesmo problema é se você estiver usando um dispositivo DLC9 ou JTAG anterior. Nesse caso, você pode encontrar instruções para construir e usar um driver de espaço do usuário no lugar do WinDriver com o instruções encontradas aqui sob o título" Usando Xilinx USB JTAG programadores sob o Linux (Instalando os drivers dos cabos) ". Certifique-se de ler o README do projeto git para o qual ele aponta porque se o seu dispositivo JTAG não é um daqueles suportados, ou se você não tiver algumas instruções (como configurar LD_PRELOAD), o driver construído a partir do projeto git não trabalhe para o seu dispositivo JTAG.
Uma versão condensada de as instruções vinculadas com algumas as informações enterradas explicitamente especificadas:
Crie o driver
sudo apt-get install gitk git-gui libusb-dev build-essential libc6-dev-i386 fxload libusb-dev
cd /opt/Xilinx #or some directory to build the driver in
sudo git clone git://git.zerfleddert.de/usb-driver
cd usb-driver
sudo make
sudo cp -a /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/xusb*.hex /usr/share/
sed -e 's/[$]TEMPNODE/%N/' -e 's/SYSFS/ATTRS/g' -e 's/BUS="usb",/SUBSYSTEM="usb", ENV{DEVTYPE}=="usb_device",/' -e 's/MODE=/MODE:=/' /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/xusbdfwu.rules >xusbdfwu-new.rules
sudo cp xusbdfwu-new.rules /etc/udev/rules.d/
sudo udevadm control --reload
Desanexe e reconecte o dispositivo JTAG.
Execute as ferramentas (necessárias em todas as execuções)
source /opt/Xilinx/14.7/ISE_DS/settings64.sh
export PATH=/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64:$PATH
export LD_PRELOAD=/opt/Xilinx/usb-driver/libusb-driver.so
impact
EDITAR:
Solução de trabalho
A única solução de trabalho conhecida que encontrei é também instalar uma versão mais recente do Xilinx LabTools e instalar manualmente os drivers de cabo a partir dele. Dependendo do dispositivo com o qual você vai trabalhar, você precisa escolher uma versão do LabTools que seja pelo menos 2014.4, mas não tão nova que não ofereça mais suporte ao seu tipo de chip (que eu presumo que seja o motivo pelo qual você está usando 14.7). Você ainda precisará da fonte do kernel, como minha solução original apontou. Depois de instalar o LabTools (sem tentar instalar drivers), execute o seguinte:
cd /opt/Xilinx/SDK/2014.4/data/xicom/cable_drivers/lin64/install_script/install_drivers
sudo ./install_drivers
sudo ./setup_pcusb
sudo su -
cd /etc/udev/rules.d
sed -i -e 's/MODE=/MODE:=/g' 52-xilinx*.rules
exit
sudo udevadm control --reload
Desconecte e reconecte seu dispositivo JTAG e execute o impacto com o seguinte comando em um terminal descartável de um diretório em que você deseja que o projeto seja eliminado:
source /opt/Xilinx/14.7/ISE_DS/settings64.sh
source /opt/Xilinx/SDK/2014.4/settings64.sh
impact
A ferramenta de impacto não é fornecida por 2014.4, por isso acabará executando a versão 14.7, mas todas as bibliotecas fornecidas pela versão 2014.4 serão usadas em seu lugar, se existirem.