gm2
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gm2] Building 32- and 64-bit gcc-4.7.3 on Solaris 10/sparc


From: john o goyo
Subject: [Gm2] Building 32- and 64-bit gcc-4.7.3 on Solaris 10/sparc
Date: Fri, 29 Aug 2014 14:58:47 -0400
User-agent: Mozilla/5.0 (X11; SunOS sun4u; rv:10.0) Gecko/20120130 Thunderbird/10.0

Having begun de nuovo, I now have a repeatable process for buidling
gcc-4.7.3 on Solaris 10/sparc using gcc-4.1.2.  The problem was gmp,
which builds either 32-bit or 64-bit libraries and overwrites the
existing header file without warning.

The following are repeatable.  I repeated the entire process ab initio
three times.  On the other hand, gm2-4.7.3 fails at configuration (as
reported in a separate mail).

0. Environment:

   (from printenv)
   SHELL=/usr/bin/bash
   LD_LIBRARY_PATH=/usr/local/lib:/home/build/gcc4.1.2/lib
   LD_LIBRARY_PATH_64=/usr/local/lib/64:/home/build/gcc4.1.2/lib/sparcv9
   PATH=/home/build/bin:/home/build/gcc4.1.2/bin:/usr/local/bin:\
   /usr/dt/bin:/usr/xpg4/bin:/opt/sfw/bin:/usr/sfw/bin:\
   /opt/sfw/teTeX/bin/sparc-sun-solaris2.10:/bin:/usr/bin:\
   /usr/ccs/bin:/usr/ucb:/etc:.

   (uname -a)
   SunOS deux 5.10 Generic_137137-09 sun4u sparc SUNW,Sun-Blade-2500 \
   Solaris


1. gmp-5.1.3:

   ./configure \
   --libdir=/usr/local/lib/64 \
   ABI=64 SHELL=/bin/bash

   gmake builds cleanly;
   gmake check passes all tests;
   replace call to ranlib with call to echo in libtool;
   gmake install;
   in /usr/local/include, rename gmp.h --> gmp64.h; and
   gmake distclean to prepare for 32-bits.


   ./configure \
   ABI=32 SHELL=/bin/bash

   gmake builds cleanly;
   gmake check passes all tests;
   replace call to ranlib with call to echo in libtool;
   gmake install; and
   in /usr/local/include, rename gmp.h --> gmp32.h.

   Create /usr/local/include/gmp.h to include either gmp32.h or
   gmp64.h conditional upon __LP64__ (defined by both gcc-4.1.2
   and Sun Studio 12).


2. mpfr-4.1.2:
   Note: Do NOT patch this version or the build of mpc will faild.

   ./configure \
   --libdir=/usr/local/lib/64 \
   --with-gmp-include=/usr/local/include \
   --with-gmp-lib=/usr/local/lib/64 \
   SHELL=/bin/bash CFLAGS=-mcpu=v9

   gmake builds cleanly;
   gmake check passes all tests;
   replace call to ranlib with call to echo in libtool;
   gmake install; and
   gmake distclean in preparation for 32 bits.


   ./configure \
   --with-gmp=/usr/local \
   SHELL=/bin/bash \
   CFLAGS="-mcpu=v9 -m32"

   gmake builds cleanly;
   gmake check passes all tests;
   replace call to ranlib with call to echo in libtool; and
   gmake install.
   (Same header files are used for both versions.)


3. mpc-1.0.2

   ./configure \
   --libdir=/usr/local/lib/64 \
   --with-gmp-include=/usr/local/include \
   --with-gmp-lib=/usr/local/lib/64 \
   --with-mpfr-include=/usr/local/include \
   --with-mpfr-lib=/usr/local/lib/64  \
   SHELL=/bin/bash \
   CFLAGS="-mcpu=v9"

   gmake builds cleanly;
   gmake check passes all tests;
   gmake isntall; and
   gmake clean to prepare for 32-bit build.

   ./configure \
   --with-gmp=/usr/local \
   --with-mpfr=/usr/local \
   SHELL=/bin/bash \
   CFLAGS="-mcpu=v9 -m32"

   gmake builds cleanly; and
   gmake check passes all tests except mpc_atan(op) with rounding error,
   but remaining tests passed when run by hand; and
   gmake install.


4. gcc-4.7.3 (unpatched):

   $(SRCDIR)/gcc-4.7.3/configure \
   --prefix=$HOME/gcc-4.7.3 \
   --exec-prefix=$HOME/gcc-4.7.3 \
   --without-gnu-ld --with-ld=/usr/ccs/bin/ld \
   --with-gnu-as --with-as=/usr/sfw/bin/gas  \
   --with-mpc-include=/usr/local/include \
   --with-mpc-lib=/usr/local/lib/64 \
   --with-mpfr-include=/usr/local/include \
   --with-mpfr-lib=/usr/local/lib/64 \
   --with-gmp-include=/usr/local/include \
   --with-gmp-lib=/usr/local/lib/64 \
   --enable-languages=c,c++ \
   --disable-bootstrap --enable-checking \
   --enable-shared --disable-libitm

   gmake builds cleanly; and
   gmake install installed both 32- and 64-bit binaries.


john




reply via email to

[Prev in Thread] Current Thread [Next in Thread]