IBM i Access Client Solutions Linux Application Package

Improvements over iSeries Access for Linux

IBM i Access Client Solutions and the IBM i Access Client Solutions Linux Application Package replaces iSeries Access for Linux and improves greatly upon that experience. In this article, you can learn about the changes included in the Linux Application Package: full 64-bit Open Database Connectivity (ODBC) driver, 32-bit co-installable libraries, deb packages for Debian-based Linux and more.

Share:

Kevin Adler (kadler@us.ibm.com), Software Engineer, IBM

Kevin Adler is a software engineer for IBM, working on the IBM i platform since 2009. Before joining the SQ development team, he was a developer for Websphere MQ and was the test team lead for Websphere MQ on IBM i.



16 December 2013

You've already been introduced to the IBM i Access Client Solutions application packages in a previous article. In this article, the Linux Application Package is explained in greater detail including the benefits over the existing iSeries Access for Linux offering. If you have used iSeries Access for Linux, you've probably been frustrated by it being increasingly hard to install due to missing motif libraries, not working well with the latest versions of unixODBC on 64-bit platforms, and requiring unsupported tools to install on Debian-based distributions. Fortunately, the IBM i Access Client Solutions Linux Application Package picks up the slack where iSeries Access for Linux falls short.

Full 64-bit support

Most (if not all) newer Linux distributions are including unixODBC 2.2.14 or later, which finally added full 64-bit support. This means that SQLLEN is now a 64-bit value on 64-bit architectures. Unfortunately, this was done in a completely backward-incompatible way (and for that, the blame rests on Microsoft®, because they write the standard). This means that ODBC applications compiled on recent 64-bit Linux systems will not work with the ODBC driver included with iSeries Access for Linux. Applications compiled using previous versions of unixODBC (prior to 2.2.14) will continue to work, but will not be full 64-bit compatible. Realize, by an application, this also means any program that uses an abstraction layer or library that binds to libodbc.so such as php-ODBC, pdo_odbc, ruby-odbc, and so on. These are usually included with the distribution and have been compiled with the distribution's unixODBC, which is probably now incompatible with iSeries Access for Linux. The good news is that the ODBC driver included with the IBM i Access Client Solutions Linux Application Package is now full 64-bit compatible and now works correctly on recent Linux distributions.

Application changes

