sagemath / sage

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

Apply ALL relevent fixes to ECL 10.4.1 #9264

Closed bac7d3ea-3f1b-4826-8464-f0b53d5e12d2 closed 13 years ago

bac7d3ea-3f1b-4826-8464-f0b53d5e12d2 commented 14 years ago

There are a number of tickets active at the minute with patches to ECL

none have been merged, but the patches are not consistent across all or them.

The aim of this ticket is to update to the 10.4.1 source code, whilst ensuring all the relevant patches are applied.

Important

On #8951 Jason says "As a reminder here, this (i.e. #8951) should only be merged simultaneously with the new maxima at #8731."

Assuming Jason is correct, that gives us a problem.

The Maxima update seems to have stalled (there are no updates on the ticket for 3 weeks). If updating Maxima to 5.21.1 and ECL 10.4.1 need to be done together, it will probably be best to create a ecl-10.2.1.p0, which has all the small changes, and actually leave updating to the latest ECL code until it can be better coordinated with the Maxima update.

At the moment, it seems several small but important changes to the ECL installation are being held up for a non-trivial set of changes needed if Mamima is updated.

Dave

CC: @williamstein @jhpalmieri @qed777 @nexttime @jaapspies @jasongrout @vbraun @jdemeyer

Component: packages: standard

Reviewer: Volker Braun

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

bac7d3ea-3f1b-4826-8464-f0b53d5e12d2 commented 14 years ago

Description changed:

--- 
+++ 
@@ -13,4 +13,14 @@

 The aim of this ticket is to update to the 10.4.1 source code, whilst ensuring all the relevant patches are applied. 

+## Important
+
+On #8951 Jason says "As a reminder here, this (i.e. #8951) should *only* be merged simultaneously with the new maxima at #8731."
+
+Assuming Jason is correct, that gives us a problem. 
+
+The Maxima update seems to have stalled (there are no updates on the ticket for 3 weeks). If updating Maxima to 5.21.1 and ECL 10.4.1 need to be done together, it will probably be best to create a ecl-10.2.1.p0, which has all the small changes, and actually leave updating to the latest ECL code until it can be better coordinated with the Maxima update. 
+
+At the moment, it seems several small but important changes to the ECL installation are being held up for a non-trivial set of changes needed if Mamima is updated. 
+
 Dave 
nbruin commented 14 years ago
comment:2

Your best chance is to see if you can give a positive review to

8645. The maxima spkg there:

http://sage.math.washington.edu/home/nbruin/maxima-5.20.1.p1.spkg

is the same maxima that is in sage now, with minimal changes applied to let maxima build under ECL 10.4.1.

If maxima.5.20.1.p1 on ecl.10.4.1 needs work, we might as well wait until maxima.5.21 is ready to be merged, because then the problem is ecl.10.4.1.

When I tried, I couldn't get maxima to build properly under ecl.10.2 (its "ASDF" is too buggy)

bac7d3ea-3f1b-4826-8464-f0b53d5e12d2 commented 14 years ago
comment:3

I've created a new ECL package

http://boxen.math.washington.edu/home/kirkby/revised-patches/ecl-10.4.1.spkg

which has the following fixes applied:

All changes have been checked with #8645, which has a change to Maxima which allows Maxima to build with the latest ECL. The patch on #8645 does not update Maxima to the latest version, as that creates problems which are non-trivial to solve. It does however fix a problem with Maxima not installing the library properly, and allows Maxima to build with the latest ECL>

As such, the attached ticket:

Here are the test results:

== Testing on Solaris 10 SPARC in 32-bit mode. ==

    done
for i in Copyright LGPL; do \
      /usr/bin/ginstall -c -m 644 /export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/ecl-10.4.1/src/src/../$i /export/home/drkirkby/sage-4.4.4.alpha1/local/lib/; \
    done
/bin/sh /export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/ecl-10.4.1/src/src/gc/mkinstalldirs /export/home/drkirkby/sage-4.4.4.alpha1/local/share/man/man1
for i in doc/ecl.man doc/ecl-config.man; do \
        /usr/bin/ginstall -c -m 644 $i /export/home/drkirkby/sage-4.4.4.alpha1/local/share/man/man1/ecl.1; \
    done
