bug in configure

Peter Farkas Peter.Farkas at Sun.COM
Sun Dec 10 01:50:13 CET 2006


Torbjorn Granlund wrote:
> Peter Farkas <Peter.Farkas at Sun.COM> writes:
> 
>   This is a bug report in the configure scripts in GMP 4.2.1 (2006-05-04).
>   
>   SYNOPSIS:
>   
>   --build ABI=longlong causes inconsistent .h files on UltraSPARC based
>   systems running Solaris
>   
>   ENVIRONMENT:
>   
>   - UltraSPARC based systems, I tried SunBlade with UltraSPARC-II,
>   UltraSPARC-III+ and Sun-Fire with UltraSPARC-T1
>   - Solaris, I tried Solaris 2.9, Solaris 2.10
>   - I tried three compilers: SunStudio 11 from Sun, GCC for SPARC
>   Systems from Sun (see
>   http://www.sun.com/download/products.xml?id=44e24b9d ) and gcc
>   version 3.4.5
>   
>   DESCRIPTION:
>   
>   Do
>   
>   ./configure --prefix=<your_install_path> --build=none ABI=longlong \
>   CC=<your_cc_path>
>   
>   Then do
>   
>   make
>   
> And expect failures, I'd say.  No bug, user error.
> 
> ABI=longlong should not be expected to work.
> 
> From where where did you get that option?  It is certainly not
> in the manual.
> 

Dear Torbjorn,

I don't protest you closing this bug, it is your decision, and it is
not about a useful configuration anyway.  I just want to correct a typo
in the synopsis (for the record), and I want to answer your question.

The corrected synopsis should read:

SYNOPSIS:

--build=none ABI=longlong causes inconsistent .h files on UltraSPARC
based systems running Solaris

It is clear enough that I meant --build=none rather than --build,
but I wanted to make things explicit.  Sorry about the error.

As for the question "From where did you get that option?":

I wanted to specify --build=none, and at the same time I wanted
to build 64-bit libraries.  So I specified ABI=64.  (Yes, I confess
this was before reading the manual, but after reading the output
from "./configure --help".)  This is what I see:

% ./configure --prefix=<...> CC=<...> --build=none ABI=64
checking build system type... none-none-none
checking host system type... none-none-none
checking for a BSD-compatible install... /pkg/gnu/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
configure: error: ABI=64 is not among the following valid choices: long 
longlong

The implication from the error message is that in this case, the
possible choices for ABI are long and longlong, and that they are
valid.

I would argue that this is not user error since I did not use an
illegal combination of flags, and I followed the instructions from
the help system and the error message.  If the bug is not in the
configure script's logic, it is in the error message.

By the way, the combination

CC=<...> --build=none ABI=longlong CFLAGS="... -xarch=v9"

produced correct and perfectly usable 64-bit libraries, which is
another implication that it should be legal to build libraries
with --build=none ABI=longlong.  At the same time, this is a
workaround to the bug (or not-bug, depending on one's point of
view).

Of course, another workaround is to add --host=sparcv9-sun-solaris2.9
(or whatever version of solaris is desired) as suggested by the
manual on page 11.

Thank you for your reply,

Peter


More information about the gmp-bugs mailing list