|Summary:||lang/ecl: Update to 20.4.24|
|Product:||Ports & Packages||Reporter:||Niclas Zeising <zeising>|
|Component:||Individual Port(s)||Assignee:||Jimmy Olgeni <olgeni>|
|Severity:||Affects Only Me||CC:||salvadore, thierry, zeising|
|Bug Depends on:|
Description Niclas Zeising 2020-06-15 16:58:23 UTC
As part of my work to update libffi to 3.3, I need to update lang/ecl to 20.4.24. The update can be found as part of this differential, which also tracks the libffi update: https://reviews.freebsd.org/D25163
Comment 1 Jimmy Olgeni 2020-06-15 20:24:40 UTC
Adding salvadore@ and thierry@ for the SageMath side.
Comment 2 Niclas Zeising 2020-06-16 08:36:55 UTC
@thierry: Is the math/sage update needed for this to go in?
Comment 3 Thierry Thomas 2020-06-16 12:57:44 UTC
(In reply to Niclas Zeising from comment #2) math/sage in PR 247298 works with lang/ecl and math/maxima as currently in the ports tree. It is reported by upstream as working with ECL-20.4.24, but I have not yet found the time to test it after this upgrade. Maybe some adjustments will be required for Maxima or Sage itself - but it should be possible.
Comment 4 Lorenzo Salvadore 2020-06-16 13:31:43 UTC
I will soon update maxima to version 5.44.0, in case it is useful for you to know it.
Comment 5 Kubilay Kocak 2020-06-17 01:28:56 UTC
@Niclas Can you include the lang/ecl patch separately as an attachment here please.
Comment 6 Niclas Zeising 2020-06-17 11:29:59 UTC
Created attachment 215656 [details] update lang/ecl Here is a separate patch for just lang/ecl, as requested by koobs.
Comment 7 Niclas Zeising 2020-06-18 11:11:59 UTC
What's the state on this, is it OK to go in, or should I wait for maxima?
Comment 8 Thierry Thomas 2020-06-18 11:44:09 UTC
Could you please wait until tonight (GMT) ? I'm still testing it… Just FTI, I tested the `make check' target (to be launched after install, because ecl is needed), and here is its result: Did 233 tests (1 crashed), 17813 checks. Pass: 17810 (100%) Fail: 3 ( 0%) Failure details: -------------------------------- MIX.0016.FIFO-TESTS: CRASH [SIMPLE-STREAM-ERROR]: C operation (fread) signaled an error. C library explanation: Resource temporarily unavailable. I don't know if this is expected/important/whatever.
Comment 9 Niclas Zeising 2020-06-18 11:52:40 UTC
(In reply to Thierry Thomas from comment #8) Of course I can wait. There is no rush, I just wanted to know status on things. Is the test failure from ecl? Does the version in ports pass all tests today? I'll try to look into this later today or during the weekend.
Comment 10 Thierry Thomas 2020-06-18 12:04:09 UTC
(In reply to Niclas Zeising from comment #9) No problem related to the tests failure for me: I just listed it FYI.
Comment 11 Thierry Thomas 2020-06-18 15:12:25 UTC
Maxima from D25303 seems OK, but math/sage fails with theses messages: build/cythonized/sage/libs/ecl.c:3734:57: error: use of undeclared identifier 'ECL_OPT_TRAP_SIGCHLD'; did you mean 'ECL_OPT_TRAP_SIGILL'? __pyx_t_3 = __Pyx_PyInt_From_cl_fixnum(ecl_get_option(ECL_OPT_TRAP_SIGCHLD)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error) ^~~~~~~~~~~~~~~~~~~~ ECL_OPT_TRAP_SIGILL /usr/local/include/ecl/external.h:972:9: note: 'ECL_OPT_TRAP_SIGILL' declared here ECL_OPT_TRAP_SIGILL, ^ build/cythonized/sage/libs/ecl.c:4406:57: error: use of undeclared identifier 'ECL_OPT_SIGALTSTACK_SIZE' __pyx_t_3 = __Pyx_PyInt_From_cl_fixnum(ecl_get_option(ECL_OPT_SIGALTSTACK_SIZE)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 208, __pyx_L1_error) ^ build/cythonized/sage/libs/ecl.c:4731:18: error: use of undeclared identifier 'ECL_OPT_TRAP_SIGCHLD'; did you mean 'ECL_OPT_TRAP_SIGILL'? ecl_set_option(ECL_OPT_TRAP_SIGCHLD, 0); ^~~~~~~~~~~~~~~~~~~~ ECL_OPT_TRAP_SIGILL /usr/local/include/ecl/external.h:972:9: note: 'ECL_OPT_TRAP_SIGILL' declared here ECL_OPT_TRAP_SIGILL, ^ 3 errors generated. I do not yet know if these signals have been removed intentionally from ECL and imply a fix in Sage, but investigating…
Comment 12 Niclas Zeising 2020-06-18 16:15:52 UTC
(In reply to Thierry Thomas from comment #11) Looks like ECL_OPT_TRAP_SIGCHLD was removed here: https://gitlab.com/embeddable-common-lisp/ecl/-/commit/f7e224b84e0b6cc13a56fe5ac71c6050a20676f0 I'm looking in the math/sage repo to see if this has been resolved upstream and we can bring in the patch.
Comment 13 Niclas Zeising 2020-06-18 16:31:35 UTC
(In reply to Niclas Zeising from comment #12) Looking at the ecl code, src/sage/libs/ecl.pyx, it might be as simple as ripping out the ECL_OPT_TRAP_SIGCHLD stuff, since as far as I understand, everything that it does is disabling the handling of SIGCHLD in ecl, as per the comment here: https://github.com/sagemath/sage/blob/develop/src/sage/libs/ecl.pyx#L246 . I'm only guessing though.
Comment 14 Niclas Zeising 2020-06-18 16:54:14 UTC
(In reply to Niclas Zeising from comment #13) I found this, that could work? https://git.sagemath.org/sage.git/commit/?h=u/gh-spaghettisalat/ecl-update&id=7250c3cd7368aaf27705c2dabe09a01e37fbd284
Comment 15 Thierry Thomas 2020-06-18 17:00:48 UTC
Yes, specially the part about a/src/sage/libs/ecl.pyx b/src/sage/libs/ecl.pyx I'm trying it, will let you know.
Comment 16 Thierry Thomas 2020-06-18 19:25:55 UTC
That did the trick, it compiles and installs cleanly, and the examples from Maxima (built with ECL) are OK: ┌────────────────────────────────────────────────────────────────────┐ │ SageMath version 9.1, Release Date: 2020-05-20 │ │ Using Python 3.7.7. Type "help()" for help. │ └────────────────────────────────────────────────────────────────────┘ sage: f = maxima.eval('ij_entry[i,j] := i/j') sage: A = maxima('genmatrix(ij_entry,4,4)'); A matrix([1,1/2,1/3,1/4],[2,1,2/3,1/2],[3,3/2,1,3/4],[4,2,4/3,1]) sage: A.determinant() 0 sage: A.echelon() matrix([1,1/2,1/3,1/4],[0,0,0,0],[0,0,0,0],[0,0,0,0]) sage: A.eigenvalues() [[0,4],[3,1]] sage: A.eigenvectors() [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
Comment 17 Thierry Thomas 2020-06-18 19:35:23 UTC
Created attachment 215747 [details] Patch to be chase the upgrades of lang/ecl and math/maxima Attached is a patch to be committed together (or just after) the upgrades of lang/ecl and math/maxima.
Comment 18 Niclas Zeising 2020-06-19 06:46:50 UTC
(In reply to Thierry Thomas from comment #17) Thank you very much for helping out testing, diagnosing and providing a fix!
Comment 19 Niclas Zeising 2020-06-24 13:44:58 UTC
What's missing to get this and math/maxima updated?
Comment 20 Thierry Thomas 2020-06-28 09:34:25 UTC
(In reply to Niclas Zeising from comment #9) The failures when running the test suite had been reported by others: see https://trac.sagemath.org/ticket/22191#comment:237 and they have been fixed upstream: https://gitlab.com/embeddable-common-lisp/ecl/-/commit/75877dd8f0d534552284ba4380ba65baa74f028f
Comment 21 Niclas Zeising 2020-06-29 17:35:10 UTC
Created attachment 216044 [details] lang/ecl: Update to 20.4.24 v2 (In reply to Thierry Thomas from comment #20) Thank you! I added the patch and rolled a new diff that's attached. I'm still waiting for the math/maxima update, hopefully we can get this over the finish line soon. :)
Comment 22 commit-hook 2020-07-04 17:29:43 UTC
A commit references this bug: Author: zeising Date: Sat Jul 4 17:28:49 UTC 2020 New revision: 541226 URL: https://svnweb.freebsd.org/changeset/ports/541226 Log: lang/ecl: Update to 20.4.24 Update lang/ecl to 20.4.24. PR: 247283 Reviewed by: thierry Approved by: olgeni (maintainer) Changes: head/lang/ecl/Makefile head/lang/ecl/distinfo head/lang/ecl/files/extra-patch-src_Makefile.in head/lang/ecl/files/extra-patch-src_aclocal.m4 head/lang/ecl/files/extra-patch-src_lsp_format.lsp head/lang/ecl/files/patch-75877dd.c head/lang/ecl/pkg-plist
Comment 23 commit-hook 2020-07-04 17:32:45 UTC
A commit references this bug: Author: zeising Date: Sat Jul 4 17:31:47 UTC 2020 New revision: 541228 URL: https://svnweb.freebsd.org/changeset/ports/541228 Log: math/sage: Change lang/ecl and math/maxima update Chase the update of math/sage and lang/ecl Bump portrevision PR: 247283 Submitted by: thierry Changes: head/math/sage/Makefile head/math/sage/files/patch-src_sage_libs_ecl.pxd head/math/sage/files/patch-src_sage_libs_ecl.pyx