sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.33k stars 453 forks source link

Metaticket: build Sage on OS X 10.7 Lion #11881

Closed jhpalmieri closed 12 years ago

jhpalmieri commented 12 years ago

Make Sage build properly on OS X 10.7 Lion by building GCC from source:

If we ever want Sage to build with Apple's compiler, we need to fix:

Regardless of the approach:

The following ticket could be solved either by making it work from scratch on Lion or by fixing the Snow Leopard bundle to work on Lion.

Testing release: http://boxen.math.washington.edu/home/jdemeyer/release/sage-5.0.beta13-lion/

CC: @RalphieBoy @nthiery @burcin @gvol @hedtke

Component: build

Reviewer: John Palmieri

Issue created by migration from https://trac.sagemath.org/ticket/11881

jhpalmieri commented 12 years ago

Description changed:

--- 
+++ 
@@ -1,2 +1,5 @@
 Mac OS X Lion was released more than two months ago, and Sage doesn't build on this.  Please create tickets for specific build problems, and put links to them here.

+- #11882: upgrade readline
+- fix boehm-gc
+
jhpalmieri commented 12 years ago

Description changed:

--- 
+++ 
@@ -1,5 +1,5 @@
 Mac OS X Lion was released more than two months ago, and Sage doesn't build on this.  Please create tickets for specific build problems, and put links to them here.

 - #11882: upgrade readline
-- fix boehm-gc
+- #11883: fix boehm-gc
mwhansen commented 12 years ago
comment:3

We'll also need a new ECL, but I haven't been able to get it to build yet.

jhpalmieri commented 12 years ago

Description changed:

--- 
+++ 
@@ -2,4 +2,6 @@

 - #11882: upgrade readline
 - #11883: fix boehm-gc
+- fix ecl

+
kcrisman commented 12 years ago
comment:5

Just a request for clarification - is this about Lion, the new Xcode, or both? I am not upgrading to Lion any time soon, partly for this reason.

Now if building Sage on Lion meant we could build it on an iPad, then we'd be in business :)

jhpalmieri commented 12 years ago
comment:6

Does the old Xcode work on Lion? Anyway, to the extent that I can work on this, it will be on Lion with the new Xcode, version 4.1.1. Maybe Xcode 4.1 is the issue, not Lion, I'm not sure.

jhpalmieri commented 12 years ago

Description changed:

--- 
+++ 
@@ -2,6 +2,6 @@

 - #11882: upgrade readline
 - #11883: fix boehm-gc
-- fix ecl
+- #11884: fix ecl
mwhansen commented 12 years ago
comment:8

Yes, I believe Xcode 4 is to blame for all of the issues.

83660e46-0051-498b-a8c1-f7a7bd232b5a commented 12 years ago
comment:9

Replying to @kcrisman:

Just a request for clarification - is this about Lion, the new Xcode, or both? I am not upgrading to Lion any time soon, partly for this reason.

AFAIK you can still use XCode 3.x if you upgrade to Lion, but you won't be able to install XCode 3.x if you buy a new apple with Lion already installed.

83660e46-0051-498b-a8c1-f7a7bd232b5a commented 12 years ago
comment:10

Btw., how about asking Apple for funding? :P

jhpalmieri commented 12 years ago
comment:11

:P indeed.

By the way, I'm also having problems building scipy. mhansen, have you seen that? I tried following these directions, but they didn't help.

jhpalmieri commented 12 years ago

Description changed:

--- 
+++ 
@@ -1,7 +1,6 @@
 Mac OS X Lion was released more than two months ago, and Sage doesn't build on this.  Please create tickets for specific build problems, and put links to them here.

-- #11882: upgrade readline
-- #11883: fix boehm-gc
-- #11884: fix ecl
-
-
+* #11882: upgrade readline
+* #11883: fix boehm-gc
+* #11884: fix ecl
+* #11886: fix scipy
williamstein commented 12 years ago

Description changed:

--- 
+++ 
@@ -4,3 +4,4 @@
 * #11883: fix boehm-gc
 * #11884: fix ecl
 * #11886: fix scipy
+* #11965: Error building sage.misc.darwin_utilities extension
williamstein commented 12 years ago

