Don't even bother trying to compile the drivers coming with ISE. It won't work and is a waste of time.
This guy has provided a solution with an open source driver which is still usable in 2023.
Prerequisites:
sudo apt-get install fxload
Assuming you have your Xilinx installation in /opt/Xilinx:
cd /opt/Xilinx
git clone
git://git.zerfleddert.de/usb-driver
cd usb-driver
make
./setup_pcusb
/opt/Xilinx/14.7/ISE_DS/ISE/
After replugging the USB adapter, the kernel log should indicate the firmware loading process.
[13491.418666] usb 1-3: new high-speed USB device number 10 using xhci_hcd
[13491.652881] usb 1-3: New USB device found, idVendor=03fd, idProduct=000d, bcdDevice= 0.00
[13491.652886] usb 1-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[13492.045004] usb 1-3: USB disconnect, device number 10
[13493.898621] usb 1-3: new full-speed USB device number 11 using xhci_hcd
[13494.197962] usb 1-3: not running at top speed; connect to a high speed hub
[13494.212981] usb 1-3: New USB device found, idVendor=03fd, idProduct=0008, bcdDevice= 0.00
[13494.212984] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[13494.212985] usb 1-3: Product: XILINX
And then when you want to start impact, a custom libusb must be provided:
LD_PRELOAD=/opt/Xilinx/usb-driver/libusb-driver.so impact
I had great success with an old xc3s50an