[Samba] samba problems on aix

William Jojo jojowil at hvcc.edu
Fri May 13 11:55:03 GMT 2005

On Thu, 12 May 2005 a_sun at dacafe.com wrote:

> Installed samba and libiconv 1.9.1 (download from bullfreeware) on
> AIX 5.2. When I run smbclient, it says error:
> exec(): 0509-036 Cannot load program ./smbclient because of the following
> errors:
> 0509-150 Dependent module libreadline.a(libreadline.so) could not be loaded.
> 0509-022 Cannot load module libreadline.a(libreadline.so).
> 0509-026 System error: A file or directory in the path name does not exist.
> If I try swat from IE, it says:
> exec(): 0509-036 Cannot load program swat because of the following errors:
> 0509-150 Dependent module libldap.a(libldap.so.2) could not be loaded.
> 0509-022 Cannot load module libldap.a(libldap.so.2).
> 0509-026 System error: A file or directory in the path name does not exist.

What is the value of LIBPATH? It sounds like AIX is searching and not
finding your libs. Try ldd (substitute your path to smbd):

[support:/] # ldd /samba/3.0.11/sbin/smbd
/samba/3.0.11/sbin/smbd needs:

You may need to get additional libs from Bull or IBM. Ferret out which
libs you "don't have" based on where the loader is looking.

> Does anyone know how to fix it?

Worst case is you may have to build Samba yourself. 3.0.4 is pretty old at
this point and 3.0.15 is on the way. I sent an email yesterday with
instrunctions for building on AIX. I've attached them again.

It includes KRB support, so if you so want ADS member support, remove the
"--without-ads" in the samba build section. I don't use it, so the option
drops the size of the smbd by a couple megs.


