[Samba] wrong ELF class error

Udo Rader udo.rader at bestsolution.at
Wed Mar 26 22:12:53 GMT 2008


Am Mittwoch, den 26.03.2008, 14:45 -0400 schrieb Daulton Theodore:
> I am trying to configure samba on a Sunfire V125 with Solaris 9 using:
> - openldap-2.3.22
> - libiconv-1.9.1
> - samba-3.0.23a
> - krb5-1.6.3 (the previous build used krb5-1.5.1
> 
> Kereberos, openldap and libiconv are all installed but the samba build 
> generates an error.
> 
> The following works:
>   ./configure --prefix=/usr/local/samba \
>               --with-ldap \
>               --with-ads \
>               --with-krb5 \
>               --with-pam \
>               --with-winbind
> 
> I then set LD_PRELOAD:
> # export LD_PRELOAD=/usr/local/lib/libiconv_plug.so
> 
> However when I run 'make' I get the following output:
> # make
> Using FLAGS =  -I/usr/local/include -O -D_SAMBA_BUILD_ -I/lib001/samba_binaries/samba-3.0.23a/source/popt -I/lib001/samba_binaries/samba-3.0.23a/source/iniparser/src -Iinclude -I/lib001/samba_binaries/samba-3.0.23a/source/include -I/lib001/samba_binaries/samba-3.0.23a/source/tdb  -I. -DHAVE_CONFIG_H  -I/usr/local/include -D_LARGEFILE_SOURCE -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DLDAP_DEPRECATED -DSUNOS5 -I/lib001/samba_binaries/samba-3.0.23a/source -D_SAMBA_BUILD_
>       LIBS = -lsendfile -lresolv -lnsl -lsocket -ldl -liconv
>       LDSHFLAGS = -G  -L/usr/local/lib -R/usr/local/lib -lthread
>       LDFLAGS = -L/usr/local/lib -R/usr/local/lib -lthread
>       PIE_CFLAGS =
>       PIE_LDFLAGS =
> Generating smbd/build_options.c
> Building include/proto.h
> ld.so.1: sort: fatal: /usr/local/lib/libiconv_plug.so: wrong ELF class: ELFCLASS32
> creating /lib001/samba_binaries/samba-3.0.23a/source/include/proto.h
> 
> <>
> and it just sits there until I break out of it <CTRL-\>
> 
> Has anyone encountered this? Any idea what this 'wrong ELF class' means? I 
> am hoping someone will have come across this and offer some suggestion as 
> to how to get past this point.

I cannot help you much with solaris, but on linux "wrong ELF class" is
an indication that you try to use/run a pice of software not fitting the
processor architecture.

"wrong ELF class: ELFCLASS32" means 32bit software, so my best guess
would be that you try to run 32bit software on a non 32bit system.

In your case it appears that /usr/local/lib/libiconv_plug.so has been
compiled for a different arcitecture.

Try 

% file /usr/local/lib/libiconv_plug.so
and
% uname -m

and tell us what you get.

-- 
Udo Rader

bestsolution.at EDV Systemhaus GmbH
http://www.bestsolution.at
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Dies ist ein digital signierter Nachrichtenteil
Url : http://lists.samba.org/archive/samba/attachments/20080326/d274e15d/attachment.bin


More information about the samba mailing list