DCC version 1.3.47/2.3.47 released

Gary Mills mills@cc.umanitoba.ca
Thu Feb 1 14:22:17 UTC 2007


On Wed, Jan 31, 2007 at 08:10:30PM -0700, Vernon Schryver wrote:
> > From: Gary Mills 
> 
> >   ld: warning: file /usr/local/src/sendmail/sendmail-8.13.0/obj.SunOS.5.9.sun4/libmilter/libmilter.a(main.o): wrong ELF class: ELFCLASS32
> >
> > It was using the compiler option `-xarch=generic64' to build 64-bit
> > objects, but my milter library contained only 32-bit members.  I fixed
> > this by hacking the configure script.
> 
> Shouldn't the sendmail makefiles generate both 32-bit and 64-bit libraries?
> Or use `isainfo` and other probing to generate only 64-bit libraries?

Configuration is manual with sendmail.  You specify compiler options
directly, so it can generate any type of executable that you want.
It won't generate both types in one operation, but you can set up
alternate configurations and build it twice if you want to do that.
I've never build 64-bit sendmail.

> >                                        It really needs a configure
> > option to specify 32 or 64-bit executables.  On Solaris, most software
> > is 32-bits, even if the kernel is running in 64-bit mode.
> 
> Configure options are a pain because almost no one uses then when
> they are needed, but many people use them when they should not.

In that case, all you can do is to provide reasonable defaults.  For
Solaris, the usual default is 32-bit objects, even if the system is
capable of running 64-bit objects.  For Linux, the opposite is true.
It's a difference in philosophy.

The problem with configure using `isainfo -b' to decide whether to
build 64-bit objects is that it doesn't determine my intention.  It
assumes that I'm going to run the software on the same machine where
I'm building it, and that I want 64-bit objects if they are possible.
For me, both of these assumptions are incorrect.

> Did you try running ./configure with whatever CFLAGS and LIBS set
> in the enviroment are the opposite of -xarch=generic64?  

The opposite would be the compiler default of -xarch=v8plus.  No, I
didn't try that.

> Perhaps I could change the ./configure script to look in $CFLAGS for
> any of -m32, -m64, or -xarch string and if found, not add -m64 or -xarch=*

The reverse would be better, in the case of Solaris.  Honour the compiler
defaults.

-- 
-Gary Mills-    -Unix Support-    -U of M Academic Computing and Networking-



More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.