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