2019-07-21 21:42:04
Intel/Altera Quartus FPGA suite RPM repository
Intel/Altera Quartus is a software suite for FPGA development. Unfortunately it has some nasty dependencies on old packages. Intel says that Quartus is intended to be run on RHEL / CentOS 6 and some library dependencies confirm this. But there's also a dependency on libssl.so.6 which is actually OpenSSL 0.98 which was not used in RHEL 6 but in RHEL 5.
I created an RPM spec file for building a quartus RPM package from the tar file and I also created some packages to resolve dependencies:
- quartus-spec
- libpng12
- libudev0
- ncurses57-libs
- openssl0
- zeromq3
Depending on the OS your are using it could be that ncurses57 is not required. On e.g. Fedora 28 the dependency can be resolved by package ncurses-compat-libs. Don't be confused by ncurses being installed two times: Quartus requires the 64 bit and also the 32 bit version of libncurses.so.5.
My repository also provides usb-blaster-udev which installs a rules file to provide a symlink to an USB Blaster I/II device and also sets the permissions to enable dialout group members to use this device:
# ls -l /dev/*blaster*
lrwxrwxrwx 1 root root 15 Jul 21 22:56 \\
/dev/usb-blaster -> bus/usb/001/017
# ls -l /dev/bus/usb/001/017
crw-rw-r-- 1 root dialout 189, 16 Jul 21 22:56 \\
/dev/bus/usb/001/017
The repo does not provide a full Quartus RPM due to license and size reasons. But the provided RPM spec file can be used to build a Quartus RPM package by your own. You only need the Quartus 18.1 tar file and this spec file for doing that. The spec file supports two build options:
- --with fullinstall: install all components, package default: only Cyclone IV
- --with checkmd5: verify tar file MD5 checksum
Here's is an example installation of a Quartus RPM built this way:
# rpm -U quartus-18.1.0.625-4.fc28.x86_64.rpm error: Failed dependencies: /bin/csh is needed by quartus-18.1.0.625-4.fc28... libcrypto.so.6()(64bit) is needed by quartus-18.1.0.625... libncurses.so.5 is needed by quartus-18.1.0.625-4.fc28... libncurses.so.5()(64bit) is needed by quartus-18.1.0.625... libpanel.so.5()(64bit) is needed by quartus-18.1.0.625... libpng12.so.0()(64bit) is needed by quartus-18.1.0.625... libpng12.so.0(PNG12_0)(64bit) is needed by quartus-18.1... libssl.so.6()(64bit) is needed by quartus-18.1.0.625... libudev.so.0()(64bit) is needed by quartus-18.1.0.625... libzmq.so.3()(64bit) is needed by quartus-18.1.0.625... usb-blaster-udev is needed by quartus-18.1.0.625-4.fc28... # yum install quartus-18.1.0.625-4.fc28.x86_64.rpm Dependencies resolved. ============================================================= Package Arch Version Repository ============================================================= Installing: quartus x86_64 18.1.0.625-4.fc28 @commandline Installing dependencies: libpng12 x86_64 2:1.2.49-2.el6 tuxad-quartus-64 libudev0 x86_64 147-2.73.el6.2.1 tuxad-quartus-64 ncurses-compat-libs i686 6.1-5.20180224... updates ncurses-compat-libs x86_64 6.1-5.20180224... updates openssl0 x86_64 0.9.8e-40.el6.1.2 tuxad-quartus-64 tcsh x86_64 6.20.00-9.fc28 fedora usb-blaster-udev noarch 1.0-1 tuxad-quartus-64 zeromq3 x86_64 3.2.5-2.el6 tuxad-quartus-64 Transaction Summary ============================================================= Install 9 Packages Total size: 3.8 G Total download size: 4.5 M Installed size: 11 G Is this ok [y/N]:
Activate the Quartus repo by installing its RPM package:
rpm -i http://ngtx.de/tuxad-quartus.rpm