Menu

#4100 On macOS, building Maxima has some issues

None
closed
nobody
5
2023-02-12
2023-02-07
No

(1) On macOS, when building the development version of Maxima (commit:e00f35fdab73f13e7778c1da6972d99e6ce89384), the HTML documents are not created due to texinfo-7.0.x.
So texinfo-6.8 should be activated before building the Maxima.

$ port installed texinfo
The following ports are currently installed:
  texinfo @6.8_1 (active)
  texinfo @7.0.2_0
$ 
$ makeinfo --version
texi2any (GNU texinfo) 6.8

Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ 
$ sudo port install maxima-devel

(2) On macOS, executing run_testsuite() causes the following error:

$ maxima --quiet --batch-string='build_info(); run_testsuite();'
(%i1) build_info()
(%o1) 
Maxima-version: "branch_5_46_base_1436_ge00f35fda_dirty"
Maxima build date: "2023-02-07 20:40:16"
Host type: "x86_64-apple-darwin17.7.0"
Lisp implementation type: "SBCL"
Lisp implementation version: "2.3.1"
User dir: "/Users/maxima/.maxima"
Temp dir: "/var/folders/58/sd7gn5sn04dc1gg55cmx6vg40000gn/T"
Object dir: "/Users/maxima/.maxima/binary/branch_5_46_base_1436_ge00f35fda_dirty/sbcl/2_3_1"
Frontend: false
(%i2) run_testsuite()
Testsuite run for SBCL 2.3.1:
 ...
 ...
Running tests in rtest2: 
********************** Problem 300 (line 1157) ***************
Input:
(kill(xyz), xyz : 123, expected_filename : 
sconcat(maxima_tempdir, /tmpsave123.lisp), 
save(sconcat(maxima_tempdir, /tmpsave, xyz, .lisp), xyz))


Result:
/private/var/folders/58/sd7gn5sn04dc1gg55cmx6vg40000gn/T/tmpsave123.lisp

This differed from the expected result:
/var/folders/58/sd7gn5sn04dc1gg55cmx6vg40000gn/T/tmpsave123.lisp

298/299 tests passed (not counting 2 expected errors)

The following 1 problem failed: (300)
 ...
 ...
Error summary:
Error(s) found:
  /opt/local/share/maxima/branch_5_46_base_1436_ge00f35fda_dirty/tests/rtest2.mac problem:
    (300)
1 test failed out of 13,175 total tests.

But on macOS, "/var" is the symbolic link to "/private/var" as follows:

$ ls -lt /
total 47
dr-xr-xr-x   2 root  wheel     1  2  7 21:03 home
dr-xr-xr-x   2 root  wheel     1  2  7 21:03 net
drwxr-xr-x@ 15 root  wheel   510  2  7 20:02 Volumes
dr-xr-xr-x   3 root  wheel  5445  2  7 16:16 dev
drwxr-xr-x@ 12 root  wheel   408  1 27 21:17 usr
drwxr-xr-x+ 64 root  wheel  2176 11 10 21:47 Library
drwxrwxr-x+ 53 root  admin  1802 11 10 19:55 Applications
drwxr-xr-x@  6 root  wheel   204  1 27  2022 private
drwxr-xr-x@ 38 root  wheel  1292 11 13  2020 bin
drwxr-xr-x@ 63 root  wheel  2142 11 13  2020 sbin
drwxr-xr-x   4 root  wheel   136 11 13  2018 opt
drwxr-xr-x   5 root  admin   170 11  7  2018 Users
lrwxr-xr-x@  1 root  wheel    11  7  4  2018 var -> private/var
lrwxr-xr-x@  1 root  wheel    11  7  4  2018 tmp -> private/tmp
lrwxr-xr-x@  1 root  wheel    11  7  4  2018 etc -> private/etc
drwxr-xr-x@  4 root  wheel   136  7  4  2018 System
drwxr-xr-x@  2 root  wheel    68  4 10  2018 Network
drwxrwxr-t@  2 root  admin    68  4 10  2018 cores
-rw-r--r--@  1 root  wheel   313  2  7  2018 installer.failurerequests

(3) An example of fixing #4046
https://sourceforge.net/p/maxima/bugs/4046/#7b96

$ sudo port install maxima-devel

I think you can reproduce the issues and the example with the attached file.
(maxima-devel and texinfo-6.8 port are included. ccl-devel, ecl-devel, clisp-devel, gcl and sbcl are also included)

