CISCO PacketTracer 7 on Debian Stretch.

CISCO PacketTracer 7 on Debian Stretch.

UPDATE Jan/2018:
As netAcad released PacketTracer 7.1.1 for new CCNA courses, I have dealt with making it to run on Debian BUster (but, almost sure it works also for Stretch)... so keep an eye on article PacketTracer 7.1.1 on Debian Buster

Hi again people.

I've been investing some time on how to get CISCO's incredible network simulation software Packet Tracer to run on my Debian Stretch desktop.
Although I managed to do this after several months, I have being struggling trying to get it to work the same way I managed to get former 6.x versions on Debian, that is, using 100% Debian repo packaged libraries.... to no avail.

Installation of PacketTracer has a long history of trouble on Linux, but there are subtle differences between classic PT troubles and the new 7.0 troubles:

In 6.x versions or older, either you use the installer or not, you'll end up with a non-working install, lacking libraries (even i386 versions of the on amd64 systems) that had to be manually installed in order for it to run.
So, with or without running the installer, provide your system had the appropriate library packages installed, the PT binary, will run.

Now, in 7.0, there is no way to get the required libraries from Debian packages on the oficial repository (at least I have not managed to success)... Instead, after running the installer, it provides a complete set of libraries under a lib folder under installation target folder.
The binary file /usr/local/bin/packettracer just points to a shell script, not an actual binary executable, on install folder, that is essentially a wrapper script that prepares running environment to look for libraries under lib folder before executing the actual PacketTracer7 binary.
But even then, the program will not run...

So, let's see how to get it running...

Installing PacktTracer7

So, before continue, let's clarify that I do not like the proposed installation folder /opt/pt by the installer, but, instead I usually put non-packaged software under /usr/local (I found this more Debian friendly... but maybe I'm wrong), so, my installation folder is (and is shown in examples) at /usr/local/PacketTracer70.

So, provide you're installing the 64bit version, you'll have the following file PacketTracer70_64bit_linux.tar.gz, you have to uncompress it, enter the uncompresed folder and run the installer as root (either su or run the install command as sudo):

tar -xvf PacketTracer70_64bit_linux.tar.gz
cd PacketTracer70
sudo ./install

 
It may look like this:

alex@debian:~$ 
alex@debian:~$ ls *PacketTracer*
PacketTracer70_64bit_linux.tar.gz
alex@debian:~$ tar -xvf PacketTracer70_64bit_linux.tar.gz
...extracting output ommited
alex@debian:~$ 
alex@debian:~$ cd PacketTracer70
alex@debian:~/PacketTracer70$ su
Password: 
root@debian:/home/alex/PacketTracer70# ./install

 
You'll be presented CISCO EULA (hit ENTER)
You'll have to scroll down until you'll have on screen all the text, be careful near the end, at around 90%, if you press down too hard you'll miss the accept/deny prompt and you'll hace to restart the installer!!!
So, after reaching 100% of the EULA text shown, you'll be prompted to accept or decline the EULA (hit Y)
In next step the installer will ask you for a path where you want PacketTracer to be installed ( either hit ENTER to install on proposed default location, or write your path and hit ENTER)
Finally, you'll be asked whether you want a link to the binary (actually a wrapper shell script) under usr/local/bin.. (hit Y).
You're officially done:

Type "packettracer" in a terminal to start Cisco Packet Tracer
Writing PT7HOME environment variable to /etc/profile

Cisco Packet Tracer 7.0 installed successfully

 

Making it to actually run

So, just as suggested, let's try to run PacketTracer7:

alex@debian:~$ packettracer
packettracer: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

 
So, we are stuck here, since at Debian Stretch we no longer have libssl1.0.0 ... It is available but on Jessie Backports, but not in Stretch.
A look on PacketTracer install lib folder reveals all the stuff it needs and saves us to manually install, but note, among the collection of libraries there, libcrypto.so.1.0.0 is missing, so it seems CISCO guys assumed most Linux systems still use it.

