i had three different issues for running iCEcube2 in Linux/ Debian stretch (the latest stable..), but finally i did it!!
i'll enumerate the issues because they are pretty easy to workaround and, as running native should be more efficient then running emulated like wine or virtualized like virtualbox (how many choices, in the end, anyway..), i think it worth the effort to fix these.
let met start saying the
iCEcube2 is a 32bit application so you'll need the
multi-arch setup if you run (as i am) an AMD64 architecture OS.
the first issue (you'll fall into at setup time of the install package..) is that the application
depends on a libpng12-x library, but the current Debian uses a libpng16.. package. luckily you can have both the libs at the same time, but you'll have to install the package manually.
i've got mine from the
official Debian repo from a previous version and installed this way:
sudo dpkg -i /home/andrea/Scaricati/libpng12-0_1.2.50-2+deb8u3_i386.deb
now we are good to go for the install phase, let's get it through and point the install at the right license file you should have got from the Lattice web site..
then at app startup, i stumbled into a problem with recognizing my
license.dat was not good. it's a "macrovision technology" so always very dumb.. :-)
the issue here is that the recent Debian (and Ubuntu?) install are using "smart names" for network interfaces. so
it's no more plain old ETHO on ifconfig but it's a "smarter" enps025 interface or something like that (i removed that name from my mind!), BTW
this is a systemd thing.. please don't start an holy war on that! :-)
again with some google-fu you have plenty of choices to put back the old name, and i chose to add to my "grub bootloader" the param
net.ifnames=0 that make the trick
now the app starts ok, and load the sample projects and so far so good.. what happens now when you try the synthesys for example... error like these:
...
/opt/lattice/lscc/iCEcube2.2017.01/synpbase/bin/synplify_pro: 137: [: unexpected operator
/opt/lattice/lscc/iCEcube2.2017.01/synpbase/bin/synplify_pro: 151: [: !=: argument expected
/opt/lattice/lscc/iCEcube2.2017.01/synpbase/bin/synplify_pro: 321: /opt/lattice/lscc/iCEcube2.2017.01/synpbase/bin/config/execute: Syntax error: "(" unexpected (expecting ";;")
this is again not a big deal but anyway again a small hitch to scratch. the issue here is that i
n Debian /bin/sh is a symbolic link to /bin/dash. no good for sick scripts..
so now you have two choices.
- modify the Lattice scripts when you see these errors on the logs windows
- change the default shell back to bash
i preferred the former option and so i made my way in the script directories, manually updating in first line /bin/bash in place of /bin/sh.
/opt/lattice/lscc/iCEcube2.2017.01/synpbase/bin/
/opt/lattice/lscc/iCEcube2.2017.01/synpbase/bin/config/
finaly i've been able to restart iCEcube2 and make my bitstream!
is that easy!? :-)