make[1]: Leaving directory `/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/ecl-10.4.1/src/build'

real    1m26.075s
user    1m17.655s
sys 0m7.531s
Successfully installed ecl-10.4.1

Here is the Maxima 5.20.1.p1 installation from #8645

installing Maxima library as /export/home/drkirkby/sage-4.4.4.alpha1/local/lib/ecl//maxima.fas

real    22m32.432s
user    19m9.372s
sys     2m51.674s
Successfully installed maxima-5.20.1.p1
Now cleaning up tmp files.
rm: Cannot remove any directory in the path of the current working directory
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/maxima-5.20.1.p1
Making Sage/Python scripts relocatable...
Making script relocatable
Finished installing maxima-5.20.1.p1.spkg
drkirkby@redstart:~/sage-4.4.4.alpha1$ 

== Testing on OpenSolaris x64 06/2009 64-bit mode. ==

/bin/sh /export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/ecl-10.4.1/src/src/gc/mkinstalldirs /export/home/drkirkby/sage-4.4.4.alpha1/local/share/man/man1
for i in doc/ecl.man doc/ecl-config.man; do \
        /usr/bin/ginstall -c -m 644 $i /export/home/drkirkby/sage-4.4.4.alpha1/local/share/man/man1/ecl.1; \
    done
make[1]: Leaving directory `/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/ecl-10.4.1/src/build'

real    1m26.075s
user    1m17.655s
sys 0m7.531s
Successfully installed ecl-10.4.1

Maxima 5.20.1.p1 will not build on this platform, but such a problem is not related to this ticket, and appears it might be an incorrect flag given in the source (-Wl,-G instead of -shared). This is documented at #9099

Testing on sage.math (Linux), 64-bit.

n/man1/ecl.1; \
    done
