Itanium Support and Robelle Products

The Itanium Question

Over the past few days we have had a number of inquiries into our Support of Itanium chips or the new Itanium2 (trademark) Integrity server machines. Many of the customers want to know just one thing: does it work or not, and is it supported.

As you may know HP-UX programs can come in two distinct flavours, PA_RISC and Itanium. Suprtool also comes in two flavours, Itanium and PA_RISC. PA_RISC programs can run on both PA_RISC machines and Itanium machines, however Itanium programs can only run on Itanium machines. We have many customers running the PA_RISC version of Suprtool on Itanium and they have been doing so for over five years now. The Itanium version of Suprtool (starting with version 5.1.05), is relatively new, and we have a few customers run the Native Itanium version.

The main issue associated with PA_RISC and Itanium is that you need to insure that you are loading the appropriate libraries for each version. In other words if you are running PA_RISC version of Suprtool on Itanium, you need to insure that you load the PA_RISC libraries for Eloquence or Oracle. Conversely if you are running the Itanium version of Suprtool you need to insure that you are loading the Itanium libraries for Eloquence and Oracle.

Qedit currently is only available as a PA_RISC program but runs perfectly fine on Itanium, just scroll down to see the configuration changes that you need to do when running the PA_RISC version of Qedit on Itanium.

Itanium Suprtool on Itanium

Suprtool for Itanium has been publicly downloadable since May 2009 with the pre-release version 5.1.05. Prior to that we had six month of beta testing and three to six months of alpha testing. The Itanium version of Suprtool is based on the same code that the PA_RISC version (for both MPE and PA_RISC), but there are some subtle differences. So while we aren't dealing with all new code there is some new code.

There are two noticeable differences in the Itanium version:

  1. The Edit command (commonly referred to as DBEdit) is not in the Itanium version.
  2. The verify command is slightly different in the layout and length of the line printed. You will see some line wrap.

We will resolve the verify command layout in the near future, however, DBEdit is another story. Most of the enhancement requests for DBEdit is that we have been asked to hide it or turn it off, not surprisingly this request comes shortly after a visit from the auditors.

So for the time being we have excluded DBedit, or the Edit command from Suprtool for Itanium. If you require DBEdit to be in the Itanium version then let tech support know. You can use the PA_RISC version of Suprtool on your Itanium machines.

Running PA_RISC Suprtool on Itanium

Our usual testing has shown that Suprtool runs fine on Itanium, with the exception of using the Oracle interface.

On Itanium, you cannot mix PA_RISC programs and libraries with ELF (Native Itanium) libraries. Oracle, seems to only ship the ELF libraries with their Itanium version, which unfortunately causes Suprtool to give an error when it attempts to load the libraries.

Suprtool only attempts to load the libraries if you have a trial version or if you have this option enabled. If you do not require the Oracle option to be enabled, you should get codes from Robelle that do not enable Oracle. Simply having this option turned off will stop Suprtool from attempting to load and failing with:

SUPRTOOL/UX/Copyright Robelle Solutions Technology Inc. 1981-2004.
(Version 4.9 Expiring) 
Warning: Oracle libraries not loaded = 2, 2, 2.
or
SUPRTOOL/UX/Copyright Robelle Solutions Technology Inc. 1981-2005.
(Version 4.9.01) 
Warning: Oracle libraries failed to load.
Warning: Can't open shared library: libclntsh.sl
Warning: Can't open shared library: /lib32/libclntsh.sl

If you receive this message on Itanium chances are that you only have the Native Itanium or ELF libraries on your system. What you need to do is copy two libraries from your PA_RISC Oracle server and put them in an accesible directory on your system preferably under a meaningful directory name such as:

$ORACLE_HOME/lib32_parisc

The two libraries that you will need are:

 libclntsh.sl 
 libwtc9.sl

Then you build a suprtool script that sets the SHLIB_PATH variable, or LD_LIBRARY_PATH in Suprtool 4.9.01 and higher, and Suprtool will dynamically load the correct libraries:

#!/usr/bin/sh
 
# Script to run the PA-RISC version of Suprtool on Itanium processors.
# This sets SHLIB_PATH temporarily so that suprtool can run.
# Sets SHLIB_PATH to a directory that has the PA-RISC Oracle lib32 files.
 
SHLIB_PATH=$ORACLE_HOME/lib32-parisc
 
/opt/robelle/bin/suprtool $@

Eloquence does not have the same problem that Oracle does, as they have the wisdom to ship both the Itanium and the PA_RISC libraries.

A hint for determining if a library file is PA_RISC or ELF. You can use the file command on HP-UX. Often the difference is obvious, since PA_RISC libraries are often referred to as "shared libraries", whereas Itanium native "libraries" are often referred to as "shared objects":

file libclntsh.sl
libclntsh.sl:   PA-RISC1.1 shared library -not stripped
file libwtc9.sl
libwtc9.sl:     PA-RISC1.1 shared library -not stripped

/usr/lib/hpux64: file libm.so
libm.so:        ELF-64 shared object file - IA64

/usr/lib/hpux32: file liby.so
liby.so:        ELF-32 shared object file - IA64

To determine dependencies of libraries you can use the ldd command, although unfortunately ldd does not recognize PA_RISC 1.1 library files on Itanium, or more accurately, HP-UX 11.23 (commonly referred to as v2)

/ldd libclntsh.sl
ldd: Invalid file type: "libclntsh.sl". Shared executable or shared library expected.

ldd liby.so
      libc.so.1 =>    /usr/lib/hpux32/libc.so.1
      libdl.so.1 =>   /usr/lib/hpux32/libdl.so.1

Currently for the Suprtool2 or Suprcall interface we only have the PA_RISC version of suprtool2 available. Please e-mail to discuss obtaining the ELF version of the Suprtool2 interface.

To determine the minimum version of our products that you need to be on for your version of HP-UX, please see this table.

Qedit

We have tested much of the functionality of Qedit version 5.5.11 and higher, both the Windows client and the server, and the only issue encountered is already an issue on HP-UX 11.0.

In HP-UX 11.0, HP deprecated the "block mode" routines that we used at one time in visual mode. This prompted us to do the enhancement "Visual BlockEmulation", which has been in place for three years now.

On Itanium, or more specifically, HP-UX version 11iV2 (11.23), HP has removed these routines altogether. Therefore when you attempt to go into visual mode without BlockEmulation On you will get the following error:

/usr/lib/dld.sl: Unresolved symbol: blopen (code)  from ./qedit
ARIES32: Error occured while writing core file for PA32 emulated application (got signal 6). Core file may not be correct.
Abort

In order to avoid this problem, just put the command:

Set Vis BlockEmulation On

in your qeditmgr file.

As it turns out, however, not ALL Itanium systems are the same. We just had a customer that was successfully going into visual mode on Itanium with the Visual BlockEmulation setting Off.

The symptom that they were experiencing was that with every update the terminal would hang and they would have to do a soft reset. The solution again was to add:

Set Vis BlockEmulation On

to their qeditmgr file.