Minh Nguyen wrote:
> Hi David,
> 
> On Tue, Jul 14, 2009 at 8:16 PM, Dr. David
> Kirkby<david.kir...@onetel.net> wrote:
> 
> <SNIP>
> 
>>> I'm building Sage 4.1 on t2 at the moment; it has been going on for
>>> hours now. This build uses David Kirkby's updated spkgs:
>>>
>>> polybori-0.5rc.p9.spkg at
>>> http://sagetrac.org/sage_trac/ticket/6437

>>> pari-2.3.3.p1.spkg at
>>> http://sagetrac.org/sage_trac/ticket/6445

Could you consider reviewing

http://sagetrac.org/sage_trac/ticket/6445

which added -fPIC which was needed to get pari to build.

>>> ntl-5.4.2.p9.spkg at
>>> http://sagetrac.org/sage_trac/ticket/6443

That's already received positive review, so I don't need to do anything 
about that.

>>> So far, ATLAS is still compiling and it looks like that ATLAS will
>>> build successfully.
>> Thank you. Perhaps
>>
>> ATLAS takes AGES to build unfortunately. I hope to resolve that at some
>> time, as some architectual defaults can be applied.  It's not helped I
>> can't work out how to keep the intermediate files generated by the build
>> of ATLAS, which are needed to generate the architectural defaults. What
>> I thought was the correct syntax to do this fails to work. Also my
>> attempts to hard-code a script have failed to stop the files being
>> deleted - see my thread 'Can I keep build data once a package is
>> installed ok?'
>>
>> You might need other fixes too. If something does not build, check out
>> this directory of mine.
>>
>> http://sage.math.washington.edu/home/kirkby/Solaris-fixes/
>>
>> In particular you are likely to need a znpoly patch:
>>
>> http://sagetrac.org/sage_trac/ticket/6443
>>
>> A flint patch, which has already received positive review, so does not
>> need reviewing.
>>
>> http://sagetrac.org/sage_trac/ticket/6451
>>
>> You need to be careful with flint, as flint *appears* to install
>> correctly, making the file $SAGE_HOME/spkg/installed/flint-xxx
> 
> After hours of compilation time on t2, I got an install error. Well,
> FLINT built OK as were ATLAS, Pari and NTL. The compilation died when
> trying to build PolyBori, i.e. polybori-0.5rc.p9.spkg. The full
> install log is at
> 
> http://sage.math.washington.edu/home/mvngu/patch/solaris-install.log
> 

Hi Minh,

Thank you VERY much for trying to build Sage on 't2', which is a Sun 
T5240 with a pair of T2+ processors. It will hopefully really help sort 
out the many Solaris issues that remain.

I also found polybori fails to compile on T2, despite the fact it builds 
on my machine at home, which does not have the Sun compiler suite 
installed in the path.

Since install.log is 18 MB in size, which is too big to view with vi 
(I'll have to install vim to get around that), I've made a version with 
only the bits relevant to PolyBoRi.

http://sage.math.washington.edu/home/kirkby/Solaris-fixes/logs/solaris-install-log-from-mvngu.log
(This is just taken from your file)

Here's a summary of what is has been done by me.

* I applied my own patch to get around the incorrect flags being sent to 
the linker.

http://sagetrac.org/sage_trac/ticket/6437

* I applied the patch of Alexander Dreyer to fix the issue of CC and CXX 
not being applied properly.

http://sagetrac.org/sage_trac/ticket/2999

Here's is a summary of what can be seen happening in

http://sage.math.washington.edu/home/kirkby/Solaris-fixes/logs/solaris-install-log-from-mvngu.log

1) Link 655 and 666 show

"Checking for the operating system and linker, to find appropriate flags 
for the linker.
You are using the Sun linker on Solaris. Linker flag set to -h"

That was the point of patch

http://sagetrac.org/sage_trac/ticket/6437

to force one of the linker flags to the correct value for the GNU 
linker. That is sufficient to build polybori on my home machine, which 
does not have the Sun C++ compiler CC in the path.

2) Line 661 shows g++ being invoked to compile the C++ file

polybori/src/BoolePolyRing.cc

That is the correct compiler. That was the intension of Alexander 
Dreyer's patch.

My only concern about that line is the number of time some of the 
options are applied. For example, -fPIC is included three times. (I 
wonder if the same happens on linux or OS X?)

3) Line 693 shows gcc being invoked to compile M4RI/grayflex.c

This is again the correct compiler. This does not suffer the problem of 
the line 661, as the flags are only included once.

4) Line 781 shows CC (the Sun C++ compiler) being used to build the 
static library Cudd/libpboriCudd.a

This should NOT be happening in Sage. On my own machine 'ar' is used for 
this. Looking at the man page for 'ar' shows:

User Commands                                               ar(1)

NAME
      ar - maintain portable archive or library


Hence 'ar' does appear to be the correct command to use for this and CC 
is incorrect. However, despite the fact CC is used to do this, that line 
appears to work.

5) Line 782 shows /opt/SUNWspro/bin/CC (the Sun C++ compiler) being 
invoked to compile the C++ file Cudd/obj/cuddObj.cc Hence Alexander 
Dreyer's patch does not appear to work here, so I will mark

http://sagetrac.org/sage_trac/ticket/2999

as [with path; needs work]'

Given g++ was used to compile a C++ file earlier, it's not clear why 
PolyBoRi then switches to using the Sun C++ compiler.

Possibly a patch similar to Alexander's needs to be applied to more than 
one file. (Is that possible Alexander, if you are reading this?)

This line also shows numerous gcc-specific flags being passed to CC, as 
it is using the Sun compiler, with gcc options.

6) Line 791 shows 'gcc' being used to compile the C file 
Cudd/util/getopt.c This is the correct compiler, but it is using a 
Sun-specific option  '-KPIC', so gcc issues a warning:

gcc: unrecognized option '-KPIC'

7) Line 949 shows /opt/SUNWspro/bin/CC being used to compile the C++ 
file polybori/src/BoolePolyRing.cc

This is the same error as (5), but this time numerous warnings are given 
about lines not terminated with a newline, failure to open the file 
<ext/hash_map>, anachronism etc.

8) Line 972 shows the first error:

"polybori/include/CCuddNavigator.h", line 148: Error: iterator_traits is 
not a member of std.

9) There are are around 18 more errors, before the compilation aborts on 
line 995 with the message:

Compilation aborted, too many Error messages.
scons: *** [polybori/src/so_BoolePolyRing.o] Error 1
scons: building terminated because of errors.
Error building PolyBoRi.

As you can see, there is quite a mix of things going wrong during the 
build of PolyBoRi.

Could I asked you do a few more favors?

1) Try to build zn_poly:

$ ./sage -f zn_poly-0.9.p0.spkg

which is included in Sage 4.1. I believe it will fail. In that case, can 
you try the package

$ ./sage -f zn_poly-0.9.p1.spkg

http://sage.math.washington.edu/home/kirkby/Solaris-fixes/zn_poly/zn_poly-0.9.p1.spkg

which is patch

http://sagetrac.org/sage_trac/ticket/6443

Perhaps you could look at reviewing that patch if it allows zn_poly to 
build for you.

2) Reviewing the pari patch

http://sagetrac.org/sage_trac/ticket/6445

Prior to that patch, pari actually generated more than 94,000 error 
messages! As you can see, it now builds ok.

Thank you once again.

Dave


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

Reply via email to