Getting SAS Software running on Arch Linux 64-bit

Recently, I’ve been looking to switch from Ubuntu to an alternative distro as the primary Linux platform for our Metacoda development/testing environments, where we also run SAS® software. I’ve run quite a few distros in my time including Slackware, RedHat (pre-Fedora), Fedora, Gentoo & Ubuntu. Ideally I’d like something lighter and perhaps a rolling release too: lighter, so more resources go to SAS; rolling release, because given the choice I prefer regular small upgrades to occasional big upgrades. One of the potential candidates is Arch Linux and so I’ve recently installed it, in a multi-boot configuration with the existing Ubuntu installation, to test it with our existing SAS installations. This is one of the things I love about running SAS on Linux. The SAS software gets installed and configured once and the underlying operating system can be completely upgraded or replaced without having to re-install SAS. It might just take the installation of a few libraries to get everything working again but that’s not much compared to the effort of re-installing and configuring our SAS 9.3 M2, SAS 9.3 M0, SAS 9.2 and SAS 9.1.3 SP4 dev/test environments.

These are the steps I needed to take to get the existing SAS software installation running on Arch Linux 64-bit. No changes were needed to the SAS deployments, it just required a few additional libraries to be added to the Arch installation. If you’re wondering why several SAS versions?, it’s because we need to test our Metacoda software with each of them. The SAS 9.3 and 9.2 installations are 64-bit and the older SAS 9.1.3 installation is 32-bit (so takes a bit more work).

SAS 9.3 (and 9.2)

After Arch had been installed and I’d mounted the SAS installation volume, I tried to run SAS 9.3 M2 first and got the following error:

[user@host ~]$ /opt/sas93m2/apps/SASFoundation/9.3/sas

ERROR:  BRIDGE FAILURE CALLING UNKNOWN.
ERROR:  UNABLE TO LOAD sasmotif FOR SUBSYSTEM 8.

 SAS WTABORT (RESULTS) The SAS System has detected an abort condition. An Exception occurred during wthtrm().
 Please Contact Technical Support.

 Tasks

[MAIN    ] [WAITING ] pri[   5] reb[7FA9567434E0] WC[0] WN[1]
[IDLETASK] [READY   ] pri[   9] reb[7FA9567434E0]
[EVENTTSK] [WAITING ] pri[   0] reb[7FA9567434E0] WC[0] WN[1]
[sasxkern] [WAITING ] pri[   3] reb[7FA9567434E0] WC[0] WN[1]
[Session ] [WAITING ] pri[   3] reb[7FA950D80300] WC[0] WN[1]
[TKSRV   ] [WAITING ] pri[   3] reb[7FA950D808C0] WC[0] WN[1]
[DMS Proc] [WAITING ] pri[   7] reb[7FA950D81890] WC[0] WN[1]
[Language] [WAITING ] pri[   7] reb[7FA950D81890] WC[0] WN[1]
[RESULTS ] [RUNNING ] pri[   7] reb[7FA94BC90570]
ERROR: Could not load /opt/sas93m2/apps/SASFoundation/9.3/dbcs/sasexe/sasmotif (33 images loaded)
ERROR: libXp.so.6: cannot open shared object file: No such file or directory
ERROR:  BRIDGE FAILURE CALLING UNKNOWN.
ERROR:  UNABLE TO LOAD sasmotif FOR SUBSYSTEM 8.

 SAS WTABORT (RESULTS) The SAS System has detected an abort condition. An Exception occurred during wthtrm().
 Please Contact Technical Support.

 Tasks

[MAIN    ] [WAITING ] pri[   5] reb[7FA9567434E0] WC[0] WN[1]
[IDLETASK] [READY   ] pri[   9] reb[7FA9567434E0]
[EVENTTSK] [WAITING ] pri[   0] reb[7FA9567434E0] WC[0] WN[1]
[sasxkern] [WAITING ] pri[   3] reb[7FA9567434E0] WC[0] WN[1]
[Session ] [WAITING ] pri[   3] reb[7FA950D80300] WC[0] WN[1]
[TKSRV   ] [WAITING ] pri[   3] reb[7FA950D808C0] WC[0] WN[1]
[DMS Proc] [WAITING ] pri[   7] reb[7FA950D81890] WC[0] WN[1]
[Language] [WAITING ] pri[   7] reb[7FA950D81890] WC[0] WN[1]
[RESULTS ] [RUNNING ] pri[   7] reb[7FA94BC90570]
Traceback
Traceback

No Traceback Available
No Traceback Available

ERROR: Could not load /opt/sas93m2/apps/SASFoundation/9.3/dbcs/sasexe/sasmotif (34 images loaded)
ERROR: libXp.so.6: cannot open shared object file: No such file or directory
ERROR:  BRIDGE FAILURE CALLING UNKNOWN.
ERROR:  UNABLE TO LOAD sasmotif FOR SUBSYSTEM 8.
WARNING: Display of UTF8 encoded data is not fully supported by the SAS Display Manager System.
ERROR: The Java process failed to launch.
ERROR: Java failed to start during the SAS startup.
NOTE: SAH239999I DMS, State, stopped

