Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#14556 closed enhancement (fixed)

The maxima spkg has cruft dating back to days of clisp use

Reported by: Snark Owned by: jdemeyer
Priority: minor Milestone: sage-5.10
Component: packages: standard Keywords: noreadline
Cc: fbissey Merged in: sage-5.10.beta5
Authors: Julien Puydt, Jeroen Demeyer Reviewers: Jeroen Demeyer, Julien Puydt
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by jdemeyer)

The maxima spkg creates a maxima-noreadline script, which is an old hack. This should go away.

spkg: http://boxen.math.washington.edu/home/jdemeyer/spkg/maxima-5.29.1.p3.spkg (spkg diff p2 + spkg diff p3)

sagelib: patch for the sage library

Attachments (3)

trac_14556_sagelib.patch (889 bytes) - added by Snark 9 years ago.
Patch to the sage library
trac_14556_maxima.patch (1.6 KB) - added by Snark 9 years ago.
Patch to the maxima spkg
maxima-5.29.1.p3.diff (2.4 KB) - added by jdemeyer 9 years ago.

Download all attachments as: .zip

Change History (30)

comment:1 in reply to: ↑ description Changed 9 years ago by jdemeyer

  • Description modified (diff)

Replying to Snark:

I might work on it myself, but first I must ask on which maxima spkg I should base my work on

http://boxen.math.washington.edu/home/release/sage-5.10.beta2/sage-5.10.beta2/spkg/standard/maxima-5.29.1.p1.spkg

comment:2 Changed 9 years ago by fbissey

  • Cc fbissey added

Changed 9 years ago by Snark

Patch to the sage library

comment:3 Changed 9 years ago by Snark

  • Status changed from new to needs_review

The two attached patches should fix this ticket.

comment:4 Changed 9 years ago by leif

  • Authors set to Julien Puydt
  • Description modified (diff)
  • Keywords noreadline added

You should also provide a "pre-patched" new spkg, with SPKG.txt updated as well.

Changed 9 years ago by Snark

Patch to the maxima spkg

comment:5 Changed 9 years ago by Snark

I updated the patch, and the patched spkg can be found here

comment:6 Changed 9 years ago by jdemeyer

  • Description modified (diff)

comment:7 Changed 9 years ago by Snark

  • Description modified (diff)

Changed 9 years ago by jdemeyer

comment:8 Changed 9 years ago by jdemeyer

  • Description modified (diff)
  • Reviewers set to Jeroen Demeyer

Positive review to your changes.

However, I added some more small changes to the maxima spkg, please review.

comment:9 Changed 9 years ago by Snark

  • Reviewers changed from Jeroen Demeyer to Jeroen Demeyer, Julien Puydt
  • Status changed from needs_review to positive_review

Reviewed, with nothing bad to say.

comment:10 Changed 9 years ago by Snark

  • Authors changed from Julien Puydt to Julien Puydt, Jeroen Demeyer

comment:11 Changed 9 years ago by jdemeyer

  • Merged in set to sage-5.10.beta5
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:12 Changed 9 years ago by kcrisman

Did anyone actually try upgrading with this? From beta4 - and don't try to tell me that was just a beta ;-)

test -d binary-ecl || mkdir binary-ecl
ecl -norc -eval '(progn (load "../lisp-utils/defsystem.lisp") (funcall (intern (symbol-name :operate-on-system) :mk) "maxima" :compile :verbose t) (build-maxima-lib))' -$
;;; Loading "/Users/.../sage-5.10.beta3/spkg/build/maxima-5.29.1.p3/src/src/../lisp-utils/defsystem.lisp"
;;; Loading #P"/Users/.../sage-5.10.beta3/local/lib/ecl/cmp.fas"
;;; Loading "/Users/.../sage-5.10.beta3/spkg/build/maxima-5.29.1.p3/src/src/maxima.system"

