64 bit compile fails on Solaris 9

Ken Raeburn raeburn at MIT.EDU
Wed Feb 4 23:06:41 EST 2004


On Wednesday, Feb 4, 2004, at 08:13 US/Eastern, Hwntw wrote:

> I have successfully compiled Kerberos 1.3.3 without the -m64 flag. But 
> when
> I try it with with these configure options
> (./configure --without-krb4 --enable-dns --enable-dns-for-realm CC=gcc
> LD=/usr/ccs/bin/ld AR=/usr/ccs/bin/ar CFLAGS=-m64) it fails. Error msg
> sample below:
> m64 -c aes-gen.c
> gcc -o aes-gen aes-gen.o aescrypt.o      aestab.o        aeskey.o
> ld: fatal: file aes-gen.o: wrong ELF class: ELFCLASS64
> ld: fatal: File processing errors. No output written to aes-gen

The linker is trying to produce a 32-bit executable, it appears.  In 
lib/crypto/aes/Makefile, the rules for building aes-gen should use 
$(CC_LINK) instead of $(CC).

One other hiccup you might run into is the handling of getsockname 
arguments.  We've had some discussion about fixing it, but for now, the 
code may not work on 64-bit Solaris.  One configuration we do test 
builds on nightly uses:

   CC="cc -xarch=v9 -D_XOPEN_SOURCE=500 -D__EXTENSIONS__"

and seems to work pretty well.  If you've got the Sun compiler (we're 
using Forte Developer 7), you might want to try it.  I'd also be 
interested in how it works with gcc.

Ken



More information about the Kerberos mailing list