Description changed:

--- 
+++ 
@@ -5,3 +5,5 @@
 * #11884: fix ecl
 * #11886: fix scipy
 * #11965: Error building sage.misc.darwin_utilities extension
+* #11966: Maxima fails to build
+* #11967: Sage segfaults on startup when initializing GiNaC
williamstein commented 12 years ago
comment:17

Status: with Sage-4.7.3.alpha1 and the spkg's and patches from #11882, #11883, #11884, #11886, #11965, #11966. Sage builds completely. However, it fails to startup due to some Givaro initialization issue, as explained at #11967.

williamstein commented 12 years ago
comment:18

I've posted a source tarball that has all the changes from this ticket (until this point in time) pre-applied:

http://wstein.org/home/wstein/tmp/sage-4.7.3.alpha1.osx10.7.tar

You should be able to just drop this on an OS X lion box that has XCode 4.x installed, type make, and have Sage completely build (I've tested this in sqrt5.cs.washington.edu). After doing that, when you try to start Sage you'll hit the segfault in GiNAC.

kcrisman commented 12 years ago
comment:19

I think I might try dumping this in a Cygwin install as well - maybe it will fix the Maxima/ECL thing, assuming it has some of Juanjo's rewrite of forking etc., so thanks for making that prebuilt thing.

williamstein commented 12 years ago
comment:20

Incidentally, I took my Sage-4.7.1.rc0, which I had built on my laptop with xcode 3 before installing Lion, rebuilt a lot (with "sage -br" under Lion), and applied the one patch from #11965, and sage did startup. So at least I can do sage development on the core library on Cython code still even before this port is done.

williamstein commented 12 years ago
comment:21

(Incomplete) long test log -- many failures, especially related to the PARI C library:

http://wstein.org/home/wstein/tmp/ptestlong.log

jhpalmieri commented 12 years ago
comment:23

I took sage-4.8.alpha0, added in the spkg's from the various tickets here, including the Python spkg from #11967, and built Sage with SAGE_CHECK=yes. Tests failed for the Python spkg, as usual, but they passed for PARI. They failed for sagetex (as they do in general these days -- see #11583), and they also seem to have failed for cvxopt, although running spkg-check on that spkg seems to have hung, so the log file is incomplete.

I also had many doctest failures.

cvxopt log: http://sage.math.washington.edu/home/palmieri/misc/config.log

ptestlonglog: http://sage.math.washington.edu/home/palmieri/misc/lion-ptestlong.log

williamstein commented 12 years ago
comment:24

Jhpalmieri -- many thanks for doing that!!!!

Could you post a link to either a "sage -bdist" or "sage -sdist"? That would save me some time in debugging some of the issues revealed by tests.

williamstein commented 12 years ago
comment:25

I'd like to add that you had sage -t -long -force_lib devel/sage/sage/libs/pari/gen.pyx pass, so the situation for you seems to be much, much better than what I had with sage-4.7.3.alpha1 or whatever.

jhpalmieri commented 12 years ago
comment:26

Replying to @williamstein:

Jhpalmieri -- many thanks for doing that!!!!

Could you post a link to either a "sage -bdist" or "sage -sdist"? That would save me some time in debugging some of the issues revealed by tests.

From sage -bdist: http://sage.math.washington.edu/home/palmieri/misc/sage-4.8.alpha0-x86_64-Darwin.dmg

From sage -sdist: http://sage.math.washington.edu/home/palmieri/misc/sage-4.8.alpha1-trac11881.tar. This is untested: I just merged the appropriate spkgs and the Sage library patch from #11965; I'm building it on my Lion laptop now. (I was tempted to modify the python spkg to turn off the error when self tests fail, so you could build with SAGE_CHECK=yes and skip that failure, but I didn't do that. So python and sagetex will fail self tests, and cvxopt will fail some tests and then hang, or at least that's what happened in my previous build. I think that cvxopt is the only one of these particular failures worth investigating. In fact, I'll open a ticket for it.)

jhpalmieri commented 12 years ago

Description changed:

--- 
+++ 
@@ -7,3 +7,5 @@
 * #11965: Error building sage.misc.darwin_utilities extension
 * #11966: Maxima fails to build
 * #11967: Sage segfaults on startup when initializing GiNaC
+* #12011: cvxopt fails self-tests
+
jhpalmieri commented 12 years ago
comment:27

Replying to @jhpalmieri:

cvxopt log

I gave the wrong url above for the cvxopt log. It should be http://sage.math.washington.edu/home/palmieri/misc/cvxopt-1.1.3.log. I've opened #12011 to deal with the cvxopt issue.

williamstein commented 12 years ago
comment:28

I started looking at the issues with 4.8.alpha0. Many of the errors, e.g., in morphism.pyx, are of the form:

python(38119) malloc: *** error for object 0x7fbfd3670f80: incorrect checksum for freed object - object was probably modified after being freed.

This suggests to me an issue/bug with Cython. The version in this Sage is 0.14.1.p3, but the current Cython version on their site is 0.15.1. This got upgraded at #11761 for sage-4.8.alpha1. I'm going to try upgrading Cython as on that ticket, doing "sage -ba", and see what happens, then report back.

williamstein commented 12 years ago
comment:29

It turns out that upgrading Cython does not fix these issues. Incidentally, the test fail (or don't) somewhat randomly, so test many times.

jhpalmieri commented 12 years ago
comment:30

Replying to @williamstein:

I'd like to add that you had sage -t -long -force_lib devel/sage/sage/libs/pari/gen.pyx pass, so the situation for you seems to be much, much better than what I had with sage-4.7.3.alpha1 or whatever.

I don't know if it was cosmic rays or what, but I'm now unable to build pari so that self-tests pass. I've tried the two versions in 4.8.alpha0 (which worked for me previously) and 4.8.alpha1, but neither works now.

williamstein commented 12 years ago
comment:31

It could just be that the PARI tests (like the sage ones) fail sporadically when OS X somehow detects a memory error. For example, with some of the files you reported failing tests, I could get them to pass 4 or 5 times in a row, then fail. This is going to be fun to sort out...

jdemeyer commented 12 years ago
comment:32

Any plans to fix the remaining issues soon? I would just like to know in order to organize the sage-4.8 release.

williamstein commented 12 years ago
comment:33

I want to fix more issues, but I haven't had time yet.

kcrisman commented 12 years ago
comment:34

Here's a meta-remark: Should fixing the issues (whatever they are, it's unclear as there are so many different ones) at the ask.sagemath.org question about installing the Sage Mac app on Lion also be a ticket linked to this metaticket, or not?

I could see it either way, but we probably need to address these issues; eight different users reported it on that question alone! Of course, it's not clear how many Sage developers have Lion yet, so the resources for solving the app bundle will be limited.

williamstein commented 12 years ago
comment:35

Replying to @kcrisman:

Here's a meta-remark: Should fixing the issues (whatever they are, it's unclear as there are so many different ones) at the ask.sagemath.org question about installing the Sage Mac app on Lion also be a ticket linked to this metaticket, or not?