Applications might need to be updated to work properly with the new driver. Applications that use SQLLEN most likely just need a recompile. Microsoft changed the SQLINTEGER parameters in many application programming interfaces (APIs) to SQLLEN – applications that intermixed the two might now get a bunch of errors about conflicting types. This requires the application to be modified to use SQLLEN instead of SQLINTEGER. For more information on changes for full 64-bit compatibility, refer to Microsoft article ODBC 64-Bit Information. Applications using an abstraction layer (for example, through PHP, Ruby or other scripting languages shouldn't have any issue.


Packages for Debian-based distributions

iSeries Access for Linux only ever supported RPM-based distributions, but many customers resorted to scripts or tools (such as alien) to convert the RPMs to debs to install on Debian-based distributions such as Ubuntu. The IBM i Access Client Solutions Linux Application Package now includes both RPM and deb packages. This should help those of you who are using Debian or Ubuntu to access your IBM i.


32-bit co-installable libraries

In iSeries Access for Linux, if you had both 32-bit and 64-bit applications, there was no provided way to install both sets of libraries. Many users resorted to force installing the 32-bit and 64-bit packages. This meant that RPM now couldn't fully uninstall everything, because the 32-bit package information overwrote the 64-bit package information (or the 64-bit package information overwrote the 32-bit package information). With service pack 1 of the IBM i Access Client Solutions Linux Application Package, we now include additional RPM and deb packages to install the 32-bit libraries along with the 64-bit package. For instance, to install both the 64-bit package and the 32-bit libraries on SUSE, you would use the following command:

zypper in ibm-iaccess-1.1.0.1-1.0.x86_64.rpm ibm-iaccess-32bit-1.1.0.1-1.0.x86_64.rpm

This installs both the 64-bit package (which includes the 64-bit libraries, utility binaries, message files, and translation tables) and the 32-bit package (which just includes the 32-bit libraries). Because everything but the libraries is shared between the RPMs, there is no need to install them twice.


Support for Linux on Power

With service pack 1, the IBM i Access Client Solutions Linux Application Package has gained support for Linux on Power. This is great for customers who want to get the most out of their IBM Power Systems™ hardware by running Linux in addition to IBM i. For customers who have both IBM i and Linux, running Linux servers on Power Systems hardware is great because it can make use of excess capacity on your existing hardware and can reuse existing knowledge. All the same tools [Virtual I/O Server (VIOS), Integrated Virtualization Manager (IVM), Hardware Management Console (HMC), IBM PowerVM®, and so on] can manage both your IBM i and Linux logical partitions (LPARs), and therefore, administrators don't need to learn new tools.


Additional information

Service packs

The last release of iSeries Access for Linux was 7.1, released in September 2010. Many changes and fixes have gone in and many service packs for Microsoft Windows® have been released since then, but Linux never got the same treatment. With IBM i Access Client Solutions, the Linux Application Package is no longer a second-class citizen. IBM has committed to release periodic service packs to fix problems that are encountered and add new functions as appropriate.

DSN change

With the IBM i Access Client Solutions Linux Application Package, the driver name was changed from "iSeries Access ODBC Driver" to "IBM i Access ODBC Driver." Be sure to adjust your odbc.ini accordingly. Additionally, the IBM i Access ODBC Driver allows you to share the data source name with both the 32-bit and 64-bit drivers. The right one will be picked by unixODBC to coincide with your application.

Symlink compatibility

Unfortunately, when the unixODBC project added full 64-bit support in unixODBC 2.2.14, they did not increment the shared library version from so.1 to so.2. This was finally fixed with unixODBC 2.3.1, but many distributions are not currently including this version yet. Many distributions did realize that there was a break in compatibility and updated their packages to reflect this. On Red Hat, Fedora, and others, you might see an error when trying to install the IBM i Access Client Soutions Linux Application Package about a missing dependency on libodbcinst.so.1. To fix this, you need to force install the package and create a symlink from libodbcinst.so.2 to libodbcinst.so.1:

  • 64-bit RPM-based distributions:
    ln -s libodbcinst.so.2 /usr/lib64/libodbcinst.so.1
  • 32-bit RPM-based distributions:
    ln -s libodbcinst.so.2 /usr/lib/libodbcinst.so.1
  • 64-bit Debian-based distributions:
    ln -s libodbcinst.so.2 /usr/lib/x86_64-Linux-gnu/libodbcinst.so.1
  • 32-bit Debian-based distributions:
    ln -s libodbcinst.so.2 /usr/lib/i386-Linux-gnu/libodbcinst.so.1

This is something that we hope to fix in a future release.

Feature-set changes

A few features of iSeries Access for Linux have been removed in the IBM i Access Client Solutions Linux Application Package. Essentially, the IBM i Access Client Solutions Linux Application Package is now just the ODBC driver and toolkit. This is a conscious decision, as many of these features are now part of IBM i Access Client Solutions proper, which is a cross platform solution. Customers who struggled to get the old ibm5250 emulator working on Linux can now just download IBM i Access Client Solutions and get a much better, more modern emulator. Additionally, IBM i Access Client Solutions includes a data transfer client, integrated Secure Sockets Layer (SSL) support, a spool file viewer, and the ability to connect to LAN consoles and HMCs. For more information refer to the IBM iAccess Client Solutions article by Tim Rowe.


Conclusion

Between the support for full 64-bit ODBC interfaces, Debian packages, 32-bit co-installable packages for 64-bit Linux, and a much improved 5250 emulator and other features found in IBM i Access Client Solutions, we hope you agree that IBM i Access Client Solutions and the Linux Application Package are a huge upgrade from the iSeries Access for Linux product. IBM i Access Client Solutions and the Linux Application Package can be downloaded from IBM Entitled Software Support (ESS). For information on how to easily download the packages, refer to Obtaining Access Client Solutions.


References

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into IBM i on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=IBM i
ArticleID=957329
ArticleTitle=IBM i Access Client Solutions Linux Application Package
publish-date=12162013