When Michael Abshoff used to build Sage on those machines, he would
build GCC from source.
William
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
Mariah has installed a GCC configired to use the Sun linker and Sun
assembler on mark, thogh I forget the command one needs to actually
source the file which sets up gcc ok.
I'm not in a position to check these machines now, as I don't have the
IP address of the central machine, or access to some of my emails. But
essentially:
1) On SPARC one needs to have gcc using the Sun linker and Sun assembler
drkirkby@redstart:~$ gcc -v
Using built-in specs.
Target: sparc-sun-solaris2.10
Configured with: ../gcc-4.4.3/configure --prefix=/usr/local/gcc-4.4.3
--with-mpfr=/usr/local/gcc-4.4.3 --with-build-time-tools=/usr/ccs/bin
--with-gmp=/usr/local/gcc-4.4.3 --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.4.3 (GCC)
Note how -with-build-time-tools=/usr/ccs/bin forces the use of the Sun
tools (linker and assembler). One could also achieve the same with
--with-ld=/usr/ccs/bin/ld --with-as=/usr/ccs/bin/as.
2) On x86 one needs to have gcc using the Sun linker but the GNU assembler.
drkirkby@laptop:~$ gcc -v
Using built-in specs.
Target: i386-pc-solaris2.11
Configured with: ../gcc-4.4.4/configure
--prefix=/usr/local/gcc-4.4.4-Sun-Linker-GAS
--with-as=/usr/local/binutils-2.20/bin/as --with-ld=/usr/ccs/bin/ld
--with-gmp=/usr/local --with-mpfr=/usr/local --enable-shared
--enable-multilib --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.4.4 (GCC)
Note the assembler is part of GNU binutils /usr/local/binutils-2.20/bin/a
but the linker is the Sun one --with-ld=/usr/ccs/bin/ld
So gcc needs configuring different ways on the SPARC and x86.
When Micheal built Sage, he used the GNU linker. That was easier, as
numerous bits of Sage used GNU-specific options. However, the GCC
manual says they advise the use of the Sun linker.
Dave
I believe John has built Sage on 'mark' using the compiler that Mariah
installed. In any case, Mariah built gcc from source code, following the
suggestions I made - using the Sun linker and Sun assembler.
There's a fundamental difference in the way Michael and I built Sage on SPARC.
* Micheal used the GNU linker and GNU assembler. That means there were fewer
code changes needed in Sage, as any GNU-specific options passed to the linker or
assembler will not cause a problem. As you know, Michael never got all the
doctests passing.
* I used the Sun linker and Sun assembler. That needed more code changes in
Sage, but the Sun linker in particular is more reliable than the GNU one.
Blastwave, Sun, SunFreeware all ship gcc binaries built using the Sun linker.
For Solaris 10 on x86, the GNU assembler is to be preferred, but still use the
Sun linker.
http://gcc.gnu.org/install/specific.html#ix86-x-solaris210
Mariah has now configured gcc like that too. So mark, mark2 and fulvia all have
gcc configured the way I suggested to Mariah. However, they may not be the
default compilers.
I've not yet put any serious effort to building Sage on skynet, as I have
similar or higher specification equipment of my own. But now others are working
on this, I will attempt more of my builds on skynet.
The issue with disk space really needs to be resolved on 't2'. I can't emphasis
that enough. I simply can't save things I'd like to, like a 64 bit with the
temporary files left in place to aid debugging. That takes up 9 GB.
William said he would get another disk and I've given him the quote from Sun.
Just to recap, my status for builds of Sage on Solaris are:
* 32-bit SPARC on t2. Works perfect, though #9657 means Sage does not build
with gcc 4.5.0 and I doubt it will build with gcc 4.5.1. That's a very simple
patch I'd like to get merged in 4.5.2 if possible.
* 64-bit SPARC on t2. Needs about 5 patches, all of which I'm waiting for
review on and have been for some time. Sage will build with them, and does work,
but is unstable, and crashes very easily.
* 64-bit OpenSolaris on x86 (my own workstation) .Again needs about 5 patches
(virtually always the same ones as 64-bit SPARC). R and Maxima will not build.
(R will need the Sun compiler to build, though I've not tried that). But Sage
crashes at startup. I can't do anything with it at all. William was going to
take a look at that.
* 32-bit Solaris 10 on x86 (i.e. fulvia) I have not attempted this. Of all the
ports, this is probably going to be the easiest. It might actually "just work"
if the gcc 4.5 issue is resolved, though I don't know.
* 64-bit Solaris 10 on x86 (i.e. fulvia). I've not tried. There are only so
many hours in a day.
So progress is being made, but a few things could speed up progress.
* Get some more disk space on 't2'
* Get some of the patches reviewed.
* Get #9657 in 4.5.2 so Sage will build with any half-reasonable gcc.
* William inspect the 64-bit OpenSolaris build on my Sun.
If anyone wants access to an OpenSolaris x86 box, I'll provide access. That is
*much* faster than anything on skynet or elsewhere. With the exception of R and
Maxima, I can build Sage in about 40 minutes. It's quad core 3.33 GHz
hyperthreaed with 12 GB RAM.
Dave
Searching Sage trac for road maps and meta-tickets, I find
http://trac.sagemath.org/sage_trac/wiki/CategoriesRoadMap
http://trac.sagemath.org/sage_trac/wiki/SageCombinatRoadMap
http://trac.sagemath.org/sage_trac/wiki/GraphTheoryRoadmap
Cygwin:
http://trac.sagemath.org/sage_trac/ticket/6743
FAQ / Thematic tutorials:
http://trac.sagemath.org/sage_trac/ticket/8470
Solaris (and spkg-check):
http://trac.sagemath.org/sage_trac/ticket/9026
http://trac.sagemath.org/sage_trac/ticket/9281
Questions:
* Are there other, similar pages on the tracker and Sage wiki
(http://wiki.sagemath.org/)?
* Should we put links to such "component-wise" reports, provided
they're up to date and useful overviews, on the main trac page:
?
A more recent Cygwin page:
http://trac.sagemath.org/sage_trac/wiki/CygwinPort
Looking at that list of doctest failures on Cygwin, there's a high
correlation between those packages which are presenting problems on
Cygwin, and those where the Sun Studio compiler will refuse to compile
the code on Solaris, suggesting there may be problems with the
original source code
http://trac.sagemath.org/sage_trac/ticket/7056
list some of the packages where the Sun compiler will not work.
pynac, ratpoints, lcalc, sympow,
are all packages which are presenting problems on Cygwin, which the
Sun compiler will just not compile. I know at least. both ratpoints
and lcalc produce numerous warnings from gcc too.
Dave
>> are all packages which are presenting problems on Cygwin, which the
>> Sun compiler will just not compile. I know at least. both ratpoints
>> and lcalc produce numerous warnings from gcc too.
I should have corrected that. Ratpoints does not produce lots of warnings -
lcalc does though. But I know ratpoints has been an issue.
> Can you check if the last version of pynac still gives these errors?
> http://trac.sagemath.org/sage_trac/ticket/7029
>
> I merged some patches from GiNaC to address those issues a while ago.
> Apparently the MSVC compiler also complains about them.
That's the problem writing in a GNU variant of C++, rather than standards
conforming C++. Other compilers reject the code.
So only g++ will compile this, not MSCV and not SunStudio.
> BTW, now that cephes is a standard package, changing a few lines in
> sage/symbolic/pynac_cc.h should be enough to fix #9162.
>
>
> Cheers,
> Burcin
>
I tried with the Sun C++ compiler, but it still fails.
I added the option -library=stlport4, which uses the the latest C++ standard
library for the Sun C++ compiler (which is not backwards compatible with earlier
standards). But the Sun compiler will still not build pynac - see below.
BTW, there is another problem with Pynac, as it will not produce a 64-bit
executable with just setting CFLAGS to -m64. It is producing a 32-bit
executable, so then generates an "Wrong ELFCLASS64" error message.
However, if Pynac is called with
CC="gcc -m64"
CXX="g++ -m64"
so it will build ok. Is there any chance of you reviewing
http://trac.sagemath.org/sage_trac/ticket/7861
I've attached build logs to that ticket of successful builds on both Solaris 10
and OpenSolaris.
Dave
pynac-0.2.0.p6/src/NEWS
Finished extraction
****************************************************
Host system
uname -a:
SunOS hawk 5.11 snv_134 i86pc i386 i86pc
****************************************************
****************************************************
CC Version
/opt/sunstudio12.1/bin/cc -v
usage: cc [ options] files. Use 'cc -flags' for details
****************************************************
Building a 64-bit version of pynac
Starting build...
Running build_pynac...
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... gawk
checking whether make -j12 sets $(MAKE)... yes
checking for python... /export/home/drkirkby/sage-4.5.1/local/bin/python
checking for python version... 2.6
checking for python platform... sunos5
checking for python script directory... ${prefix}/lib/python2.6/site-packages
checking for python extension module directory...
${exec_prefix}/lib/python2.6/site-packages
checking for style of include used by make -j12... GNU
checking for gcc... /opt/sunstudio12.1/bin/cc -m64
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... no
checking whether /opt/sunstudio12.1/bin/cc -m64 accepts -g... yes
checking for /opt/sunstudio12.1/bin/cc -m64 option to accept ISO C89... none needed
checking dependency style of /opt/sunstudio12.1/bin/cc -m64... none
checking how to run the C preprocessor... /opt/sunstudio12.1/bin/cc -m64 -E
checking for headers required to compile python extensions... found
checking for libpython2.6... found
checking build system type... x86_64-pc-solaris2.11
checking host system type... x86_64-pc-solaris2.11
checking for Cygwin...
checking whether we are using the GNU C++ compiler... no
checking whether /opt/sunstudio12.1/bin/CC -library=stlport4 -m64 accepts -g... yes
checking dependency style of /opt/sunstudio12.1/bin/CC -library=stlport4 -m64...
none
checking how to run the C++ preprocessor... /opt/sunstudio12.1/bin/CC
-library=stlport4 -m64 -E
checking for a sed that does not truncate output... /usr/bin/gsed
checking for grep that handles long lines and -e... /usr/bin/ggrep
checking for egrep... /usr/bin/ggrep -E
checking for fgrep... /usr/bin/ggrep -F
checking for non-GNU ld... ld
checking if the linker (ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -p
checking the name lister (/usr/bin/nm -p) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786240
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for ld option to reload object files... -r
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -p output from /opt/sunstudio12.1/bin/cc
-m64 object... ok
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking whether we are using the GNU C++ compiler... (cached) no
checking whether /opt/sunstudio12.1/bin/CC -library=stlport4 -m64 accepts -g...
(cached) yes
checking dependency style of /opt/sunstudio12.1/bin/CC -library=stlport4 -m64...
(cached) none
checking how to run the C++ preprocessor... /opt/sunstudio12.1/bin/CC
-library=stlport4 -m64 -E
checking for objdir... .libs
checking for /opt/sunstudio12.1/bin/cc -m64 option to produce PIC... -KPIC -DPIC
checking if /opt/sunstudio12.1/bin/cc -m64 PIC flag -KPIC -DPIC works... yes
checking if /opt/sunstudio12.1/bin/cc -m64 static flag -Bstatic works... yes
checking if /opt/sunstudio12.1/bin/cc -m64 supports -c -o file.o... rm:
conftest*: No such file or directory
yes
checking if /opt/sunstudio12.1/bin/cc -m64 supports -c -o file.o... (cached) yes
checking whether the /opt/sunstudio12.1/bin/cc -m64 linker (ld) supports shared
libraries... yes
checking dynamic linker characteristics... solaris2.11 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether the /opt/sunstudio12.1/bin/CC -library=stlport4 -m64 linker
(ld) supports shared libraries... yes
checking for /opt/sunstudio12.1/bin/CC -library=stlport4 -m64 option to produce
PIC... -KPIC -DPIC
checking if /opt/sunstudio12.1/bin/CC -library=stlport4 -m64 PIC flag -KPIC
-DPIC works... yes
checking if /opt/sunstudio12.1/bin/CC -library=stlport4 -m64 static flag
-Bstatic works... no
checking if /opt/sunstudio12.1/bin/CC -library=stlport4 -m64 supports -c -o
file.o... rm: conftest*: No such file or directory
yes
checking if /opt/sunstudio12.1/bin/CC -library=stlport4 -m64 supports -c -o
file.o... (cached) yes
checking whether the /opt/sunstudio12.1/bin/CC -library=stlport4 -m64 linker
(ld) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.11 ld.so
checking how to hardcode library paths into programs... immediate
checking size of int... 4
checking size of long... 8
checking size of long long... 8
checking size of long double... 16
checking size of void *... 8
checking iosfwd usability... yes
checking iosfwd presence... yes
checking for iosfwd... yes
checking iostream usability... yes
checking iostream presence... yes
checking for iostream... yes
checking vector usability... yes
checking vector presence... yes
checking for vector... yes
checking list usability... yes
checking list presence... yes
checking for list... yes
checking map usability... yes
checking map presence... yes
checking for map... yes
checking string usability... yes
checking string presence... yes
checking for string... yes
checking sstream usability... yes
checking sstream presence... yes
checking for sstream... yes
checking typeinfo usability... yes
checking typeinfo presence... yes
checking for typeinfo... yes
checking stdexcept usability... yes
checking stdexcept presence... yes
checking for stdexcept... yes
checking algorithm usability... yes
checking algorithm presence... yes
checking for algorithm... yes
checking limits usability... yes
checking limits presence... yes
checking for limits... yes
checking for rm... /usr/bin/rm
configure: creating ./config.status
config.status: creating Makefile
config.status: creating pynac.spec
config.status: creating pynac.pc
config.status: creating ginac/Makefile
config.status: creating ginac/version.h
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
Configuration of GiNaC 0.2.0 done. Now type "make".
make -j12 all-recursive
make[1]: Entering directory
`/export/home/drkirkby/sage-4.5.1/spkg/build/pynac-0.2.0.p6/src'
make[1]: warning: -jN forced in submake: disabling jobserver mode.
Making all in ginac
make[2]: Entering directory
`/export/home/drkirkby/sage-4.5.1/spkg/build/pynac-0.2.0.p6/src/ginac'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
source='py_funcs.cpp' object='py_funcs.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC
-library=stlport4 -m64 -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g
-c -o py_funcs.lo py_funcs.cpp
source='add.cpp' object='add.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC
-library=stlport4 -m64 -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g
-c -o add.lo add.cpp
source='archive.cpp' object='archive.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC
-library=stlport4 -m64 -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g
-c -o archive.lo archive.cpp
source='basic.cpp' object='basic.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC
-library=stlport4 -m64 -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g
-c -o basic.lo basic.cpp
source='clifford.cpp' object='clifford.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC
-library=stlport4 -m64 -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g
-c -o clifford.lo clifford.cpp
source='color.cpp' object='color.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC
-library=stlport4 -m64 -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g
-c -o color.lo color.cpp
source='constant.cpp' object='constant.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC
-library=stlport4 -m64 -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g
-c -o constant.lo constant.cpp
source='ex.cpp' object='ex.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC
-library=stlport4 -m64 -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g
-c -o ex.lo ex.cpp
source='expair.cpp' object='expair.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC
-library=stlport4 -m64 -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g
-c -o expair.lo expair.cpp
source='expairseq.cpp' object='expairseq.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC
-library=stlport4 -m64 -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g
-c -o expairseq.lo expairseq.cpp
source='exprseq.cpp' object='exprseq.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC
-library=stlport4 -m64 -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g
-c -o exprseq.lo exprseq.cpp
source='fail.cpp' object='fail.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
/bin/sh ../libtool --tag=CXX --mode=compile /opt/sunstudio12.1/bin/CC
-library=stlport4 -m64 -DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g
-c -o fail.lo fail.cpp
libtool: compile: /opt/sunstudio12.1/bin/CC -library=stlport4 -m64
-DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g -c
fail.cpp -KPIC -DPIC -o .libs/fail.o
libtool: compile: /opt/sunstudio12.1/bin/CC -library=stlport4 -m64
-DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g -c
archive.cpp -KPIC -DPIC -o .libs/archive.o
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
libtool: compile: /opt/sunstudio12.1/bin/CC -library=stlport4 -m64
-DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g -c
expair.cpp -KPIC -DPIC -o .libs/expair.o
libtool: compile: /opt/sunstudio12.1/bin/CC -library=stlport4 -m64
-DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g -c
constant.cpp -KPIC -DPIC -o .libs/constant.o
libtool: compile: /opt/sunstudio12.1/bin/CC -library=stlport4 -m64
-DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g -c
expairseq.cpp -KPIC -DPIC -o .libs/expairseq.o
libtool: compile: /opt/sunstudio12.1/bin/CC -library=stlport4 -m64
-DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g -c
add.cpp -KPIC -DPIC -o .libs/add.o
libtool: compile: /opt/sunstudio12.1/bin/CC -library=stlport4 -m64
-DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g -c
exprseq.cpp -KPIC -DPIC -o .libs/exprseq.o
libtool: compile: /opt/sunstudio12.1/bin/CC -library=stlport4 -m64
-DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g -c
py_funcs.cpp -KPIC -DPIC -o .libs/py_funcs.o
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
libtool: compile: /opt/sunstudio12.1/bin/CC -library=stlport4 -m64
-DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g -c
basic.cpp -KPIC -DPIC -o .libs/basic.o
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
libtool: compile: /opt/sunstudio12.1/bin/CC -library=stlport4 -m64
-DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g -c
ex.cpp -KPIC -DPIC -o .libs/ex.o
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
libtool: compile: /opt/sunstudio12.1/bin/CC -library=stlport4 -m64
-DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g -c
clifford.cpp -KPIC -DPIC -o .libs/clifford.o
libtool: compile: /opt/sunstudio12.1/bin/CC -library=stlport4 -m64
-DHAVE_CONFIG_H -I. -I..
-I/export/home/drkirkby/sage-4.5.1/local/include/python2.6 -fPIC -m64 -O2 -g -c
color.cpp -KPIC -DPIC -o .libs/color.o
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
"exprseq.cpp", line 29: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::container<std::vector<std::_Tp,
std::_Alloc>>::*)(const GiNaC::print_context&,unsigned)const) needed in<no tag>.
"exprseq.cpp", line 29: Error: Unexpected type name "GiNaC::print_tree" encountered.
"exprseq.cpp", line 29: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::container<std::vector<std::_Tp,
std::_Alloc>>::*)(const GiNaC::print_context&,unsigned)const) needed in<no tag>.
"exprseq.cpp", line 29: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
4 Error(s) detected.
make[2]: *** [exprseq.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
"numeric.h", line 328: Warning: GiNaC::numeric::compare hides the virtual
function GiNaC::basic::compare(const GiNaC::basic&) const.
"symbol.h", line 112: Warning: GiNaC::symbol::evalf hides the virtual function
GiNaC::basic::evalf(int, _object*) const.
"color.cpp", line 46: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::su3one::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"color.cpp", line 46: Error: Unexpected type name "GiNaC::print_latex" encountered.
"color.cpp", line 46: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::su3one::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"color.cpp", line 46: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
"color.cpp", line 50: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::su3t::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"color.cpp", line 50: Error: Unexpected type name "GiNaC::print_latex" encountered.
"color.cpp", line 50: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::su3t::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"color.cpp", line 50: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
"color.cpp", line 54: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::su3f::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"color.cpp", line 54: Error: Unexpected type name "GiNaC::print_latex" encountered.
"color.cpp", line 54: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::su3f::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"color.cpp", line 54: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
"color.cpp", line 58: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::su3d::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"color.cpp", line 58: Error: Unexpected type name "GiNaC::print_latex" encountered.
"color.cpp", line 58: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::su3d::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"color.cpp", line 58: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
16 Error(s) and 2 Warning(s) detected.
"fail.cpp", line 34: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::fail::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"fail.cpp", line 34: Error: Unexpected type name "GiNaC::print_tree" encountered.
"fail.cpp", line 34: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::fail::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"fail.cpp", line 34: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
4 Error(s) detected.
make[2]: *** [color.lo] Error 1
make[2]: *** [fail.lo] Error 1
"numeric.h", line 328: Warning: GiNaC::numeric::compare hides the virtual
function GiNaC::basic::compare(const GiNaC::basic&) const.
"symbol.h", line 112: Warning: GiNaC::symbol::evalf hides the virtual function
GiNaC::basic::evalf(int, _object*) const.
"function.h", line 587: Warning: Identifier expected instead of "}".
"basic.cpp", line 49: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::basic::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"basic.cpp", line 49: Error: Unexpected type name "GiNaC::print_tree" encountered.
"basic.cpp", line 49: Error: Unexpected type name "GiNaC::print_python_repr"
encountered.
"basic.cpp", line 49: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::basic::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"basic.cpp", line 49: Error: void(GiNaC::basic::*)(const
GiNaC::print_tree&,unsigned)const is not a structure type.
"basic.cpp", line 49: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
"basic.cpp", line 140: Warning: reg_info hides GiNaC::basic::reg_info.
6 Error(s) and 4 Warning(s) detected.
"numeric.h", line 328: Warning: GiNaC::numeric::compare hides the virtual
function GiNaC::basic::compare(const GiNaC::basic&) const.
"expairseq.cpp", line 51: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::expairseq::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"expairseq.cpp", line 51: Error: Unexpected type name "GiNaC::print_tree"
encountered.
"expairseq.cpp", line 51: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::expairseq::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"expairseq.cpp", line 51: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
4 Error(s) and 1 Warning(s) detected.
make[2]: *** [basic.lo] Error 1
make[2]: *** [expairseq.lo] Error 1
"numeric.h", line 328: Warning: GiNaC::numeric::compare hides the virtual
function GiNaC::basic::compare(const GiNaC::basic&) const.
"function.h", line 587: Warning: Identifier expected instead of "}".
"constant.cpp", line 41: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::constant::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"constant.cpp", line 41: Error: Unexpected type name "GiNaC::print_latex"
encountered.
"constant.cpp", line 41: Error: Unexpected type name "GiNaC::print_tree"
encountered.
"constant.cpp", line 41: Error: Unexpected type name "GiNaC::print_python_repr"
encountered.
"constant.cpp", line 41: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::constant::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"constant.cpp", line 41: Error: void(GiNaC::constant::*)(const
GiNaC::print_latex&,unsigned)const is not a structure type.
"constant.cpp", line 41: Error: void(GiNaC::constant::*)(const
GiNaC::print_tree&,unsigned)const is not a structure type.
"constant.cpp", line 41: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
8 Error(s) and 2 Warning(s) detected.
make[2]: *** [constant.lo] Error 1
"numeric.h", line 328: Warning: GiNaC::numeric::compare hides the virtual
function GiNaC::basic::compare(const GiNaC::basic&) const.
1 Warning(s) detected.
"numeric.h", line 328: Warning: GiNaC::numeric::compare hides the virtual
function GiNaC::basic::compare(const GiNaC::basic&) const.
"matrix.h", line 109: Error: Operand for operator "++" must be an lvalue.
"matrix.h", line 109: Error: Cannot cast from int to
GiNaC::matrix_init<GiNaC::ex, GiNaC::ex*>.
2 Error(s) and 1 Warning(s) detected.
make[2]: *** [ex.lo] Error 1
"numeric.h", line 328: Warning: GiNaC::numeric::compare hides the virtual
function GiNaC::basic::compare(const GiNaC::basic&) const.
"matrix.h", line 109: Error: Operand for operator "++" must be an lvalue.
"matrix.h", line 109: Error: Cannot cast from int to
GiNaC::matrix_init<GiNaC::ex, GiNaC::ex*>.
"symbol.h", line 112: Warning: GiNaC::symbol::evalf hides the virtual function
GiNaC::basic::evalf(int, _object*) const.
"add.cpp", line 46: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::add::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"add.cpp", line 46: Error: Unexpected type name "GiNaC::print_latex" encountered.
"add.cpp", line 46: Error: Unexpected type name "GiNaC::print_csrc" encountered.
"add.cpp", line 46: Error: Unexpected type name "GiNaC::print_tree" encountered.
"add.cpp", line 46: Error: Unexpected type name "GiNaC::print_python_repr"
encountered.
"add.cpp", line 46: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::add::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"add.cpp", line 46: Error: void(GiNaC::add::*)(const
GiNaC::print_latex&,unsigned)const is not a structure type.
"add.cpp", line 46: Error: void(GiNaC::add::*)(const
GiNaC::print_csrc&,unsigned)const is not a structure type.
"add.cpp", line 46: Error: void(GiNaC::expairseq::*)(const
GiNaC::print_tree&,unsigned)const is not a structure type.
"add.cpp", line 46: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
12 Error(s) and 2 Warning(s) detected.
make[2]: *** [add.lo] Error 1
"symbol.h", line 112: Warning: GiNaC::symbol::evalf hides the virtual function
GiNaC::basic::evalf(int, _object*) const.
"numeric.h", line 328: Warning: GiNaC::numeric::compare hides the virtual
function GiNaC::basic::compare(const GiNaC::basic&) const.
"matrix.h", line 109: Error: Operand for operator "++" must be an lvalue.
"matrix.h", line 109: Error: Cannot cast from int to
GiNaC::matrix_init<GiNaC::ex, GiNaC::ex*>.
"clifford.cpp", line 48: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::clifford::*)(const
GiNaC::print_dflt&,unsigned)const) needed in<no tag>.
"clifford.cpp", line 48: Error: Unexpected type name "GiNaC::print_latex"
encountered.
"clifford.cpp", line 48: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::clifford::*)(const
GiNaC::print_dflt&,unsigned)const) needed in<no tag>.
"clifford.cpp", line 48: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
"clifford.cpp", line 54: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::diracone::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"clifford.cpp", line 54: Error: Unexpected type name "GiNaC::print_latex"
encountered.
"clifford.cpp", line 54: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::diracone::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"clifford.cpp", line 54: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
"clifford.cpp", line 58: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::cliffordunit::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"clifford.cpp", line 58: Error: Unexpected type name "GiNaC::print_latex"
encountered.
"clifford.cpp", line 58: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::cliffordunit::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"clifford.cpp", line 58: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
"clifford.cpp", line 62: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::diracgamma::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"clifford.cpp", line 62: Error: Unexpected type name "GiNaC::print_latex"
encountered.
"clifford.cpp", line 62: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::diracgamma::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"clifford.cpp", line 62: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
"clifford.cpp", line 66: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::diracgamma5::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"clifford.cpp", line 66: Error: Unexpected type name "GiNaC::print_latex"
encountered.
"clifford.cpp", line 66: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::diracgamma5::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"clifford.cpp", line 66: Error: Cannot cast from int to
GiNaC::class_info<GiNaC::registered_class_options>.
"clifford.cpp", line 70: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::diracgammaL::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
"clifford.cpp", line 70: Error: Unexpected type name "GiNaC::print_latex"
encountered.
"clifford.cpp", line 70: Error: Could not find a match for
GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T,
GiNaC::registered_class_options::C>(void(GiNaC::diracgammaL::*)(const
GiNaC::print_context&,unsigned)const) needed in<no tag>.
Compilation aborted, too many Error messages.
make[2]: *** [clifford.lo] Error 1
"archive.cpp", line 503: Warning: a hides GiNaC::archive_node::a.
1 Warning(s) detected.
make[2]: Leaving directory
`/export/home/drkirkby/sage-4.5.1/spkg/build/pynac-0.2.0.p6/src/ginac'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/export/home/drkirkby/sage-4.5.1/spkg/build/pynac-0.2.0.p6/src'
make: *** [all] Error 2
Error building pynac.
real 0m8.891s
user 0m10.012s
sys 0m3.306s
sage: An error occurred while installing pynac-0.2.0.p6
Please email sage-devel http://groups.google.com/group/sage-devel
explaining the problem and send the relevant part of
of /export/home/drkirkby/sage-4.5.1/install.log. Describe your computer,
operating system, etc.
If you want to try to fix the problem yourself, *don't* just cd to
/export/home/drkirkby/sage-4.5.1/spkg/build/pynac-0.2.0.p6 and type 'make check'
or whatever is appropriate.
Instead, the following commands setup all environment variables
correctly and load a subshell for you to debug the error:
(cd '/export/home/drkirkby/sage-4.5.1/spkg/build/pynac-0.2.0.p6' &&
'/export/home/drkirkby/sage-4.5.1/sage' -sh)
When you are done debugging, you can type "exit" to leave the
subshell.