;  - Compiling defsystem "maxima"
;    - Compiling module "package"
;      - Compiling source file
;        "/Users/.../sage-5.10.beta3/spkg/build/maxima-5.29.1.p3/src/src/maxima-package.lisp"
;;;
;;; Compiling /Users/.../sage-5.10.beta3/spkg/build/maxima-5.29.1.p3/src/src/maxima-package.lisp.
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=2
;;;
;;; End of Pass 1.
;;; Internal error:
;;;   ** Unable to find include directory
;      - Binary file binary-ecl/maxima-package.fas is old or does not exist.
;        Compile (and load) source file /Users/.../sage-5.10.beta3/spkg/build/maxima-5.29.1.p3/src/src/maxima-package.lisp instead? y
;      - Should I bother you if this happens again? y
;      - Compiling source file
;        "/Users/.../sage-5.10.beta3/spkg/build/maxima-5.29.1.p3/src/src/maxima-package.lisp"
;;;
;;; Compiling /Users/.../sage-5.10.beta3/spkg/build/maxima-5.29.1.p3/src/src/maxima-package.lisp.
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=2
;;;
;;; End of Pass 1.
;;; Internal error:
;;;   ** Unable to find include directory
;      - Loading binary file "binary-ecl/maxima-package.fas" An error occurred during initialization:
Filesystem error with pathname #P"/Users/.../sage-5.10.beta3/spkg/build/maxima-5.29.1.p3/src/src/binary-ecl/maxima-package.fas".
Either
 1) the file does not exist, or
 2) we are not allowed to access the file, or
 3) the pathname points to a broken symbolic link..
make[3]: *** [binary-ecl/maxima] Error 1
make[2]: *** [all-recursive] Error 1
***********************************************************
Error: Failed to build Maxima.
***********************************************************

comment:13 follow-up: Changed 9 years ago by kcrisman

I'd also be skeptical of removing the OS X workaround unless we're sure that really doesn't cause problems on any Mac platforms. Though I wouldn't be surprised if it turned out to be unnecessary with the latest ECL - I think that message dates to clisp, maybe that was part of the issue.

comment:14 Changed 9 years ago by fbissey

I don't think that was a clisp workaround but I could be wrong. So building from scratch on OS X works but upgrading doesn't?

comment:15 Changed 9 years ago by kcrisman

So building from scratch on OS X works but upgrading doesn't?

I don't know. I only just now got back online after the US holiday weekend and tried upgrading. I assume Jeroen built from scratch before merging, however, but he probably only tests upgrades from major to major release on every platform... anyway, it's quite reproducible with this setup on my 10.7 Intel machine.

comment:16 follow-up: Changed 9 years ago by fbissey

It is quite weird. But I assume this is material for a new ticket now, is it the full log for maxima? If you have more before that I think we should inspect it.

comment:17 Changed 9 years ago by leif

Well, unless something else got (unintentionally) messed up in the spkg , the only relevant change is the removal of redirecting stdout and stderr to files on MacOS X, in Jeroen's .p3.

comment:18 in reply to: ↑ 13 Changed 9 years ago by jdemeyer

Replying to kcrisman:

I'd also be skeptical of removing the OS X workaround

Fair enough, but partially the reason for removal was that it was an undocumented fix. I really dislike "workarounds" without any reference to a ticket or clues what the problem is. And I even looked on the ticket numbers from the spkg, but couldn't find any reference to this problem on any Trac ticket.

comment:19 Changed 9 years ago by fbissey

I spent some time with hgview to scan the hg repo of the maxima spkg. This is in the initial commit on 23/07/2007 by wstein

if [ `uname` = "Darwin" ]; then
   echo "Now building maxima; this takes a few minutes"
   echo "Since we're using OS X and there is a very weird"
   echo "bug with buffered output while building maxima,"
   echo "you will not be able to see the output of the build"
   echo "as it occurs.  Don't worry, the build process did"
   echo "not hang."
   make > output.log
else
   make
fi

