Knowledgebase: Linux Specific
Error regarding pam_unix.so on 64-bit Debian Linux
Posted by Sven Koester on 30 June 2008 13:04

On 64 bit Debian Linux Systems, the 32 bit shared libraries are  not installed by default

PresSTORE is a 32 bit application and requires the 32 bit libraries.

The installation is usually possible with the command:

apt-get install ia32-libs

In case that fails, please use the high level package manager instead:

aptitude install ia32-libs

 


After that installation, PresSTORE can be installed and started, but it is not possible to log in. In the system.log, the
follow line appears:

nsd[5457]: PAM [dlerror: /lib/security/pam_unix.so: cannot open shared object file: No such file or directory]

The reason is that PresSTORE supports PAM, the Pluggable Authentication Module. But PresSTORE is a 32 bit application and thus requires the 32-bit versions of the PAM modules. These modules have not been included in the Debian 64 bit distribution. Unfortunately the required libraries cannot be installed as package from the 64 bit distribution but must be either copied from a 32 bit system, or they can be downloaded from debian.

To do so, please follow these steps:

1. Check on http://ftp.us.debian.org/debian/pool/main/p/pam for the latest libpam-modules*i368.deb package.

2. Download that package to a temporary space and unpack it:

    wget http://ftp.us.debian.org/debian/pool/main/p/pam/libpam-modules_1.1.3-7.1_i386.deb

    mkdir pam

    dpkg -X libpam-modules_1.1.3-7.1_i386.deb pam

3. move the required libraries  into the /lib32 folder:

    mv pam/lib/i386-linux-gnu/security/* /lib32/security/.

    rm -r pam

4. You will need to adopt the installed pam configuration of PresSTORE. Please change these lines:

    auth required       pam_unix.so
    account required    pam_unix.so

    to

    auth required    /lib32/security/pam_unix.so
    account required /lib32/security/pam_unix.so

That's all, after that step login must be possible in PresSTORE, too.

 

IMPORTANT: When upgrading from one minor Presstore version to another (e.g. 4.4.2 to 4.4.8), it is sufficient to unpack the Presstore .tgz file into /usr/local/aw, followed by restarting Presstore. There is no need to run the installer script (install.sh). Doing so would reset the PAM configuration, logins would once again fail,  and the above changes would have to be re-done in order to fix.

 

UPDATE: A customer has reported that with Debian 8 "Jessie" the 'ia32-libs' package is no longer available. Therefore, the following libraries will need to be installed.:

 

dpkg --add-architecture i386
apt-get update
apt-get install zlib1g:i386 libpam-modules:i386 libacl1:i386

 

 

keywords: linux shared 32bit 32-bit 64bit 64-bit missing

(474 vote(s))
Helpful
Not helpful

Comments (5)
Phil Frost
12 September 2011 16:06
It's also necessary to install ia32-libs before installation is possible (aptitude install ia32-libs).

An easier way to get the 32-bit PAM modules, which aren't included in ia32-libs (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=463420) is to manually unpack them from the i386 Debian module:

wget http://ftp.us.debian.org/debian/pool/main/p/pam/libpam-modules_1.1.1-6.1_i386.deb
mkdir pam
dpkg -X libpam-modules_1.1.1-6.1_i386.deb pam
cp pam/lib/security/* /lib32/security
rm -r pam
S.Koester
09 October 2012 15:43
Thanks Phil, I updated the article, yours seems to be the easiest way.
Thomas Kaiser
18 November 2012 18:28
On recent 64 bit Ubuntu versions it seems that it also necessary to get libpam0g_1.1.3-7ubuntu2_i386.deb from http://packages.ubuntu.com/precise/i386/libpam0g/download

1) get the aforementioned package
2) mkdir pam
3) dpkg -x libpam0g_1.1.3-7ubuntu2_i386.deb pam
4) cd pam/lib/i386-linux-gnu/
5) cp -p libpam.so.0.83.0 /lib/i386-linux-gnu/
6) cd /lib/i386-linux-gnu/
7) ln -s libpam.so.0.83.0 libpam.so.0

Afterwards PresStore will start without the annoying error message.
Sven Koester
31 December 2012 10:28
Thanks Thomas. For Ubuntu, please have a look here:
http://portal.archiware.com/support/index.php?/Knowledgebase/Article/View/108/0/errors-on-64bit-ubuntu-linux
Christophe REMOND
31 October 2013 10:27
On Debian 7 Wheezy, it appears now easier (due to the multi-arch support):

dpkg --add-architecture i386 # enable multi-arch
apt-get update

apt-get install zlib1g:i386 libpam-modules:i386 libacl1:i386

that's it , you can now start PresSTORE (tested with 4.4.10 and no need to change the pam config)

Post a new comment
 
 
Full Name:
Email:
Comments:
CAPTCHA Verification 
 
Please enter the text you see in the image into the textbox below (we use this to prevent automated submissions).