Yes. Each specific clear issues should have a ticket associated to it, and it would be good to put a link to that ticket here. Probably don't just make a ticket for a bunch of unclear different issues, since that might not be so useful.

kcrisman commented 12 years ago

Description changed:

--- 
+++ 
@@ -9,3 +9,5 @@
 * #11967: Sage segfaults on startup when initializing GiNaC
 * #12011: cvxopt fails self-tests

+This ticket could be solved *either* by making it work from scratch on Lion *or* by fixing the Snow Leopard bundle to work on Lion.
+* # 12161: App bundle isn't working
da3b2f19-cb0e-423e-8627-f492f0794ec3 commented 12 years ago

Description changed:

--- 
+++ 
@@ -8,6 +8,7 @@
 * #11966: Maxima fails to build
 * #11967: Sage segfaults on startup when initializing GiNaC
 * #12011: cvxopt fails self-tests
+* #12285: get `./sage -b` to run without errors

 This ticket could be solved *either* by making it work from scratch on Lion *or* by fixing the Snow Leopard bundle to work on Lion.
 * # 12161: App bundle isn't working
williamstein commented 12 years ago
comment:39

With sage-5.0.beta1, the build fails at R.

gcc -std=gnu99 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Users/wstein/sage/install/sage-5.0.beta1/local/lib/ -o tools.so text.o init.o Rmd5.o md5.o signals.o -L../../../../lib -lR -dylib_file libRblas.dylib:../../../../lib/libRblas.dylib -Wl,-framework -Wl,CoreFoundation
make[8]: `Makedeps' is up to date.
mkdir ../../../../library/tools/libs
dyld: lazy symbol binding failed: Symbol not found: _iconv_open
  Referenced from: /Users/wstein/sage/install/sage-5.0.beta1/spkg/build/r-2.14.0.p1/src/lib/libR.dylib
  Expected in: flat namespace

dyld: Symbol not found: _iconv_open
  Referenced from: /Users/wstein/sage/install/sage-5.0.beta1/spkg/build/r-2.14.0.p1/src/lib/libR.dylib
  Expected in: flat namespace

/bin/sh: line 1: 20598 Done                    echo "tools:::.install_package_description('.', '"../../../library/tools"')"
     20599 Trace/BPT trap: 5       | R_DEFAULT_PACKAGES=NULL ../../../bin/R --vanilla --slave > /dev/null
make[5]: *** [all] Error 133
make[4]: *** [R] Error 1
make[3]: *** [R] Error 1
make[2]: *** [R] Error 1
Error building R.

real    3m33.811s
user    1m58.030s
sys 0m41.086s

It gets pretty far though, having built all the following:

deep:sage-5.0.beta1 wstein$ ls spkg/installed/
atlas-3.8.4         gdmodule-0.56.p7        moin-1.9.1.p2           readline-6.2.p3
blas-20070724           genus2reduction-0.3.p8      mpfi-1.3.4-cvs20071125.p9   rubiks-20070912.p17
boehm_gc-7.2.alpha6.p2      gfan-0.4plus.p1         mpfr-2.4.2.p0           sage_root-5.0.beta1
boost-cropped-1.34.1        givaro-3.2.13.rc1.p3        mpir-2.1.3.p9           sage_scripts-5.0.beta1
bzip2-1.0.5         glpk-4.44.p0            mpmath-0.17         sagenb-0.8.26
cddlib-094f.p10         gnutls-2.2.1.p6         networkx-1.2.p2         scipy-0.9.p1
cephes-2.8          graphs-20070722.p1      ntl-5.5.2           scons-1.2.0
cliquer-1.2.p10         gsl-1.15.p0         numpy-1.5.1         setuptools-0.6.16
conway_polynomials-0.2      iconv-1.13.1.p3         opencdk-0.6.6.p6        singular-3-1-3-3.p4
cvxopt-1.1.3            iml-1.0.1.p14           palp-1.1.p3         sphinx-1.1.2.p0
cython-0.15.1           ipython-0.10.2.p0       pari-2.5.0.p3           sqlalchemy-0.5.8
dir-0.1             jinja2-2.5.5            patch-2.5.9.p2          sqlite-3.7.5.p0
docutils-0.7.p0         lapack-20071123.p2      pexpect-2.0.p5          symmetrica-2.0.p7
ecl-11.1.2.cvs20111120.p1   lcalc-1.23.p9           pil-1.1.6.p4            sympow-1.018.1.p9
eclib-20100711.p0       libfplll-3.0.12.p2      polybori-0.8.0.p1       sympy-0.7.1
ecm-6.3.p3          libgcrypt-1.4.4.p4      polytopes_db-20100210       tachyon-0.98.9.p5
elliptic_curves-0.3     libgpg_error-1.6.p5     ppl-0.11.2.p0           termcap-1.3.1.p2
extcode-5.0.beta1       libm4ri-20111004.p0     prereq-0.9          twisted-9.0.p2
f2c-20070816.p2         libm4rie-20111004.p1        pycrypto-2.1.0          zlib-1.2.5.p0
flint-1.5.0.p10         libpng-1.2.35.p4        pygments-1.3.1.p0       zn_poly-0.9.p5
flintqs-20070817.p6     linbox-1.1.6.p6         pynac-0.2.3.p0          zodb3-3.7.0.p4
fortran-20100629        matplotlib-1.1.0        python-2.7.2.p1
freetype-2.3.5.p4       maxima-5.23.2.p3        python_gnutls-1.1.4.p7
gd-2.0.35.p6            mercurial-1.8.4         ratpoints-2.1.3.p1
williamstein commented 12 years ago
comment:40

Never mind: "Oops, stupid me, I had some stale (no, vintage, dated 2002!) iconv libs in /usr/local/lib that caused this havoc."

williamstein commented 12 years ago

Description changed:

--- 
+++ 
@@ -11,4 +11,4 @@
 * #12285: get `./sage -b` to run without errors

 This ticket could be solved *either* by making it work from scratch on Lion *or* by fixing the Snow Leopard bundle to work on Lion.
-* # 12161: App bundle isn't working
+* #12161: App bundle isn't working
jhpalmieri commented 12 years ago

Description changed:

--- 
+++ 
@@ -9,6 +9,7 @@
 * #11967: Sage segfaults on startup when initializing GiNaC
 * #12011: cvxopt fails self-tests
 * #12285: get `./sage -b` to run without errors
+* #12315: pari fails self-tests

 This ticket could be solved *either* by making it work from scratch on Lion *or* by fixing the Snow Leopard bundle to work on Lion.
 * #12161: App bundle isn't working
jhpalmieri commented 12 years ago

Description changed:

--- 
+++ 
@@ -10,6 +10,7 @@
 * #12011: cvxopt fails self-tests
 * #12285: get `./sage -b` to run without errors
 * #12315: pari fails self-tests
+* #12319: gsl fails self-tests

 This ticket could be solved *either* by making it work from scratch on Lion *or* by fixing the Snow Leopard bundle to work on Lion.
 * #12161: App bundle isn't working
jdemeyer commented 12 years ago
comment:46

I am currently at the PARI atelier and we're discussing OS X Lion. Essentially the PARI developers are saying that Apple's compiler is completely broken and that the Only Right Solution is to install a real compiler, i.e. gcc.

jdemeyer commented 12 years ago
comment:47

So maybe the best solution in practice for Sage is to add a check in prereq that users aren't using Apple's broken compiler. Also we should have one server machine running Lion with a good compiler to build binaries.

kcrisman commented 12 years ago
comment:48

So maybe the best solution in practice for Sage is to add a check in prereq that users aren't using Apple's broken compiler.

? So that no one using "just Xcode" can build Sage? I'm a little unclear on what would have to change for ordinary users.

Also we should have one server machine running Lion with a good compiler to build binaries.

Certainly.

jhpalmieri points out on #12315 (where these comments should probably live anyway)

was pointed out on sage-devel that with SAGE_DEBUG=True, self-tests pass. So it may be a compiler error; compiling with -O0 seems to work. It may be just a single file (the one containing the bezout function) causing the problems.

So perhaps a workaround would be to check for the "bad" compiler in the spkg-install somehow and then do no optimization if that's the case. Power users who need Pari optimized would be expected to have the technical know-how to use the right one, and as you say the binary builder could have this as well.

jdemeyer commented 12 years ago
comment:49

Replying to @kcrisman:

So perhaps a workaround would be to check for the "bad" compiler in the spkg-install somehow and then do no optimization if that's the case. Power users who need Pari optimized would be expected to have the technical know-how to use the right one, and as you say the binary builder could have this as well.

That's possible but won't people complain that their Sage is very slow?

kcrisman commented 12 years ago
comment:50

So perhaps a workaround would be to check for the "bad" compiler in the spkg-install somehow and then do no optimization if that's the case. Power users who need Pari optimized would be expected to have the technical know-how to use the right one, and as you say the binary builder could have this as well.

That's possible but won't people complain that their Sage is very slow?

I suppose it really depends on both how much slower Pari would be (which I have no idea) and how much we depend on Pari for "ordinary" functionality which has to be fast (which I believe is much less than it used to be, since mpmath does a lot of stuff now).

It's certainly better than telling people they can't compile Sage at all, and your point about the binaries is naturally spot-on.

williamstein commented 12 years ago
comment:51

Replying to @jdemeyer:

I am currently at the PARI atelier and we're discussing OS X Lion. Essentially the PARI developers are saying that Apple's compiler is completely broken

True, but Apple's compiler has a few bugs (like any optimizing compiler), which in the 6 million lines of code that gets compiled results in -- as far we can tell from our tests -- exactly two issues with two very tightly coded C/C++ programs: PARI and Symmetrica. To say that the entire compiler is "completely broken" is perhaps overstating things a little bit.

and that the Only Right Solution is to install a real compiler, i.e. gcc.

Has the compiler bug been reported upstream yet? I think we should:

  1. report the bug upstream

  2. lower the optimization level when compiling the relevant parts of PARI and Symmetrica.

In my experience, 2 will have a barely noticeable impact on performance for most users. In fact, I've been using sage-5.0 compiled from scratch with Apple's compiler on my laptop for the last week, and never noticed that PARI is -O0.

Moreover, I think there is potentially a lot of value in the fact that we can build Sage using both standard GCC and this LLVM thing:

gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)

This will increase our code robustness in the long run, and may provide new debuging tools, etc.

Power users who need Pari optimized would be expected to have the technical know-how to use the right one,

I'm such a user and I don't want to have to build GCC from source.

It's certainly better than telling people they can't compile Sage at all, and your point about the binaries is naturally spot-on.

(1) Cython and (2) making it so any user with a standard compiler can do full development on Sage, is critical functionality of Sage in my opinion. If we don't support XCode 4.x at all, then we aren't supported (1) and (2).

Jereon, I personally hope you can convince Bill and Karim to report the compiler bug to Apple. They are in the best position to do so, since they could probably isolate the problem better than any of us. Apple regularly upgrades their devel tools and pushes out the updates. If this had been reported to Apple back in August 2011 when this was on the PARI list, maybe it would be fixed now. Obviously, if they don't have access to OS X 10.7 that's a nonstarter. I'm on campus more right now, so I can probably setup sqrt5.cs.washington.edu again so they will have 10.7 accounts. Let me know if that would make a big difference. Maybe this whole problem is my fault due to sqrt5.cs.washington.edu not being robust.

-- william

jdemeyer commented 12 years ago
comment:52

Replying to @williamstein:

Obviously, if they don't have access to OS X 10.7 that's a nonstarter. I'm on campus more right now, so I can probably setup sqrt5.cs.washington.edu again so they will have 10.7 accounts. Let me know if that would make a big difference.

They already isolated the problem to a specific file in the PARI source tree. More access would certainly be useful, either for Bill or for me to isolate the problem further and create a minimal example.

667aa960-5c62-4445-bf8d-25c93fb0a27b commented 12 years ago
comment:53

I am preparing a bug report for Apple. I could use the specific file and other information needed to narrow down the problem. I've sent mail to Karim/Bill, and I mention here that it is very helpful for multiple users to submit bug reports to Apple. Among other things, it helps them evaluate the significance of the breakage.

jhpalmieri commented 12 years ago
comment:54

Okay, here's the current state of affairs on my laptop running Lion. I took the sage-5.0.beta1 source distribution and made the following changes:

The change for pari, gsl, and symmetrica was to put this into spkg-install:

if [[ "$UNAME" = "Darwin" && `gcc -dumpversion` = '4.2.1' ]] && \
    { gcc --version | grep LLVM -q; }; then
    CC=gcc-4.2
    export CC
fi

Then I set SAGE_CHECK=yes and built Sage. The results:

    sage -t  --long -force_lib devel/sage/sage/matrix/matrix_double_dense.pyx # 4 doctests failed
    sage -t  --long -force_lib devel/sage/sage/matrix/matrix2.pyx # 4 doctests failed
    sage -t  --long -force_lib devel/sage/sage/rings/polynomial/polynomial_element.pyx # 1 doctests failed
    sage -t  --long -force_lib devel/sage/sage/tests/interrupt.pyx # 7 doctests failed

More details on the particular failures:

sage -t  --long -force_lib devel/sage/sage/matrix/matrix_double_dense.pyx
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/matrix/matrix_double_dense.pyx", line 1177:
    sage: L
Expected:
    [ 1.0  0.0  0.0  0.0  0.0]
    [ 0.0  1.0  0.0  0.0  0.0]
    [ 0.5  0.5  1.0  0.0  0.0]
    [0.75 0.25 -0.0  1.0  0.0]
    [0.25 0.75 -0.0 -0.0  1.0]
Got:
    [ 1.0  0.0  0.0  0.0  0.0]
    [ 0.0  1.0  0.0  0.0  0.0]
    [ 0.5  0.5  1.0  0.0  0.0]
    [0.75 0.25  0.0  1.0  0.0]
    [0.25 0.75  0.0  0.0  1.0]
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/matrix/matrix_double_dense.pyx", line 1183:
    sage: U
Expected:
    [24.0 25.0 26.0 27.0 28.0 29.0]
    [ 0.0  1.0  2.0  3.0  4.0  5.0]
    [ 0.0  0.0 -0.0  0.0  0.0  0.0]
    [ 0.0  0.0  0.0 -0.0 -0.0  0.0]
    [ 0.0  0.0  0.0  0.0 -0.0  0.0]
Got:
    [24.0 25.0 26.0 27.0 28.0 29.0]
    [ 0.0  1.0  2.0  3.0  4.0  5.0]
    [ 0.0  0.0  0.0  0.0  0.0  0.0]
    [ 0.0  0.0  0.0  0.0  0.0  0.0]
    [ 0.0  0.0  0.0  0.0  0.0  0.0]
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/matrix/matrix_double_dense.pyx", line 1381:
    sage: abs(abs(diff)) < 1e-14
Expected:
    True
Got:
    False
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/matrix/matrix_double_dense.pyx", line 2501:
    sage: B.is_hermitian(algorithm='naive', tol=1.0e-17)
Expected:
    False
Got:
    True
**********************************************************************
3 items had failures:
   2 of  24 in __main__.example_20
   1 of  13 in __main__.example_22
   1 of  27 in __main__.example_37
***Test Failed*** 4 failures.

and

sage -t  --long -force_lib devel/sage/sage/matrix/matrix2.pyx
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/matrix/matrix2.pyx", line 7983:
    sage: G.round(6)
Expected:
    [-0.422243 - 0.490087*I  0.566698 - 0.097416*I -0.500882 + 0.002251*I]
    [-0.057002 - 0.495035*I  -0.35059 - 0.625323*I  0.255514 - 0.415284*I]
    [ 0.394105 - 0.421778*I -0.392266 - 0.039345*I  -0.352905 + 0.62195*I]
Got:
    [ 0.422243 + 0.490087*I -0.566698 + 0.097416*I  0.500882 - 0.002251*I]
    [ 0.057002 + 0.495035*I   0.35059 + 0.625323*I -0.255514 + 0.415284*I]
    [-0.394105 + 0.421778*I  0.392266 + 0.039345*I   0.352905 - 0.62195*I]
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/matrix/matrix2.pyx", line 7987:
    sage: M.round(6).zero_at(10^-6)
Expected:
    [             -1.528503                      0                      0]
    [  0.459974 - 0.40061*I              -1.741233                      0]
    [-0.934304 + 0.148868*I   0.54833 + 0.073202*I              -0.550725]
Got:
    [             1.528503                     0                     0]
    [-0.459974 + 0.40061*I              1.741233                     0]
    [0.934304 - 0.148868*I -0.54833 - 0.073202*I              0.550725]
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/matrix/matrix2.pyx", line 8031:
    sage: G.round(6).zero_at(10^-6)
Expected:
    [-0.408248 -0.408248 -0.816497]
    [ 0.707107 -0.707107       0.0]
    [ -0.57735  -0.57735   0.57735]
Got:
    [ 0.408248  0.408248  0.816497]
    [ 0.707107 -0.707107       0.0]
    [ -0.57735  -0.57735   0.57735]
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/matrix/matrix2.pyx", line 8035:
    sage: M.round(10).zero_at(10^-10)
Expected:
    [-2.4494897428           0.0           0.0]
    [-3.6742346142  0.7071067812           0.0]
    [-4.8989794856  1.4142135624           0.0]
Got:
    [2.4494897428          0.0          0.0]
    [3.6742346142 0.7071067812          0.0]
    [4.8989794856 1.4142135624          0.0]
**********************************************************************
1 items had failures:
   4 of  67 in __main__.example_97
***Test Failed*** 4 failures.

and

sage -t  --long -force_lib devel/sage/sage/rings/polynomial/polynomial_element.pyx

Entering nffactor:
Time squarefree test: 0
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/rings/polynomial/polynomial_element.pyx", line 1038:
    sage: parent(poly)([ 0.0 if abs(c)<=2.7e-15 else c for c in poly.coeffs() ])
Expected:
    1.0
Got:
    -5.3290705182e-15*x + 1.0
Time choice of a prime ideal: 0
Prime ideal chosen: [13, [2, 0, 1, 0]~, 1, 1, [-6, -2, 3, 1]~]
  ***   Warning: increasing prec in nf_factor_bound; new prec = 6
Mignotte bound: 3630.83275543199
Beauzamy bound: 208640.496552260
Time bound computation: 0
  1) T_2 bound for factor: 3630.83275543199
  2) Conversion from T_2 --> | |^2 bound : 1.33333333333333
  3) Final bound: 4841.11034057599
exponent 10
for this exponent, GSmin = 66611.3992219779
Time reduction: 0
Time splitting mod [13, [2, 0, 1, 0]~, 1, 1, [-6, -2, 3, 1]~]: 0
Time Hensel lift: 0

Time to find factor x + (-2*y^3 + y): 0
remaining modular factor(s): 2
Time Naive recombination: 0
Total Time: 1
===========
**********************************************************************
1 items had failures:
   1 of  18 in __main__.example_20
***Test Failed*** 1 failures.

and

sage -t  --long -force_lib devel/sage/sage/tests/interrupt.pyx
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/tests/interrupt.pyx", line 251:
    sage: try_sigint(test_sig_retry_and_signal)
Expected:
    KeyboardInterrupt:
Got nothing
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/tests/interrupt.pyx", line 251:
    sage: try_sigint(test_sig_retry_and_signal)
Expected:
    KeyboardInterrupt:
Got nothing
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/tests/interrupt.pyx", line 271:
    sage: test_sig_on_no_except()
Expected:
    42
Got nothing
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/tests/interrupt.pyx", line 251:
    sage: try_sigint(test_sig_retry_and_signal)
Expected:
    KeyboardInterrupt:
Got nothing
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/tests/interrupt.pyx", line 271:
    sage: test_sig_on_no_except()
Expected:
    42
Got nothing
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/tests/interrupt.pyx", line 299:
    sage: test_sig_str_no_except()
Expected:
    Traceback (most recent call last):
    ...
    RuntimeError: Everything ok!
Got nothing
**********************************************************************
File "/Users/palmieri/Desktop/sage-5.0.beta1/devel/sage-main/sage/tests/interrupt.pyx", iled example:
    sig_on_count()
Expected:
    0
Got:
    3

I've repeated this process with the same results. I don't know what's going on with interrupt.pyx, but the other failures don't look too bad.

jhpalmieri commented 12 years ago
comment:55

I installed Lion and XCode 4 on another machine. This time, it didn't have gcc-4.2, so I couldn't use my earlier modifications for pari, gsl, and symmetrica. Instead, I turned off optimization in each of their spkg-install files. For some reason, R failed to build: I got an error during installation:

mkdir /Applications/sage_builds/Lion/sage-5.0.beta1+/local/lib/R/share/texmf/tex
mkdir /Applications/sage_builds/Lion/sage-5.0.beta1+/local/lib/R/share/texmf/tex/latex
mkdir /Applications/sage_builds/Lion/sage-5.0.beta1+/local/lib/R/bin
sed: 1: "s+\(R_SHARE_DIR=\).*+\1 ...": bad flag in substitute command: '/'
make[4]: *** [install] Error 1
make[3]: *** [install] Error 1
make[2]: *** [install] Error 1
Error installing R.

Has anyone seen this before? Anyway, I did touch spkg/installed/r-2.14.0.p1 and continued on. I got the same doctest failures as before, plus new ones arising from the fact that R was missing. So turning off optimization is a viable workaround.

I don't know what's going with R. Since I just installed Lion and XCode 4, maybe some other piece of software is missing. Or maybe as William found earlier, some old library is interfering somehow. Any suggestions?