And the second commit of the repo has the following change, also by wstein on 2/11/2007

@@ -31,8 +39,10 @@
    echo "you will not be able to see the output of the build"
    echo "as it occurs.  Don't worry, the build process did"
    echo "not hang."
-   make > output.log
+   make >> "$CUR"/output.log  2>> "$CUR"/error.log
 else
+
+
    make
 fi
 check_error "Failed to make Maxima." 

neither have trac tickets. trac tickets are vaguely mentioned in the commit message on occasion in 2008 and 2009, they are regulary in commit message in 2010 and the first time SPKG.txt quote a trac ticket is 13/02/2011. When did Jeroen become the release manager already???

That was some archeology. The work around has been in the spkg since 2007. maxima on a gentoo prefix on OS X doesn't have any buffering problems at build time.

comment:20 in reply to: ↑ 16 ; follow-up: Changed 9 years ago by kcrisman

It is quite weird. But I assume this is material for a new ticket now, is it the full log for maxima? If you have more before that I think we should inspect it.

The rest of the log is completely ordinary, same as always. At this point I'm just asking for someone else to test upgrading for this spkg.

Indeed,

$ ls spkg/build/maxima-5.29.1.p3/src/src/binary-ecl/
maxima-package.c	maxima-package.data	maxima-package.eclh

As to the removal of the buffering fix thingie, I'm not worried about it as long as Jeroen has indeed tested it on a variety of machines, which sounds like it is the case. I agree that commits from 2007 made by William are likely to be suspect and undocumented ;-)

comment:21 in reply to: ↑ 20 ; follow-up: Changed 9 years ago by kcrisman

Replying to kcrisman:

It is quite weird. But I assume this is material for a new ticket now, is it the full log for maxima? If you have more before that I think we should inspect it.

The rest of the log is completely ordinary, same as always. At this point I'm just asking for someone else to test upgrading for this spkg.

Indeed,

$ ls spkg/build/maxima-5.29.1.p3/src/src/binary-ecl/
maxima-package.c	maxima-package.data	maxima-package.eclh

Weirdly, now as I try to reinstall the p1 spkg, I get the same problem! Of course, it doesn't show up on the screen, but in error.log it's there, and the binary-ecl folder has the same three files.

Is it possible we have to touch ecl first so that it upgrades when upgrading this? I don't see why, but I'll try that next.

comment:22 in reply to: ↑ 21 Changed 9 years ago by kcrisman

Weirdly, now as I try to reinstall the p1 spkg, I get the same problem! Of course, it doesn't show up on the screen, but in error.log it's there, and the binary-ecl folder has the same three files.

Is it possible we have to touch ecl first so that it upgrades when upgrading this? I don't see why, but I'll try that next.

Apparently this solves the problem. I strongly suggest that someone else verify this before Sage 5.10 is released.

Version 1, edited 9 years ago by kcrisman (previous) (next) (diff)

comment:23 Changed 9 years ago by fbissey

The ecl/maxima building problem again. ecl has been updated in beta2 so it shouldn't have been a problem updating from beta4. Did you move sage at some point before upgrading?

comment:24 Changed 9 years ago by kcrisman

Yes, because I had upgraded several times in a row and then renamed the folder.

I'll be mostly offline for a few days now, so I won't be able to reproduce this, but I am pretty certain that somehow this was the issue.

comment:25 Changed 9 years ago by jdemeyer

ecl/maxima build issue confirmed. It seems that the following doesn't work:

  1. build ecl
  2. move Sage tree
  3. build maxima

comment:26 Changed 9 years ago by fbissey

Again... we already dealt with that in the past. In any case it shouldn't be related to this ticket. It is really an ecl issue not a maxima one. The maxima bump just made it apparent.

comment:27 Changed 9 years ago by jdemeyer

Follow-up: #11359.

Last edited 9 years ago by jdemeyer (previous) (diff)
Note: See TracTickets for help on using tickets.