> -----------------------------------------
> Stay ahead of the information curve.
> Receive MCAD news and jobs on your desktop daily.
> Subscribe today to the MCAD CafeNews newsletter.
> [ http://www10.mcadcafe.com/nl/newsletter_subscribe.php ]
> It's informative and essential.
> --
> To unsubscribe from this list go to the following URL and read the
> instructions:  https://lists.samba.org/mailman/listinfo/samba
-------------- next part --------------

Get gcc, bison and gdb (and whatever else you like!) from IBM:


Before you get started, I'd create a 4GB /src filesystem.

Also either create a /usr/local filesytem of a few GB or extend /usr

and make a /usr/local dir.


Build GNU make 3.8.0


# mkdir /src/make

# cp /path/to/gnumake /src/make

# cd /src/make

# gunzip make-3.80.tar.gz

# tar -xvf make-3.80.tar

# chown -R root:system make-3.80

# cd make-3.80

# ./configure

# make

# make install

# ln -sf /usr/local/bin/make /usr/bin/make

(the symlink replaces the one that points /usr/ccs/bin/make)


Build libiconv:


# mkdir /src/libiconv

# cp /path/to/libiconvtarball /src/libiconv

# cd /src/libiconv

# gunzip libiconv-1.9.1.tar.gz

# tar -xvf libiconv-1.9.1.tar

# chown -R root:system libiconv-1.9.1

# cd libiconv-1.9.1

# ./configure

# make

# make install

( the IBM libiconv will fail certain tests for Samba 3.0 )


Build BerkeleyDB:


This can work for either 4.2 or 4.3.

Extract the tarball to a suitable location:

# mkdir /src/bdb

# cp /path/to/berkeleydbtarball /src/bdb

# cd /src/bdb

# gunzip db-4.2.52.NC.tar.gz

# tar -xvf db-4.2.52.NC.tar

# chown -R root:system db-4.2.52.NC

# cd db-4.2.52.NC/build_unix

# ../dist/configure --enable-posixmutexes

# make

# make install


Build OpenSSL 0.9.7?:


# mkdir /src/openssl

# cp /path/to/openssltarball /src/openssl

# cd /src/openssl

# gunzip openssl-0.9.7e.tar.gz

# tar -xvf openssl-0.9.7e.tar

# chown -R root:system openssl-0.9.7e

# cd openssl-0.9.7e

# ./config threads

# make

# make install


Build Kerberos (MIT 1.4 - requires bison):


# mkdir /src/krb

# cp /path/to/krbtarball /src/krb

# cd /src/krb

# gunzip krb5-1.4.1-signed.tar.gz

# tar -xvf krb5-1.4.1-signed.tar

# gunzip krb5-1.4.1.tar.gz

# tar -xvf krb5-1.4.1.tar

# chown -R root:system krb5-1.4.1

# cd krb5-1.4.1/src

# ./configure

# make

# make install


Build Cyrus SASL:


# mkdir /src/sasl

# cp /path/to/sasltarball /src/sasl

# cd /src/sasl

# gunzip cyrus-sasl-2.1.20.tar.gz

# tar -xvf cyrus-sasl-2.1.20.tar

# chown -R root:system cyrus-sasl-2.1.20

# cd cyrus-sasl-2.1.20

# env CC=gcc CFLAGS="-L/usr/local/BerkeleyDB.4.2/lib -L/usr/local/lib -I/usr/local/include -lpthread" \

./configure \

--with-bdb-libdir=/usr/local/BerkeleyDB.4.2/lib \

--with-bdb-incdir=/usr/local/BerkeleyDB.4.2/include \

--with-openssl=/usr/local/ssl --disable-gssapi

# make

# make install


Build OpenLDAP 2.2.26:


# mkdir /src/openldap

# cp /path/to/openldaptarball /src/openldap

# cd /src/openldap

# gunzip openldap-2.2.26.tar.gz

# tar -xvf openldap-2.2.26.tar

# chown -R root:system openldap-2.2.26

# cd openldap-2.2.26

# export CFLAGS="-I/usr/local/ssl/include -I/usr/local/BerkeleyDB.4.2/include -I/usr/local/include/sasl"

# export CPPFLAGS="-I/usr/local/ssl/include -I/usr/local/BerkeleyDB.4.2/include -I/usr/local/include/sasl"

# export LDFLAGS="-L/usr/local/ssl/lib -L/usr/local/BerkeleyDB.4.2/lib -L/usr/local/lib  -ldb -lpthread -lcrypto -lssl"

# env CC="gcc" \

./configure \

--enable-bdb --enable-spasswd --enable-crypt --enable-slapd --enable-dynamic \

--with-cyrus-sasl --with-tls=openssl --enable-rlookups

# make

# make install


Build Samba 3.0.x

(Make a filesystem called /samba [512MB] and /netlogon [64MB] )


# mkdir /src/samba

# cp /path/to/sambatarball /src/samba

# cd /src/samba

# gunzip samba-3.0.14a.tar.gz

# tar -xvf samba-3.0.14a.tar

# chown -R root:system samba-3.0.14a

# cd samba-3.0.14a/source

# env CC=gcc CFLAGS="-O -D_ALL_SOURCE" LDFLAGS="-lpthread -lssl -lcrypto -lsasl2 -ldb -L/usr/local/lib -L/usr/local/ssl/lib -L/usr/local/BerkeleyDB.4.2/lib" \

CPPFLAGS="-I/usr/local/include -I/usr/local/include/ssl" \

./configure --with-ldap=/usr/local --prefix=/samba/3.0.14 --with-sendfile --with-ads=no --with-acl-support=yes -with-libiconv=/usr/local

# make

# make install


Samba is now installed in /samba/3.0.14a (or whatever version you want)

We do it this way only to allow rapid movement between versions when testing

certain bugs we encounter. Do it however you like - if you like /usr/local/samba,

then use that.

At this point you'll need to set up a basic /samba/3.0.14a/lib/smb.conf and

begin considerations for login script(s) in /netlogon.

This part of the show is going to be very specific to your needs.

Start reading:


More information about the samba mailing list