So please do the following steps:

(i) download the "MacPorts-Maxima-5.46.0+c.dmg" file into the "${HOME}/Downloads" directory.

(ii) enter the next command in order to remove the "quarantine" attribute of the "MacPorts-Maxima-5.46.0+c.dmg" file:

ls -lt@ ${HOME}/Downloads/MacPorts-Maxima-5.46.0+c.dmg
xattr -d com.apple.quarantine ${HOME}/Downloads/MacPorts-Maxima-5.46.0+c.dmg

(iii) open the "MacPorts-Maxima-5.46.0+c.dmg" file and enter the next command:

sudo port selfupdate; sh /Volumes/MacPorts-Maxima/copy_portfiles.sh

Note: "copy_portfiles.sh" is a shell-script which copies new portfiles to the MacPorts directory. After that, when you execute "sudo port selfupdate", the copied portfiles are overwritten.

1 Attachments

Discussion

  • Robert Dodier

    Robert Dodier - 2023-02-09
    • status: open --> closed
     
  • Robert Dodier

    Robert Dodier - 2023-02-09

    Hi Tomio, thanks for working on these issues. About item (2), I've modified rtest2.mac so that it should work correctly on macOS; please see commit [ d77299a ].

    About items (1) and (3), those don't appear to be bugs, but they appear to be information which is useful to people working on macOS. Can I ask you to post those items to maxima-discuss?

    I am closing this ticket as I think I have fixed the bug in item (2). In general my advice is to create a separate ticket for each topic, so that they can be handled one by one.

    Thank you very much for your help! I really appreciate it.

     
    • Tomio Arisaka

      Tomio Arisaka - 2023-02-12

      Hi Tomio, thanks for working on these issues. About item (2), I've modified rtest2.mac so that it should work correctly on macOS; please see commit [ d77299a ].

      Many thanks for your help!
      Now, run_testsuite() prints "No unexpected errors".

      About items (1) and (3), those don't appear to be bugs, but they appear to be information which is useful to people working on macOS. Can I ask you to post those items to maxima-discuss?

      Sorry, my description is not good enough.
      The issue (1) is as follows:

      • Building the development version of Maxima with texinfo-7.0.2 is successful without errors, but the multiple HTML documents are not created. It is mysterious.
      • texinfo-7.0.2 can create the HTML documents when building Maxima-5.46.0.
      • Under MacPorts, only texinfo-7.0.2 is provided now. So I think it is hard for new users to install texinfo-6.8.

      I investigated the issue and gave up fixing it. So I will provide a texinfo-6.8 port file.

      An example of the issue (1):

      • "port install maxima" installs Maxima with maxima port.
      • "port contents maxima" displays a list of all files that have been installed by maxima port.
      • "maxima-devel" is a port name of the development version of Maxima.

      When using texinfo-7.0.2:

      $ makeinfo --version
      texi2any (GNU texinfo) 7.0.2
      
      Copyright (C) 2023 Free Software Foundation, Inc.
      License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.
      $ 
      $ sudo port install maxima-devel; echo $?
      --->  Computing dependencies for maxima-devel
      --->  Fetching archive for maxima-devel
      --->  Attempting to fetch maxima-devel-5.46-dev-20230212_11+xmaxima.darwin_17.x86_64.tbz2 from http://packages.macports.org/maxima-devel
      --->  Attempting to fetch maxima-devel-5.46-dev-20230212_11+xmaxima.darwin_17.x86_64.tbz2 from http://kmq.jp.packages.macports.org/maxima-devel
      --->  Attempting to fetch maxima-devel-5.46-dev-20230212_11+xmaxima.darwin_17.x86_64.tbz2 from http://pek.cn.packages.macports.org/macports/packages/maxima-devel
      --->  Fetching distfiles for maxima-devel
      --->  Verifying checksums for maxima-devel
      --->  Extracting maxima-devel
      --->  Applying patches to maxima-devel
      --->  Configuring maxima-devel
      --->  Building maxima-devel                              
      --->  Staging maxima-devel into destroot                 
      --->  Installing maxima-devel @5.46-dev-20230212_11+xmaxima
      --->  Deactivating maxima-devel @5.46-dev-20230211_11+xmaxima
      --->  Cleaning maxima-devel
      --->  Activating maxima-devel @5.46-dev-20230212_11+xmaxima
      --->  Cleaning maxima-devel
      --->  Scanning binaries for linking errors
      --->  No broken files found.                             
      --->  No broken ports found.
      0
      $ 
      $ port contents maxima-devel | grep '\.html' | wc -l
            16
      $ 
      $ port contents maxima-devel | grep '\.html'
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/doc/html/index.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/doc/html/intromax.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/doc/html/maxima_singlepage.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/share/algebra/solver/solver1-en.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/share/contrib/Eulix/Eulix.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/share/contrib/symplectic_ode/symplectic_ode.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/share/physics/dimension.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/share/pytranslate/maxima-to-ir.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/xmaxima/demos.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/xmaxima/examples.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/xmaxima/html/index.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/xmaxima/html/xmaxima_abt.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/xmaxima/html/xmaxima_singlepage.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/xmaxima/html/xmaxima_toc.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/xmaxima/intro.html
        /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/xmaxima/plotmaxima.html
      $ 
      $ ls -lt /opt/local/share/maxima/branch_5_46_base_1539_gf32f62d9f_dirty/doc/html/
      total 1968
      drwxr-xr-x  228 root  wheel     7752  2 12 22:29 figures
      -rw-r--r--    1 root  wheel    64813  2 12 22:28 intromax.html
      -rw-r--r--    1 root  wheel    89767  2 12 22:27 index.html
      -rw-r--r--    1 root  wheel  6440281  2 12 22:27 maxima_singlepage.html
      $ 
      

      When using texinfo-6.8:

      $ sudo port activate texinfo
      The following versions of texinfo are currently installed:
       1) texinfo @6.8_1
       2) texinfo @7.0.2_0 (active)
      Enter a number to select an option: 1
      --->  Deactivating texinfo @7.0.2_0
      --->  Cleaning texinfo
      --->  Activating texinfo @6.8_1
      $ 
      $ makeinfo --version
      texi2any (GNU texinfo) 6.8
      
      Copyright (C) 2021 Free Software Foundation, Inc.
      License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.
      $ 
      $ sudo port install maxima-devel; echo $?
      Password:
      --->  Computing dependencies for maxima-devel
      --->  Fetching archive for maxima-devel
      --->  Attempting to fetch maxima-devel-5.46-dev-20230212_11+xmaxima.darwin_17.x86_64.tbz2 from http://packages.macports.org/maxima-devel
      --->  Attempting to fetch maxima-devel-5.46-dev-20230212_11+xmaxima.darwin_17.x86_64.tbz2 from http://kmq.jp.packages.macports.org/maxima-devel
      --->  Attempting to fetch maxima-devel-5.46-dev-20230212_11+xmaxima.darwin_17.x86_64.tbz2 from http://pek.cn.packages.macports.org/macports/packages/maxima-devel
      --->  Fetching distfiles for maxima-devel
      --->  Verifying checksums for maxima-devel
      --->  Extracting maxima-devel
      --->  Applying patches to maxima-devel
      --->  Configuring maxima-devel
      --->  Building maxima-devel                              
            [                                    ]Processing: #P"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_maxima/maxima-devel/work/maxima-5.46-dev-20230212/doc/info/maxima_toc.html"
      Processing: #P"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_maxima/maxima-devel/work/maxima-5.46-dev-20230212/doc/info/maxima.html"
      Processing: #P"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_maxima/maxima-devel/work/maxima-5.46-dev-20230212/doc/info/maxima_1.html"
      Processing: #P"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_maxima/maxima-devel/work/maxima-5.46-dev-20230212/doc/info/maxima_2.html"
       ...
       ...
      Processing: #P"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_maxima/maxima-devel/work/maxima-5.46-dev-20230212/doc/info/maxima_420.html"
      --->  Staging maxima-devel into destroot                 
      --->  Installing maxima-devel @5.46-dev-20230212_11+xmaxima
      --->  Activating maxima-devel @5.46-dev-20230212_11+xmaxima
      --->  Cleaning maxima-devel
      --->  Scanning binaries for linking errors
      --->  No broken files found.
      --->  No broken ports found.
      0
      $ 
      $ port contents maxima-devel | grep '\.html' | wc -l
           450
      $ 
      $ find /opt/local/share/maxima/ -iname '*.html' | wc -l
           450
      $ 
      

      Current development of Maxima is active.
      So I hope this ticket will help someone who is interested in the development version of Maxima.

      The new attached file is an updated version.

      Thanks you.

       

Log in to post a comment.

MongoDB Logo MongoDB