I've had problems building mpir in Sage, so downloaded the clean source, to try 
it outside. The setup is

Sun Ultra 27 - quad core 3.333 GHz Xeon. 12 GB RAM
Open Solaris 06/2009
Sun Studio 12.1

First, the good news.

1) Configuring like this works

$ export CC=/opt/sunstudio12.1/bin/cc
$ export CXX=/opt/sunstudio12.1/bin/CC
$ export CFLAGS=-m64
$ export CXXFLAGS=-m64
$ export ABI=32
$ configure
$ make
$ make check

All tests pass.

2) Configuring similar to above, but adding the option --enable-cxx

$ configure --enable-cxx

Again no problem. (That option is used in Sage)

3) Now this is the problem arises if I try to be a bit clever with CXXFLAGS, 
and 
add the "-library=stlport4" option, which makes the C library more compatible 
with the latest ISO C++ standard (the default library is compatible with an 
older standard).

http://developers.sun.com/solaris/articles/cmp_stlport_libCstd.html

That's not used in Sage, but it will be necessary, otherwise PolyBoRi will not 
build. One can't mix the libraries - one has to use either the old standard or 
the new standard. It is obviously preferable to use the new standard, which 
needs the -library=stlport4 option.

$ export CXXFLAGS="-m64  -library=stlport4"
$ configure --enable-cxx

Now the build fails, with:



make[2]: Entering directory `/tmp/mpir-1.2.2/cxx'
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC 
-DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX -I..    -m64 
-library=stlport4 -c -o isfuns.lo isfuns.cc
mkdir .libs
  /opt/sunstudio12.1/bin/CC -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX 
-I.. -m64 -library=stlport4 -c isfuns.cc  -KPIC -DPIC -o .libs/isfuns.o
  /opt/sunstudio12.1/bin/CC -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX 
-I.. -m64 -library=stlport4 -c isfuns.cc -o isfuns.o >/dev/null 2>&1
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC 
-DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX -I..    -m64 
-library=stlport4 -c -o ismpf.lo ismpf.cc
  /opt/sunstudio12.1/bin/CC -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX 
-I.. -m64 -library=stlport4 -c ismpf.cc  -KPIC -DPIC -o .libs/ismpf.o
  /opt/sunstudio12.1/bin/CC -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX 
-I.. -m64 -library=stlport4 -c ismpf.cc -o ismpf.o >/dev/null 2>&1
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC 
-DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX -I..    -m64 
-library=stlport4 -c -o ismpq.lo ismpq.cc
  /opt/sunstudio12.1/bin/CC -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX 
-I.. -m64 -library=stlport4 -c ismpq.cc  -KPIC -DPIC -o .libs/ismpq.o
  /opt/sunstudio12.1/bin/CC -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX 
-I.. -m64 -library=stlport4 -c ismpq.cc -o ismpq.o >/dev/null 2>&1
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC 
-DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX -I..    -m64 
-library=stlport4 -c -o ismpz.lo ismpz.cc
  /opt/sunstudio12.1/bin/CC -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX 
-I.. -m64 -library=stlport4 -c ismpz.cc  -KPIC -DPIC -o .libs/ismpz.o
  /opt/sunstudio12.1/bin/CC -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX 
-I.. -m64 -library=stlport4 -c ismpz.cc -o ismpz.o >/dev/null 2>&1
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC 
-DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX -I..    -m64 
-library=stlport4 -c -o ismpznw.lo ismpznw.cc
  /opt/sunstudio12.1/bin/CC -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX 
-I.. -m64 -library=stlport4 -c ismpznw.cc  -KPIC -DPIC -o .libs/ismpznw.o
  /opt/sunstudio12.1/bin/CC -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX 
-I.. -m64 -library=stlport4 -c ismpznw.cc -o ismpznw.o >/dev/null 2>&1
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC 
-DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX -I..    -m64 
-library=stlport4 -c -o osdoprnti.lo osdoprnti.cc
  /opt/sunstudio12.1/bin/CC -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMPXX 
-I.. -m64 -library=stlport4 -c osdoprnti.cc  -KPIC -DPIC -o .libs/osdoprnti.o
"../mpir.h", line 629: Error: va_list is not defined.
"../mpir.h", line 634: Error: va_list is not defined.
"../mpir.h", line 639: Error: va_list is not defined.
"../mpir.h", line 644: Error: va_list is not defined.
"../mpir.h", line 649: Error: va_list is not defined.
"../mpir.h", line 668: Error: va_list is not defined.
"../mpir.h", line 673: Error: va_list is not defined.
"../mpir.h", line 678: Error: va_list is not defined.
"../gmp-impl.h", line 3682: Error: va_list is not defined.
"../gmp-impl.h", line 3785: Error: va_list is not defined.
"../gmp-impl.h", line 3791: Error: va_list is not defined.
"../gmp-impl.h", line 3811: Error: va_list is not defined.
12 Error(s) detected.
make[2]: *** [osdoprnti.lo] Error 1
make[2]: Leaving directory `/tmp/mpir-1.2.2/cxx'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/mpir-1.2.2'
make: *** [all] Error 2


I've stuck a complete copy of the build, so you can see the Makefiles, source, 
etc etc at

http://boxen.math.washington.edu/home/kirkby/Open-Solaris/failed-builds/mpir-1.2.2/

I suspect William could create an account for one of the MPIR developers on an 
Open Solaris system, if someone does not already have one. On the off-chance 
that error is not seen there, then I can create one on my Ultra 27, though the 
network will be slow, the machine is pretty quick.

Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to