Ignition 7.6 install on Ubuntu 12.04 64bit & Java questions

[size=125]I would like some insight from the developers as to what they think and where things are at with a Linux 64bit OS and Java form a production environment stability standpoint.

Hopefully my notes can help others get Ignition setup on Ubuntu Server and I can benefit from some feed back on the concerns I have.

This is how I got Ignition-7.6.4-linux-x64 setup and running on a headless Ubuntu Server 12.04.3 LTS 64 bit Edition.

I did a fresh install of Ubuntu Server 12.04.3 "Precise" LTS 64bit Edition and selected to have ssh installed during the initial setup and left everything else at the default options. Once I had Ubuntu installed I did a$ sudo apt-get update && sudo apt-get dist-upgrade and then I had a fresh up to date Ubuntu Serve ready to install Ignition-7.6.4-linux-x64 on and these were a few of the issues I had and was able to get them all sorted out and everything is successfully up and running. I was also able to launch the “OEE/DT/Schedule demonstration application” after I installed the “JDBC Driver for MySQL (Connector/J)” on my other Ubuntu server that has MySQL installed on it, it was as simple as running this command:
$ sudo apt-get install libmysql-java

According to the quick start Linux installation guide that I used; http://www.inductiveautomation.com/support/quickstart/linux these are the out of date documentation and 64bit issues I had.

Issue #1

The fist step of installing Java is completely out of date, Java has now been re-branded as Oracle Java and using Canonical's 'partner' repository doesn't include the Oracle (Sun) Java packages anymore and note that “maverick” is an old 10.10 version of Ubuntu and according to this site: http://ubuntuguide.org/wiki/Ubuntu:Maverick

I tried uncommenting my Canonical's 'partner' repository in my /etc/apt/source.list file and did a sudo apt-get update just to see if there was an Oracle (Sun) package in the repo and there wasn't. So you need to install Oracle Java by adding a new PPA according to this website: http://www.webupd8.org/2012/11/oracle-sun-java-6-installer-available.html
But first you must run this command or the following "add-apt-repository" command won't work
$ sudo apt-get install python-software-properties
Then following the instructions
$ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java6-installer

I continued with the rest of the install and everything else seemed to go fine and finished without any errors.

Issue #2

When I pointed my browser to: http://localhost:8088 I got this;
[quote][ul]Apache Tomcat/6.0.36 - Error report – Chromium (this was on the title bar of the browser)
HTTP Status 404 -
type Status report
message
description The requested resource is not available.
Apache Tomcat/6.0.36[/ul][/quote]
I stopped the Ignition service and searched the forums for “http://localhost:8088 Not working” and ran across a couple of post referring to errors in the “wrapper.log” file so I did a:
$sudo cat /var/log/ignition/wrapper.log | grep Error

and this is what I found:

[quote]INFO | jvm 1 | 2014/01/23 02:32:33 | java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-6-oracle/jre/lib/amd64/xawt/libmawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
INFO | jvm 1 | 2014/01/23 02:32:33 | SEVERE: Error filterStart
INFO | jvm 1 | 2014/01/23 02:34:22 | java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-6-oracle/jre/lib/amd64/xawt/libmawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
INFO | jvm 1 | 2014/01/23 02:34:22 | SEVERE: Error filterStart
INFO | jvm 1 | 2014/01/23 03:00:22 | java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-6-oracle/jre/lib/amd64/xawt/libmawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
INFO | jvm 1 | 2014/01/23 03:00:22 | SEVERE: Error filterStart
INFO | jvm 1 | 2014/01/23 03:09:46 | java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-6-oracle/jre/lib/amd64/xawt/libmawt.so: libXi.so.6: cannot open shared object file: No such file or directory
INFO | jvm 1 | 2014/01/23 03:09:46 | SEVERE: Error filterStart
[/quote]
So it looks like a problem with “libXtst.so.6” and “libXi.so.6”, Is this because it's 32bit Java on a 64bit OS????
I was able to find a solution that fixed the problem here: http://stackoverflow.com/questions/17355863/cant-find-install-libxtst-so-6
$ sudo apt-get install libxtst6 $ sudo apt-get install libxi6
To verify that they were installed properly and in the right location run these commands to check $ sudo updatedb $ sudo locate libXtst
It should return something like:
[quote]/usr/lib/x86_64-linux-gnu/libXtst.so.6
/usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0[/quote]

If you do not have libXtst.so.6 but do have libXtst.so.6.X.X create a symbolic link:
$ sudo cd /usr/lib/x86_64-linux-gnu/ $ sudo ln -s libXtst.so.6 libXtst.so.6.X.X

