taskManeage - Tasks: task #16640, Build GNU Common Lisp and the...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

task #16640: Build GNU Common Lisp and the computer algebra system Maxima

Submitter:  Boud Roukema <boud>
Submitted:  Fri 21 Mar 2025 04:38:13 PM UTC
   
 
Should Start On:  Fri 21 Mar 2025 12:00:00 AM UTC Should be Finished on:  Sat 21 Mar 2026 12:00:00 AM UTC
Category:  Software Priority:  5 - Normal
Status:  In Progress Privacy:  Public
Assigned to:  None Percent Complete:  30%
Open/Closed:  Open Effort:  0.00

Sun 23 Mar 2025 03:02:33 PM UTC, comment #5: 

Sorry for the confusion. The PS was only about gcl-2.7.0, but better that I give an overall summary.

I recommend merging the gcl-2.6.15-pre17 and maxima-5.46.0 tarballs, because they build correctly for an active draft of a research paper to be published using a maneage template. That draft is currently branched off (as a merge) commit 27ff6f7 on the main maneage branch.

Neither gcl-2.6.15-pre17 nor gcl-2.7.0 are (for me) fully buildable based off recent maneage - commit 17e6bec. Likely reasons are (i) gcl-2.6.15-pre17 was not tested with gcc-14.2.0 and is unlikely to made compatible with it; (ii) gcl-2.7.0 is still undergoing rapid development and testing, and is likely to be made full compatible with gcc-14.2.0.

Thus our current plan is to keep the research paper on gcl-2.6.15-pre17 and maxima-5.46.0 with the branch off 27ff6f7. There is no point delaying the paper while waiting for gcl development.

If we want tarballs-software/ to be useful for real-world peer-reviewed research papers, then I recommend that the gcl-2.6.15-pre17 and maxima-5.46.0 tarballs be merged into the main tarballs-software branch.

Boud Roukema <boud>
Group Member
Sat 22 Mar 2025 07:57:57 PM UTC, comment #4: 

Thanks Boud! It was not clear from the P.S. if they are indeed in a working condition (and do what they should), or if further development is necessary. If all those warnings and errors that you mention don't let them work as expected, we shouldn't merge it into the 'maneage' branch yet.

Mohammad Akhlaghi <makhlaghi>
Group administrator
Sat 22 Mar 2025 01:27:38 PM UTC, comment #3: 

Feel free to merge commit 52145a9f on branch 'gcl_maxima' to branch 'master' [6].

I don't see any point publicly storing and archiving tarballs that don't build in either a draft research paper version of maneage or current official maneage, so for the moment I've only put one version of each of gcl and maxima.

[6] https://gitlab.com/maneage/tarballs-software/-/commit/52145a9f38e4ea748455d5e1010c8f8450379e1b


PS: Comments on building development-branch-gcl + maxima: It happens that the current gcl 2.7.0 commit 82992ccc5 built in the draft paper maneage branch without a fatal error per make and shell exit values, and maxima built too, but: the log showed many errors; the build of gcl used about 60 or 70 Gb of 'RES' (physical, per 'top') RAM for a long time; the build took over an hour instead of about 10 minutes; and running maxima interactively with './project shell' entered some sort of debugging shell:

$ maxima

Error:
Fast links are on: do (si::use-fast-links nil) for debugging
Signalled by "AN ANONYMOUS FUNCTION".

INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on RUN: Undefined function:

Broken at NIL.
    1 (abort) Return to debug level 5.
    2  Return to debug level 4.
    3  Return to debug level 3.
    4  Return to debug level 2.
    5  Return to debug level 1.
    6  Return to top level.
>>>>>>> tex(expand((3*x-8*y)^4));

Error:
Fast links are on: do (si::use-fast-links nil) for debugging
Signalled by "AN ANONYMOUS FUNCTION".

INTERNAL-SIMPLE-UNBOUND-VARIABLE: Cell error on TEX: Unbound variable:

Broken at NIL.
    1 (abort) Return to debug level 6.
    2  Return to debug level 5.
    3  Return to debug level 4.
    4  Return to debug level 3.
    5  Return to debug level 2.
    6  Return to debug level 1.
    7  Return to top level.
>>>>>>>>
Error:
Fast links are on: do (si::use-fast-links nil) for debugging
Signalled by "AN ANONYMOUS FUNCTION".

INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on EXPAND: Undefined function:

Broken at NIL.
    1 (abort) Return to debug level 7.
    2  Return to debug level 6.
    3  Return to debug level 5.
    4  Return to debug level 4.
    5  Return to debug level 3.
    6  Return to debug level 2.
    7  Return to debug level 1.
    8  Return to top level.
>>>>>>>>>


Boud Roukema <boud>
Group Member
Fri 21 Mar 2025 10:46:58 PM UTC, comment #2: 

Fair enough about creating .tar.lz tarballs instead of a bunch of patches. :)

I didn't say that bug 66937 [5] is fixed upstream and I didn't say that the patches have been "fixed" or implemented upstream, but the GCL git history does show that the Debian patches in fact do appear to have been implemented upstream - by the same person Camm Maguire who is doing the Debian maintenance and who is currently very active in doing updates. And it does look like bug 66937 is solved in the 2.7.0 branch. So this does look like a rapid development cycle, which is promising.

I've set this task as only 30% completed. I'll do updates later.

Boud Roukema <boud>
Group Member
Fri 21 Mar 2025 05:58:25 PM UTC, comment #1: 

Thanks a lot Boud! Can you build their standardized tarballs and commit on a dedicated branch of https://gitlab.com/maneage/tarballs-software?

The number of patches are very large and since you said they are already fixed upstream, I checked the GCL Git history and the latest commit was just 24 hours ago. So how about simply cloning this repository, building it and running 'make dist' to generate a tarball with all these patches already applied?

Mohammad Akhlaghi <makhlaghi>
Group administrator
Fri 21 Mar 2025 04:38:13 PM UTC, original submission:  

Commit f8007217 [1] on branch debug_gcl [2] shows a partially successful build of GNU Common Lisp and Maxima [3][4] within current main branch Maneage. Maxima is needed for analytical theory as a complement to numerical theory, e.g.

$ printf "tex(expand((3*x-8*y)^4));" | maxima |grep "\$\$" |sed -e 's/\(\\,\|[+-]\)/ \1 /g'

gives the TeX output

(%i1) $$4096 \, y^4 - 6144 \, x \, y^3 + 3456 \, x^2 \, y^2 - 864 \, x^3 \, y + 81 \, x^4$$

When an analytical calculation fills up half a dozen A4 pages of the appendix of a paper, it is unwise to limit checking to human checking alone.

A case sensitivity related bug in compiling GCL has been posted upstream, together with a workaround [5]. This is unlikely to occur in typical GNU/Linux distributions, but the particular aims of Maneage make the bug more likely for us.

Both GCL and Maxima compile fine for me with gcc 12.1.0 in a slightly older Maneage branch.

[1] https://codeberg.org/boud/maneage_dev/commit/f800721742fea465942b8215421021b64d5fb03d

[2] https://codeberg.org/boud/maneage_dev/commits/branch/debug_gcl

[3] https://en.wikipedia.org/wiki/Maxima_%28software%29

[4] https://maxima.sourceforge.io

[5] https://savannah.gnu.org/bugs/index.php?66937

Boud Roukema <boud>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by makhlaghi (Posted a comment)
  • -email is unavailable- added by boud (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    No changes have been made to this item

    Back to the top

    Powered by Savane 3.15-e6e5.
    Corresponding source code