It looked like we were missing the library libXp so the next step was to install that with pacman:

sudo pacman -S libxp

That fixed the problem for SAS 9.3 and SAS 9.2, both 64-bit, so it was time to move on to the 32-bit SAS 9.1.3 installation.

SAS 9.1.3

This was the error I got trying to run SAS 9.1.3:

[user@host ~]$ /opt/sas913sp4/apps/SAS_9.1/sasexe/sas
-bash: /opt/sas913sp4/apps/SAS_9.1/sasexe/sas: No such file or directory

Not too much information there. I then remembered that I’d only installed 64-bit Arch without support for running 32-bit binaries. One of the things I like about Arch is it that has some of the best supporting Linux documentation around. I originally found out about it because I kept finding their documentation useful even on when working with Ubuntu. To configure Arch for 32-bit support I followed the FAQ item: Can I run 32-bit apps inside Arch64

I also installed lib32-glibc:

sudo pacman -S lib32-glibc

… then got this error:

[user@host ~]$ /opt/sas913sp4/apps/SAS_9.1/sasexe/sas
libgcc_s.so.1 must be installed for pthread_cancel to work
Aborted (core dumped)

… which prompted me to install lib32-gcc-libs:

sudo pacman -S lib32-gcc-libs

The next error was:

[user@host ~]$ /opt/sas913sp4/apps/SAS_9.1/sasexe/sas
ERROR:  BRIDGE FAILURE CALLING UNKNOWN.
ERROR:  UNABLE TO LOAD sasmotif FOR SUBSYSTEM 8.
Could not load /opt/sas913sp4/apps/SAS_9.1/hotfix/sasexe/sasmotif (31 images loaded)
Error: libXt.so.6: cannot open shared object file: No such file or directory
ERROR:  BRIDGE FAILURE CALLING UNKNOWN.
ERROR:  UNABLE TO LOAD sasmotif FOR SUBSYSTEM 8.
Could not load /opt/sas913sp4/apps/SAS_9.1/hotfix/sasexe/sasmotif (32 images loaded)
Error: libXt.so.6: cannot open shared object file: No such file or directory
ERROR:  BRIDGE FAILURE CALLING UNKNOWN.
ERROR:  UNABLE TO LOAD sasmotif FOR SUBSYSTEM 8.
ERROR: Image sasmotif found but not loadable.
ERROR: DLOPEN dynamic load failed for load module 
ERROR: Explorer failed to initialize.
WARNING: Protected resource may be inconsistent

… which called for the installation of lib32-libxt:

sudo pacman -S lib32-libxt

I got a bit further again with the next error:

[user@host ~]$ /opt/sas913sp4/apps/SAS_9.1/sasexe/sas

ERROR:  BRIDGE FAILURE CALLING UNKNOWN.
ERROR:  UNABLE TO LOAD sasmotif FOR SUBSYSTEM 8.
Could not load /opt/sas913sp4/apps/SAS_9.1/hotfix/sasexe/sasmotif (29 images loaded)
Error: libXext.so.6: cannot open shared object file: No such file or directory
ERROR:  BRIDGE FAILURE CALLING UNKNOWN.
ERROR:  UNABLE TO LOAD sasmotif FOR SUBSYSTEM 8.
Could not load /opt/sas913sp4/apps/SAS_9.1/hotfix/sasexe/sasmotif (30 images loaded)
Error: libXext.so.6: cannot open shared object file: No such file or directory
ERROR:  BRIDGE FAILURE CALLING UNKNOWN.
ERROR:  UNABLE TO LOAD sasmotif FOR SUBSYSTEM 8.
ERROR: Image sasmotif found but not loadable.
ERROR: DLOPEN dynamic load failed for load module 
ERROR: Explorer failed to initialize.
WARNING: Protected resource may be inconsistent

… and installed lib32-libxext:

sudo pacman -S lib32-libxext

The final error look quite familiar. It was similar to the one I got with SAS 9.3 and the missing libXp library:

[user@host ~]$ /opt/sas913sp4/apps/SAS_9.1/sasexe/sas

