gmp 4.1.4 build on 32 bit sparc8 misconfigures build as 64 bit for sparc9
A.Simon at kent.ac.uk
Fri Aug 5 15:56:45 CEST 2005
On Fri, 2005-08-05 at 15:05 +0200, Torbjorn Granlund wrote:
> "Graham Leggett" <minfrin at sharp.fm> writes:
> Overriding it involved reverse engineering the build process, which does
> not fall within the definition of "easy".
> Reading the Install chapter in the bundled documentation, or
> reverse engineer the build process, whichever seems simpler. :-)
Following this rather heated discussion I checked INSTALL and looked at
the info-page. I have to say I agree with Graham. To take a bit of heat
out of the discussion, I attached new INSTALL instructions to this mail.
- The document should be self-contained, as far as this is possible. It
should be enough for 95% of all people installing gmp, not only for the
impatient. Many people will not actually use gmp but are merely told to
install it, hence the introduction to programming gmp in INSTALL is out
of place. The example code makes INSTALL too long to be for the
impatient. Hence, I would not blame anyone for not reading to the end.
If anything should be in INSTALL then it is common problems of building
gmp, especially issues that are specific to gmp, like the ABI variable.
I've been bitten by this before, so I can say I lacked the crucial
information the first time I built gmp.
- A lot of the installation section is structured for people who now
what they are looking for. Since I didn't know about ABIs and ISAs, I
did not read the ABI section so solve my linking problems. Furthermore,
the platform specific notes for Sparc start off performance of sparcv8
vs. superspace and 'Sparc App Regs'. The latter begins by talking about
registers being clobbered. This information can be at the end of the
paragraph in parenthesis (for the curious); the paragraph should start
off by describing the symptom of the problem. I concur with Graham that
there is nothing on Sparc and the ABI in the platform specific section
(version 4.1.4 of gmp). I think the writers of the install section
should consider splitting this section into a FAQ for building problems
and advice on improving performance.
-------------- next part --------------
Copyright 1996, 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
The GNU MP Library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or (at your
option) any later version.
The GNU MP Library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public License
along with the GNU MP Library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
INSTALLING GNU MP
These instructions are only for the impatient. Others should read the install
instructions in gmp.info. Use
or in emacs
C-u C-h i gmp.info
Here are some brief instructions on how to install GMP. For a more thorough
description of the many ways gmp can be configured, refer to the install
instructions in the manual page which can be read by typing
info -f ./gmp.info
in the current directory.
The gmp library uses the autoconf tool-chain which should enable you to build
and install the library by typing the following:
Type "./configure --help" to check what options the configure script supports.
For example, you might want to specify the --prefix=<your path> option
which will install the library into <your path>. If this option is not given,
the library will be installed into /usr/local. Note that in this case
"make install" root privileges.
While configuration is fully automatic, some inferred values might not be
what you expect. Most notably, the library will be built as a 64-bit library
if the platform supports this. Some applications, however, expect a 32-bit
library (even on 64-bit platforms) and will fail to link against an
off-the-shelf built of gmp if it defaults to 64-bit. To force gmp to built
as a 32-bit library, set the ABI environment variable when you run configure:
Sometimes the build works fine but the resulting library is actually
broken. To check that gmp was built correctly, you should run "make check"
preferably before you install it.
If any of the above steps fail, or you care about the performance of GMP,
you need to read the full instructions in the chapter "Installing GMP"
in the manual.
Some known build problems are noted in the "Installing GMP" chapter of
the manual. Please report other problems to bug-gmp at gnu.org.
To create the printable documentation from the texinfo source, type "make
gmp.dvi" or "make gmp.ps". This requires various "tex" commands.
More information about the gmp-bugs