make[1]: Leaving directory `/home/kirkby/sage-4.4.3/spkg/build/ecl-10.4.1/src/build'

real    2m16.904s
user    1m44.990s
sys 0m14.980s
Successfully installed ecl-10.4.1
Now cleaning up tmp files.
Making Sage/Python scripts relocatable...
Making script relocatable
Finished installing ecl-10.4.1.spkg

We can also see Maxima, and the library are ok now.

;;; 
installing Maxima library as /home/kirkby/sage-4.4.3/local/lib/ecl//maxima.fas

real    4m41.594s
user    3m14.160s
sys 0m46.000s
Successfully installed maxima-5.20.1.p1
Now cleaning up tmp files.
Making Sage/Python scripts relocatable...
Making script relocatable
Finished installing maxima-5.20.1.p1.spkg

Note to Release manager

There are many tickets active at the minute for updates to Maxima and ECL. Once positively, this should be integrated with Maxima at #8645. At the time of writing, the use of the latest Maxima will cause problems with doctest failures, as Maxima's output is changed from the current version.

nbruin commented 14 years ago
comment:4

I have tested this ticket by building sage 4.4.3 with the following spkgs substituted: http://boxen.math.washington.edu/home/kirkby/revised-patches/ecl-10.4.1.spkg http://sage.math.washington.edu/home/nbruin/maxima-5.20.1.p1.spkg All doctests pass on sage.math.washington.edu. Furthermore, the ecl-10.4.1 package looks like it does what it's supposed to. When I diff it with http://sage.math.washington.edu/home/nbruin/ecl-10.4.1.spkg there are some unexpected files and differences in binary files in the .hg subdir, but otherwise the packages agree.

Merging this ticket should be a good stepping stone towards #8731 (assuming the issues there haven't been resolved by the time the next release merges are made). Merging this ticket would also resolve #8645, as well as all ECL related ticket referred to.

nbruin commented 14 years ago

Reviewer: Nils Bruin

bac7d3ea-3f1b-4826-8464-f0b53d5e12d2 commented 14 years ago
comment:5

I just noticed a small inaccuracy in the description of the hardware used to test this on OpenSolaris. It does not affect the validity of the ticket, but it is sensible to correct the error.

The section marked Testing on OpenSolaris x64 06/2009 64-bit mode. states the processors are:

which is incorrect. Unfortunately, the Sun Ultra 27 does not support more than one CPU. A more accurate description of the hardware/software used to test this ECL package on OpenSolaris is:

Testing on OpenSolaris x64 06/2009 64-bit mode.

Dave

89c6e537-b2e3-45e6-882d-d4957b74ffe5 commented 14 years ago

Merged: sage-4.5.alpha0

89c6e537-b2e3-45e6-882d-d4957b74ffe5 commented 14 years ago
comment:7

Applied http://boxen.math.washington.edu/home/kirkby/revised-patches/ecl-10.4.1.spkg

89c6e537-b2e3-45e6-882d-d4957b74ffe5 commented 14 years ago

Changed merged from sage-4.5.alpha0 to none

vbraun commented 13 years ago
comment:9

ecl-10.2.1.p3 does not compile on Fedora 14:

libeclmin.a(sequence.o): In function `cl_sublis':
/home/vbraun/Code/ecl/src/c/sequence.d:106: multiple definition of `cl_sublis'
libeclmin.a(list.o):/home/vbraun/Code/ecl/src/c/list.d:778: first defined here
c/all_symbols.o:(.data.rel+0x9b20): undefined reference to `cl_subseq'
libeclmin.a(string.o): In function `string_trim0':
/home/vbraun/Code/ecl/src/c/string.d:756: undefined reference to `cl_subseq'
libeclmin.a(sequence.o): In function `cl_copy_seq':
tmp.c:(.text+0x4c0): undefined reference to `cl_subseq'
libeclmin.a(pathname.o): In function `make_one':
/home/vbraun/Code/ecl/src/c/pathname.d:234: undefined reference to `cl_subseq'
/home/vbraun/Code/ecl/src/c/pathname.d:234: undefined reference to `cl_subseq'
collect2: ld returned 1 exit status
make[1]: *** [ecl_min] Error 1

The current ecl-10.4.1 compiles fine. Given that Fedora 14 is scheduled to be released next Monday, is there any chance we can update ecl? Ideally in the next Sage (4.6.1) release...

bac7d3ea-3f1b-4826-8464-f0b53d5e12d2 commented 13 years ago
comment:10

You should open a new trac ticket for this.

Dave

bac7d3ea-3f1b-4826-8464-f0b53d5e12d2 commented 13 years ago
comment:11

I've created a new trac ticket for you - see #10185.

bac7d3ea-3f1b-4826-8464-f0b53d5e12d2 commented 13 years ago
comment:12

I realise this ticket was still open, but I still think the Fedora issue should go on a ticket of its own. The package I made for this ticket is not the latest ECL, so if we do update ECL, we will probably end up using a later version of it. The version here does not have some fixes which are in the current ECL in Sage. In particular, #9917 has fixes which are not in my package referenced here.

vbraun commented 13 years ago
comment:13

I went through ./src/src/c/dpp.c in your ecl-10.4.1 spkg (http://boxen.math.washington.edu/home/kirkby/revised-patches/ecl-10.4.1.spkg) and checked that all fprint()s have the right number of arguments. So upstream fixed #9917 and we don't have to patch it any more.

I removed the included gmp as discussed in #9493.

Are there any other outstanding patches? I've looked through trac and there seem to be many overlapping discussions. But I could not find any outstanding bugs.

The new ecl requires also a new maxima (5.22.1 is newest upstream release), so we have to update both at the same time. I've created #10187 for a simultaneous ecl+maxima update.

vbraun commented 13 years ago
comment:14

This ticket can be closed as we did update to ecl-10.4.1 a while ago.

kcrisman commented 13 years ago
comment:15

In fact, now ECL is at version 11.1.1 in Sage. #9493 is still open for the GMP removal, otherwise this ticket can be closed.

kcrisman commented 13 years ago

Changed author from David Kirkby to none

kcrisman commented 13 years ago

Changed reviewer from Nils Bruin to Volker Braun

83660e46-0051-498b-a8c1-f7a7bd232b5a commented 13 years ago
comment:17

Replying to @kcrisman:

In fact, now ECL is at version 11.1.1 in Sage. #9493 is still open for the GMP removal, otherwise this ticket can be closed.

I wonder if at least my Special Update / Build Instructions from there went into the ECL spkg... 8)

kcrisman commented 13 years ago
comment:18

Well, unpack ecl-11.1.1.p1.spkg and find out. At any rate, that is on the ticket description at #9493 still, so this ticket should be closed.

kcrisman commented 13 years ago
comment:19

Replying to @kcrisman:

Well, unpack ecl-11.1.1.p1.spkg and find out. At any rate, that is on the ticket description at #9493 still, so this ticket should be closed.

No offense intended, by the way - it just seems more relevant to discuss this at that ticket.

83660e46-0051-498b-a8c1-f7a7bd232b5a commented 13 years ago
comment:20

Replying to @kcrisman:

Well, unpack ecl-11.1.1.p1.spkg and find out. At any rate, that is on the ticket description at #9493 still, so this ticket should be closed.

Could be the first time I ever use sage -info ... (which ought to dump SPKG.txt to the screen, but unfortunately currently doesn't: #11021). :D