ERROR:  BRIDGE FAILURE CALLING UNKNOWN.
ERROR:  UNABLE TO LOAD sasmotif FOR SUBSYSTEM 8.
Could not load /opt/sas913sp4/apps/SAS_9.1/hotfix/sasexe/sasmotif (29 images loaded)
Error: libXp.so.6: cannot open shared object file: No such file or directory
ERROR:  BRIDGE FAILURE CALLING UNKNOWN.
ERROR:  UNABLE TO LOAD sasmotif FOR SUBSYSTEM 8.
Could not load /opt/sas913sp4/apps/SAS_9.1/hotfix/sasexe/sasmotif (30 images loaded)
Error: libXp.so.6: cannot open shared object file: No such file or directory
ERROR:  BRIDGE FAILURE CALLING UNKNOWN.
ERROR:  UNABLE TO LOAD sasmotif FOR SUBSYSTEM 8.
ERROR: Image sasmotif found but not loadable.
ERROR: DLOPEN dynamic load failed for load module 
ERROR: Explorer failed to initialize.
WARNING: Protected resource may be inconsistent

All of the issues so far were very easily solved with a simple pacman install of the required library. This one involved a little more work because the 32-bit libXp library was not in the standard repositories. It was however available in the Arch User Repository (AUR) as lib32-libxp. This time I followed along with the instructions for Installing packages from the Arch User Repository which in summary involved:

wget https://aur.archlinux.org/packages/li/lib32-libxp/lib32-libxp.tar.gz
tar zxf lib32-libxp.tar.gz
cd lib32-libxp
makepkg
sudo pacman -U lib32-libxp-1.0.1-3-x86_64.pkg.tar.xz

That fixed it. With lib32-libxp installed I now had SAS 9.1.3 (32-bit) running too.

It’s still early days for this Arch installation and I may still move on to try another distro, but now I know I can run SAS on Arch and have the steps required to get it going. I’ve posted them here in case it helps someone else too. Of course, as far as I know, Arch is not a supported Linux platform for SAS software so if you need support you would be best to stick with RedHat and SUSE.

9 thoughts on “Getting SAS Software running on Arch Linux 64-bit”

  1. Hi, I’ve successfully installed SAS 9.3 on Ubuntu 14.04 yet I can’t even access it with Arch Linux, which I used quite often recently, on the same computer. Would you please share your configuration?

  2. How do you have the computer configured? Is it dual boot Ubuntu & Arch? Is the partition where SAS has been installed (on Ubuntu) accessible to the Arch install under the same mount point? What error message do you get when you try to launch SAS on Arch?

  3. I’m still a newbie to Linux and the configuration is not out of a systematic plan:
    sda1: ubuntu root; sda2: arch root; sda4: ubuntu home; sda5: arch root.
    Partition table is GPT and the last partition sda8 is a 2MB-Bios-Grub.

    I don’t have direct access to exterior partitions with Arch due to permission issues (i tried some tricks but all failed), so I mount sda1 to /mnt with sudo, yet the system does not give any response when I double click the shortcut, and in command line environment it pops up a message:
    “/mnt/usr/local/SASHome/SASFoundation/9.3/sas: line 126: /usr/local/SASHome/SASFoundation/9.3/sasexe/sas: No such file or directory”

  4. That error message explains it. During SAS installation, the location of SAS is embedded into the sas executable. If you change the SAS install path you need to run the sassetup utility to update the sas executable (it uses patchname). In your case you’d be switching every time you boot to the other operating system so the easiest thing to do is to use a symlink to make it appear to be in the same location in the Arch install. You could use the following when Arch is booted:

    sudo ln -s /mnt/usr/local/SASHome /usr/local/SASHome

    I’m assuming you have SAS Foundation only installed. If you have a planned deployment of SAS then the configuration path (e.g. /opt/sas/config/Lev1) will also be incorrect and you’ll need to symlink in that area too.

    In this situation I would have planned to keep the SAS install in a shared partition with the exact same mount point for both Ubuntu and Arch (something like /opt/sas or /mnt/sas).

  5. i cant install sas 9.3 on redhat linux they launching the deployment then stop plz help

  6. Not sure you can help me, but am posting my problem, just in case.
    I am using Attachmate ReflectionsX as the emulator for SAS 9.3 ( I cannot change that). I need my SAS application to run using Xwindows motif – so no red X shows in the upper right hand of the screen and the users HAVE to use the exit pmenu. I can easily set this option in ReflectionsX. However, as soon as SAS starts, it overlays that motif with the regular windows motif – royal blue frame with the Red X. I fixed this by adding an x ‘mwm’; command to my autoexec file, but this command starts a second Reflections session. When the user exits sas, ReflectionsX will not exit because a client is still running ( the mwm), which throws an error when the user shuts down. Do you have any idea how to change the motif inside SAS? I’ve tried everything and even SAS support hasn’t been able to figure it out. Just thought I’d ask. Thanks,debby

  7. Hi Debby,

    Sorry, I don’t use ReflectionX myself (I use Linux on my desktop which has X already), so it’s not something I’ve tried to do in the past. I also don’t tend to use SAS DMS on Linux either. I see you’ve asked the question on SAS Communities already https://communities.sas.com/message/232433 , so perhaps SAS Technical Support could help?

    Best of luck.
    Paul

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.