GMP 5.1.1 make check fail on Solaris 11

Marc Glisse marc.glisse at
Fri Feb 15 17:53:23 CET 2013

Thanks for the follow-up.

On Fri, 15 Feb 2013, ken mays wrote:

> $gcc -v
> kmays cxx ( gcc -v
> Using built-in specs.
> COLLECT_LTO_WRAPPER=/usr/gcc/4.6/lib/gcc/i386-pc-solaris2.11/4.6.2/lto-wrapper
> Target: i386-pc-solaris2.11
> Configured with: ../gcc-4.6.2/configure --prefix=/usr/gcc/4.6 --libdir=/usr/gcc/
> 4.6/lib --libexecdir=/usr/gcc/4.6/lib --mandir=/usr/gcc/4.6/share/man --infodir=
> /usr/gcc/4.6/info --with-build-time-tools=/usr/sfw --with-as=/usr/sfw/bin/gas --
> with-gnu-as --with-ld=/usr/bin/ld --without-gnu-ld --enable-languages=c,c++,fort
> ran,objc --enable-shared --disable-static --enable-decimal-float --with-gmp=/usr
> /gnu --with-mpfr=/usr/gnu --with-mpc=/usr/gnu --with-libiconv-prefix=/usr/gnu -e
> nable-nls
> Thread model: posix
> gcc version 4.6.2 (GCC)

Seems to be provided by Oracle, maybe you can ask them about it.

> $cd gmp-5.1.1/tests/cxx
> $ ./ken (Note: The ken 'executeable' is your provided test program)
> Results:
> ========
> terminate called after throwing an instance of 'std::invalid_argument'
> Abort (core dumped)

Great, that's the issue located (as far as GMP is concerned).

> libtool: compile:  /opt/sunstudio12.1/bin/CC -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMPXX -I.. -fast -libmieee -KPIC -m64 -c  -KPIC -DPIC -o .libs/limits.o

Note that this -fast is a bit scary.

> Seems like everything else compiles fine, once that issue is resolve and make check passes all C/C++ tests!!

Strange, it used to be necessary to use CXX='CC -library=stlport4' (or 

> Otherwise, the gmp 5.1.1 builds 100% using Sun Studio 12.1 or GCC 4.6.2 with Oracle Solaris 11. The assembler for Sun Studio 12.1
> may be outdated for today's C++ compiler needs, so I suggest people use Oracle Solaris Studio 12.3 - if possible. I used --disable-assembly as a workaround.

To be sure: it worked fine for you with Oracle Solaris Studio 12.3 even 
without disabling asm?

> I'd ask development if during 'configure' if proper C++ exception handling is not detected, a possible warning message alerts the maintainer. Then, the maintainer can chose to either 'fix' the compiler issue or ignore the message!

We'll see what we can do.

Marc Glisse

More information about the gmp-bugs mailing list