alex@debian    :~$ ls -l /usr/local/PacketTracer70/lib
total 48232
lrwxrwxrwx 1 root staff       22 Oct  7 20:50 libQt3Support.so -> libQt3Support.so.4.8.2
lrwxrwxrwx 1 root staff       22 Oct  7 20:50 libQt3Support.so.4 -> libQt3Support.so.4.8.2
lrwxrwxrwx 1 root staff       22 Oct  7 20:50 libQt3Support.so.4.8 -> libQt3Support.so.4.8.2
-rwxr-xr-x 1 root staff  3113872 Oct  7 20:50 libQt3Support.so.4.8.2
lrwxrwxrwx 1 root staff       18 Oct  7 20:50 libQtCore.so -> libQtCore.so.4.8.2
lrwxrwxrwx 1 root staff       18 Oct  7 20:50 libQtCore.so.4 -> libQtCore.so.4.8.2
lrwxrwxrwx 1 root staff       18 Oct  7 20:50 libQtCore.so.4.8 -> libQtCore.so.4.8.2
-rwxr-xr-x 1 root staff  3055616 Oct  7 20:50 libQtCore.so.4.8.2
lrwxrwxrwx 1 root staff       17 Oct  7 20:50 libQtGui.so -> libQtGui.so.4.8.2
lrwxrwxrwx 1 root staff       17 Oct  7 20:50 libQtGui.so.4 -> libQtGui.so.4.8.2
lrwxrwxrwx 1 root staff       17 Oct  7 20:50 libQtGui.so.4.8 -> libQtGui.so.4.8.2
-rwxr-xr-x 1 root staff 11381296 Oct  7 20:50 libQtGui.so.4.8.2
lrwxrwxrwx 1 root staff       21 Oct  7 20:50 libQtNetwork.so -> libQtNetwork.so.4.8.2
lrwxrwxrwx 1 root staff       21 Oct  7 20:50 libQtNetwork.so.4 -> libQtNetwork.so.4.8.2
lrwxrwxrwx 1 root staff       21 Oct  7 20:50 libQtNetwork.so.4.8 -> libQtNetwork.so.4.8.2
-rwxr-xr-x 1 root staff  1359016 Oct  7 20:50 libQtNetwork.so.4.8.2
lrwxrwxrwx 1 root staff       20 Oct  7 20:50 libQtScript.so -> libQtScript.so.4.8.2
lrwxrwxrwx 1 root staff       20 Oct  7 20:50 libQtScript.so.4 -> libQtScript.so.4.8.2
lrwxrwxrwx 1 root staff       20 Oct  7 20:50 libQtScript.so.4.8 -> libQtScript.so.4.8.2
-rwxr-xr-x 1 root staff  2635944 Oct  7 20:50 libQtScript.so.4.8.2
lrwxrwxrwx 1 root staff       25 Oct  7 20:50 libQtScriptTools.so -> libQtScriptTools.so.4.8.2
lrwxrwxrwx 1 root staff       25 Oct  7 20:50 libQtScriptTools.so.4 -> libQtScriptTools.so.4.8.2
lrwxrwxrwx 1 root staff       25 Oct  7 20:50 libQtScriptTools.so.4.8 -> libQtScriptTools.so.4.8.2
-rwxr-xr-x 1 root staff   772944 Oct  7 20:50 libQtScriptTools.so.4.8.2
lrwxrwxrwx 1 root staff       17 Oct  7 20:50 libQtSql.so -> libQtSql.so.4.8.2
lrwxrwxrwx 1 root staff       17 Oct  7 20:50 libQtSql.so.4 -> libQtSql.so.4.8.2
lrwxrwxrwx 1 root staff       17 Oct  7 20:50 libQtSql.so.4.8 -> libQtSql.so.4.8.2
-rwxr-xr-x 1 root staff   267144 Oct  7 20:50 libQtSql.so.4.8.2
lrwxrwxrwx 1 root staff       17 Oct  7 20:50 libQtSvg.so -> libQtSvg.so.4.8.2
lrwxrwxrwx 1 root staff       17 Oct  7 20:50 libQtSvg.so.4 -> libQtSvg.so.4.8.2
lrwxrwxrwx 1 root staff       17 Oct  7 20:50 libQtSvg.so.4.8 -> libQtSvg.so.4.8.2
-rwxr-xr-x 1 root staff   358096 Oct  7 20:50 libQtSvg.so.4.8.2
lrwxrwxrwx 1 root staff       20 Oct  7 20:50 libQtWebKit.so -> libQtWebKit.so.4.9.2
lrwxrwxrwx 1 root staff       20 Oct  7 20:50 libQtWebKit.so.4 -> libQtWebKit.so.4.9.2
lrwxrwxrwx 1 root staff       20 Oct  7 20:50 libQtWebKit.so.4.9 -> libQtWebKit.so.4.9.2
-rwxr-xr-x 1 root staff 26150752 Oct  7 20:50 libQtWebKit.so.4.9.2
lrwxrwxrwx 1 root staff       17 Oct  7 20:50 libQtXml.so -> libQtXml.so.4.8.2
lrwxrwxrwx 1 root staff       17 Oct  7 20:50 libQtXml.so.4 -> libQtXml.so.4.8.2
lrwxrwxrwx 1 root staff       17 Oct  7 20:50 libQtXml.so.4.8 -> libQtXml.so.4.8.2
-rwxr-xr-x 1 root staff   278344 Oct  7 20:50 libQtXml.so.4.8.2

 
My guess is that, chances are, that copying Debian Stretch packaged current library /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.2 at /PTinstallfolder/lib/libcrypto.so.1.0.2 and linking it there as libcrypto.so.1.0.0 may work... but it is way too ugly to even try it.

So, as a last resort, googling around I got libcrypto.so.1.0.0 amd64 deb package from Debian Jessie Backports. I tried it, and it installed smoothly, no dependencies, no conflicts, no interference with current libcrypto.so.1.0.2, it just provides libcrypto.so.1.0.0 aditionally if required, so its perfect!!! ... and then Packettracer finally started.
You may download it here: libssl1.0.0_1.0.1t-1+deb8u3_amd64.deb

Installation is as easy as:

dpkg -i ./libssl1.0.0_1.0.1t-1+deb8u3_amd64.deb

 
Now have fun with your labs!!!