Next check for libXi
$ sudo locate libXi
It should return something like this
[quote]/usr/lib/x86_64-linux-gnu/libXi.so.6
/usr/lib/x86_64-linux-gnu/libXi.so.6.1.0[/quote]
Then clear the log file
$ sudo truncate -s0 /var/log/ignition/wrapper.log
Restart the Ignition service
$ sudo /etc/init.d/ignition start
I pointed my browser to: http://localhost:8088 and BINGO IT WORKS!!

After reading this forum post: http://inductiveautomation.com/forum/viewtopic.php?f=72&t=7410&start=0&st=0&sk=t&sd=a&hilit=unitronics about connecting a Unitronics PLC/HMI to the OPC server like I want, I ran across this note;
[quote]“*Note: I don't recommend installing the 64-bit core components linked to above. We currently only support the OPC-COM module in 32-bit environments. Using 64-bit Java and the 64-bit core components will make it "appear" to work, but we've found significant stability problems with that environment.”[/quote]
I got to thinking if what I did was the right thing or not with setting up Java the way I did but I realize that post was from Dec 21, 2011 and don't know if this is the state of things anymore or not? Have I fixed one problem but created a much bigger one for down the road????

Is the Java package that I installed a 32bit package running on a 64bit system?, does Oracle (Sun) make 64bit Java?, should I try OpenJDK? Is OpenJDK 64bit? Or should I plan on installing a base OS that is 32bit for a production environment, for stability? I also read that some have had success using OpenJDK.

These are the major questions that I need to figure out if my client decides to go with this software for their SCADA/HMI/OEE integration project that I'm working on.

Thanks,
Luke[/size]

[size=125]I also just ran across this: http://askubuntu.com/questions/67909/how-do-i-install-oracle-jdk-6 [quote]Due to license issues Ubuntu will no longer distribute Oracle’s JDK and JRE. Also previous versions supplied on PPAs suffer from security issues are are not recommended to be installed on any Ubuntu system.

There are no more supported java releases from Ubuntu - Ubuntu officially supports OpenJDK and OpenJRE implementation of Java which is the base for Oracle’s own implementation.[/quote]

This is definitively worth a read, there is a lot more info and links on this page then what I just quoted.

The reason that I have chosen GNU/Linux is that in my opinion it is a rock solid, stable & secure OS to build a scada system on that requires less maintenance when it comes to viruses, malware, and spyware issues, there really isn’t any of those issues yet (yes i know there are a couple but not to the level of MS) also there is much less system down time when it come to updates. Regular updates can be applied without a system restart unless you choose to update the kernel and even then there is ksplice http://www.ksplice.com/ if you really need 24/7 uptime.

If I have chosen GNU/Linux as my OS because of it’s security and stability reasons and Ignition is Java based I want to make sure that the Java I install be it Oracle (Sun) or OpenJDK/OpenJRE is supported, secure, and stable!!

Thanks very much for your time,
Luke[/size]

Hi Luke,
Why don’t you install Java 7?

Instructions: webupd8.org/2012/01/install- … u-via.html

I installed a fresh Ubuntu Server and ran through a sanity check, here’s what I did:

Because ‘add-apt-repository’ is part of this package, which is not installed by default on Ubuntu Server.

sudo apt-get install python-software-properties

Install Oracle Java 7

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

Unzip and run Ignition

sudo apt-get install unzip
sudo unzip -d /opt/ignition ignition-build7.6.4-linux-x64.zip
cd /opt/ignition
sudo chmod +x ignition.sh ignition-gateway
sudo ./ignition.sh start

Point browser to ip:8088 and voila!

I’m not sure what you did differently, other than installing Java 6 instead of 7, so maybe try that. I also recommend that you stick with the Oracle releases of Java and avoid OpenJDK. I used the standard zip distribution instead of the installer, but that really shouldn’t make a difference other than I’m not running it as a service using the zip.

The README is definitely a little out of date, I’ll give you that.

[size=125]I actually did try and install Java 7 first and had the same issues and based on the install instructions I thought that maybe Ignition actually required Java 6 instead and down graded but still had the exact same problems.[/size]

Yes, the online README file is definitely out of date. I’ll see if we can get that updated today, so that others don’t have to deal with the same hassles that you had. FWIW, I tested installation on a 12.04 64-bit Ubuntu system using Kevin’s instructions for Oracle Java 7 installation and the instructions here to install the Ignition .deb file. The Gateway fired right up for me, so installing Java 7 via apt is the best way to go.