Altera Quartus II - FreeBSD
Quartus II on FreeBSD
local links: FreeBSD workstation c1, c2, HP EliteBook 9470m (e1), Toshiba Satellite Z30B,
back to main Quartus II page.
History
2020-11-02: c2 - ada0p5 - set up so that Quartus II works. Copy the libpng12 from c1 and put into place
tingo@kg-core2$ ll ~/progs/altera/13.0sp1/quartus/linux64/*png12* lrwxr-xr-x 1 tingo tingo - 18 Nov 2 15:40 /home/tingo/progs/altera/13.0sp1/quartus/linux64/libpng12.so.0@ -> libpng12.so.0.50.0 -rwxr-xr-x 1 tingo tingo - 158616 Nov 2 15:38 /home/tingo/progs/altera/13.0sp1/quartus/linux64/libpng12.so.0.50.0*
install needed linux packages
Nov 2 15:44:32 kg-core2 pkg: linux-c7-libpng-1.5.13_2 installed Nov 2 15:44:32 kg-core2 pkg: linux-c7-freetype-2.8_1 installed Nov 2 15:45:35 kg-core2 pkg: linux-c7-expat-2.1.0_3 installed Nov 2 15:45:40 kg-core2 pkg: linux-c7-fontconfig-2.13.0 installed Nov 2 15:45:40 kg-core2 pkg: linux-c7-xorg-libs-7.7_8 installed
but I only get a blank window. What else is missing?
2020-10-25: c1 - ada2p4 - Quartus II now works in 64bit mode
tingo@kg-core1$ ~/progs/altera/13.0sp1/quartus/bin/quartus --64bit tingo@kg-core1$ ~/progs/altera/13.0sp1/quartus/bin/quartus quartus: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
32-bit mode fails, as expected
2020-10-25: c1 - ada2p4 - for the libpng12 library, I installed libpng12-0 package on my Debian laptop, and copied that to
tingo@kg-core1$ ll ~/progs/altera/13.0sp1/quartus/linux64/*png12* lrwxr-xr-x 1 tingo tingo - 18 Oct 25 21:48 /home/tingo/progs/altera/13.0sp1/quartus/linux64/libpng12.so.0@ -> libpng12.so.0.50.0 -rwxr-xr-x 1 tingo tingo - 158616 Oct 25 21:47 /home/tingo/progs/altera/13.0sp1/quartus/linux64/libpng12.so.0.50.0*
this seems to have worked.
2020-10-25: c1 - ada2p4 - ports - install a few linux ports required by Quartus II
Oct 25 22:04:15 kg-core1 pkg-static: linux-c7-libpng-1.5.13_2 installed Oct 25 22:04:17 kg-core1 pkg-static: linux-c7-freetype-2.8_1 installed Oct 25 22:15:26 kg-core1 pkg-static: linux-c7-expat-2.1.0_3 installed Oct 25 22:15:30 kg-core1 pkg-static: linux-c7-fontconfig-2.13.0 installed Oct 25 22:15:32 kg-core1 pkg-static: linux-c7-xorg-libs-7.7_8 installed
ok
2018-08-28: c1 - Quartus II 13.0sp1 can now be started by
tingo@kg-core1$ ~/progs/altera/13.0sp1/quartus/bin/quartus --64bit
the program starts up. Nice.
2018-08-28: c1 - after the installation, the qenv.sh script needed fixes (as before). Here is the diff:
tingo@kg-core1$ diff -u ~/progs/altera/13.0sp1/quartus/adm/qenv.sh_org ~/progs/altera/13.0sp1/quartus/adm/qenv.sh --- /home/tingo/progs/altera/13.0sp1/quartus/adm/qenv.sh_org 2013-06-13 04:30:01.000000000 +0200 +++ /home/tingo/progs/altera/13.0sp1/quartus/adm/qenv.sh 2018-08-27 23:19:44.282956000 +0200 @@ -61,7 +61,7 @@ ##### Platform settings - if test $UNAME_SYSTEM = "Linux" ; then + if test $UNAME_SYSTEM = "Linux" -o $UNAME_SYSTEM = "FreeBSD" ; then export QUARTUS_PLATFORM=linux export PATCH_CMD="" export AWK_CMD="awk" @@ -89,14 +89,14 @@ fi fi -if test `uname -m` = "x86_64" ; then +if test `uname -m` = "x86_64" -o `uname -m` = "amd64" ; then export QUARTUS_BIT_TYPE=64 fi # We don't support processors without SSE extensions (e.g. Pentium II and older CPUs). -cpumodel=`grep 'model name' /proc/cpuinfo | sed -e's/model name.*: //g' | uniq` +cpumodel=`grep 'model name' /compat/linux/proc/cpuinfo | sed -e's/model name.*: //g' | uniq` export cpumodel="$cpumodel" -grep sse /proc/cpuinfo > /dev/null 2>&1 +grep sse /compat/linux/proc/cpuinfo > /dev/null 2>&1 if test $? != 0 ; then echo "" echo "The Quartus II software is optimized for the Intel Pentium III processor"
ok
2018-08-28: c1 - install Quartus II 13.0sp1 (required for Cyclone II, aka Altera DE1 support) prepare
tingo@kg-core1$ pwd /home/tingo/doc/Altera/quartusii/linux/v13.0 tingo@kg-core1$ mkdir q0temp tingo@kg-core1$ cd q0temp/
unpack
tingo@kg-core1$ tar xvf ../Quartus-web-13.0.1.232-linux.tar [..]
install
tingo@kg-core1$ bash ./setup.sh the installer starts up, I give /home/tingo/progs/altera/13.0sp1 as install directory, and select only Cyclone II / III / IV device support. On the last installer screen I unselected everything (create shortcuts, launch Quartus II 32 bit, provide feedback).
ok
2018-07-27: c1 - try to upgrade Quartus II to 13.1.4.182:
tingo@kg-core1$ pwd /home/tingo/doc/Altera/quartusii/linux/v13.1 tingo@kg-core1$ ./QuartusSetup-13.1.4.182.run
and the installer starts. I give /home/tingo/progs/altera/13.1/ as the install directory. after a while it finishes. The upgrade worked, I now have Quartus II 13.1.4.182 both 64-bit and 32-bit working. Nice.
2018-07-27: c1 - try starting Quartus II again: 32 -bit
tingo@kg-core1$ ~/progs/altera/13.1/quartus/bin/quartus
yes, it starts up. 64-bit
tingo@kg-core1$ ~/progs/altera/13.1/quartus/bin/quartus --64bit
still works as before. Good!
2018-07-27: c1 - copy libpng12 (32-bit) from the z30b Fedora laptop
root@kg-core1# pwd /compat/linux/lib root@kg-core1# scp tingo@10.1.161.33:/usr/lib/libpng12.so.0.57.0 . tingo@10.1.161.33's password: libpng12.so.0.57.0 100% 177KB 3.6MB/s 00:00
create link
root@kg-core1# ln -s libpng12.so.0.57.0 libpng12.so.0
now looks it like this
root@kg-core1# ll *png12* lrwxr-xr-x 1 root wheel 18 Jul 27 14:18 libpng12.so.0@ -> libpng12.so.0.57.0 -rwxr-xr-x 1 root wheel 181436 Jul 27 14:17 libpng12.so.0.57.0*
ok
2018-07-27: c1 - try starting Quartus II again: 64-bit
tingo@kg-core1$ ~/progs/altera/13.1/quartus/bin/quartus --64bit
yes - it starts 32-bit
tingo@kg-core1$ ~/progs/altera/13.1/quartus/bin/quartus quartus: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
ok, so it needs libpng12 too.
2018-07-27: c1 - let me copy libpng12 (64-bit) from a Fedora laptop (z30b) I have:
root@kg-core1# pwd /compat/linux/lib64 root@kg-core1# scp tingo@10.1.161.33:/usr/lib64/libpng12.so.0.57.0 .
create link
root@kg-core1# ln -s libpng12.so.0.57.0 libpng12.so.0
now it looks like this
root@kg-core1# ll libpng12* lrwxr-xr-x 1 root wheel 18 Jul 27 13:56 libpng12.so.0@ -> libpng12.so.0.57.0 -rwxr-xr-x 1 root wheel 162560 Jul 27 13:54 libpng12.so.0.57.0*
ok
2018-07-27: c1 - try to start Quartus II again, with fixes in place 64-bit
tingo@kg-core1$ ~/progs/altera/13.1/quartus/bin/quartus --64bit quartus: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
32-bit
tingo@kg-core1$ ~/progs/altera/13.1/quartus/bin/quartus quartus: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
ok, so now I must find the necessary libraries for Linux, and find a safe way to install them in FreeBSD. More info, paths and stuff (for debugging) 64-bit
tingo@kg-core1$ ~/progs/altera/13.1/quartus/bin/quartus --64bit PATH = /home/tingo/progs/altera/13.1/quartus/adm:/home/tingo/progs/altera/13.1/quartus/linux64:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/tingo/bin CMD: quartus cmd line : quartus: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
32-bit
tingo@kg-core1$ bash ~/progs/altera/13.1/quartus/bin/quartus PATH = /home/tingo/progs/altera/13.1/quartus/adm:/home/tingo/progs/altera/13.1/quartus/linux:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/tingo/bin CMD: quartus cmd line : quartus: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
ok
2018-07-27: c1 - another fix for qenv.sh in adm directory
tingo@kg-core1$ diff -u qenv.sh_org qenv.sh --- qenv.sh_org 2013-10-24 04:00:06.000000000 +0200 +++ qenv.sh 2018-07-27 13:04:47.774516000 +0200 @@ -61,7 +61,7 @@ ##### Platform settings - if test $UNAME_SYSTEM = "Linux" ; then + if test $UNAME_SYSTEM = "Linux" -o $UNAME_SYSTEM = "FreeBSD" ; then export QUARTUS_PLATFORM=linux export PATCH_CMD="" export AWK_CMD="awk" @@ -89,14 +89,14 @@ fi fi -if test `uname -m` = "x86_64" ; then +if test `uname -m` = "x86_64" -o `uname -m` = "amd64" ; then export QUARTUS_BIT_TYPE=64 fi # We don't support processors without SSE extensions (e.g. Pentium II and older CPUs). -cpumodel=`grep 'model name' /proc/cpuinfo | sed -e's/model name.*: //g' | uniq` +cpumodel=`grep 'model name' /compat/linux/proc/cpuinfo | sed -e's/model name.*: //g' | uniq` export cpumodel="$cpumodel" -grep sse /proc/cpuinfo > /dev/null 2>&1 +grep sse /compat/linux/proc/cpuinfo > /dev/null 2>&1 if test $? != 0 ; then echo "" echo "The Quartus II software is optimized for the Intel Pentium III processor"
ok
2018-07-27: c1 - more fixes to qenv.sh in adm directory
tingo@kg-core1$ diff -u qenv.sh_org qenv.sh --- qenv.sh_org 2013-10-24 04:00:06.000000000 +0200 +++ qenv.sh 2018-07-27 12:59:04.166709000 +0200 @@ -61,7 +61,7 @@ ##### Platform settings - if test $UNAME_SYSTEM = "Linux" ; then + if test $UNAME_SYSTEM = "Linux" -o $UNAME_SYSTEM = "FreeBSD" ; then export QUARTUS_PLATFORM=linux export PATCH_CMD="" export AWK_CMD="awk" @@ -94,9 +94,9 @@ fi # We don't support processors without SSE extensions (e.g. Pentium II and older CPUs). -cpumodel=`grep 'model name' /proc/cpuinfo | sed -e's/model name.*: //g' | uniq` +cpumodel=`grep 'model name' /compat/linux/proc/cpuinfo | sed -e's/model name.*: //g' | uniq` export cpumodel="$cpumodel" -grep sse /proc/cpuinfo > /dev/null 2>&1 +grep sse /compat/linux/proc/cpuinfo > /dev/null 2>&1 if test $? != 0 ; then echo "" echo "The Quartus II software is optimized for the Intel Pentium III processor"
(and run the diff command the right direction this time)
2018-07-27: c1 - ok, modify qenv.sh in the adm directory.
tingo@kg-core1$ pwd /home/tingo/progs/altera/13.1/quartus/adm tingo@kg-core1$ diff -u qenv.sh qenv.sh_org --- qenv.sh 2018-07-27 12:17:39.553092000 +0200 +++ qenv.sh_org 2013-10-24 04:00:06.000000000 +0200 @@ -96,7 +96,7 @@ # We don't support processors without SSE extensions (e.g. Pentium II and older CPUs). cpumodel=`grep 'model name' /proc/cpuinfo | sed -e's/model name.*: //g' | uniq` export cpumodel="$cpumodel" -grep sse /compat/linux/proc/cpuinfo > /dev/null 2>&1 +grep sse /proc/cpuinfo > /dev/null 2>&1 if test $? != 0 ; then echo "" echo "The Quartus II software is optimized for the Intel Pentium III processor"
let's see if that helps.
2018-07-27: c1 - try to run Quartus II try 64-bit
tingo@kg-core1$ ~/progs/altera/13.1/quartus/bin/quartus --64bit grep: /proc/cpuinfo: No such file or directory The Quartus II software is optimized for the Intel Pentium III processor and newer processors. The required extensions were not found on: '' The Quartus II software will not function properly on this processor model. Terminating... exit: Illegal number: -1
try 32-bit
tingo@kg-core1$ ~/progs/altera/13.1/quartus/bin/quartus grep: /proc/cpuinfo: No such file or directory The Quartus II software is optimized for the Intel Pentium III processor and newer processors. The required extensions were not found on: '' The Quartus II software will not function properly on this processor model. Terminating... exit: Illegal number: -1
ok
2018-07-27: c1 - try to run the install script, like so:
tingo@kg-core1$ bash ./setup.sh
(and the installer starts up) I select /home/tingo/progs/altera/13.1 as the install location the installer says that 11412 MB disk space is required. I start the installation. At the end, I opt to not create shortcuts on desktop. This error message shows up
tingo@kg-core1$ tb2_install: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
ok
2018-07-27: c1 - prepare
tingo@kg-core1$ pwd /home/tingo/doc/Altera/quartusii/linux/v13.1 tingo@kg-core1$ mkdir qtemp tingo@kg-core1$ cd qtemp
unpack
tingo@kg-core1$ tar xvf ../Quartus-web-13.1.0.162-linux.tar [..]
ok
2018-07-27: c1 - do the needed pieces exist for running the Linux version of Quartus II on FreeBSD? Let's find out. I'm using c1, my FreeBSD workstation for this test. It runs
tingo@kg-core1$ uname -a FreeBSD kg-core1.kg4.no 10.4-STABLE FreeBSD 10.4-STABLE #1 r329982: Sun Feb 25 20:35:06 CET 2018 root@kg-core1.kg4.no:/usr/obj/usr/src/sys/GENERIC amd64
ok