Draw cannot be loaded in 16.04 (Repackage needed since gcl has changed?)

Bug #1602941 reported by PeterPall
50
This bug affects 8 people
Affects Status Importance Assigned to Milestone
maxima (Debian)
Fix Released
Unknown
maxima (Ubuntu)
Fix Released
Undecided
Unassigned
Xenial
Fix Released
Undecided
Unassigned
Yakkety
Incomplete
Undecided
Unassigned

Bug Description

== SRU Impact ==

A large portion of functionality is unavailable

== Test Case ==

In the maxima CLI, run
load ("draw");

Either this succeeds or fails (this bug)

== Regression Potential ==

This worked out in Debian and Ubuntu zesty, so minimal.

== Original bug report ==

In 16.04

     load ("draw");

according for example to https://sourceforge.net/p/maxima/mailman/message/35219237/ seems to fail for some users. If maxima is compiled from source there is no problem => It seems like gcl has changed after maxima was packaged which broke compilation => A no-changes-rebuild of the package might fix the problem.

Revision history for this message
PeterPall (peterpall) wrote :

Seems like things are more complicated: Robert Dodier says the following:

> *LOAD-PATHNAME* is supposed to be a predefined global variable. It is
> supposed to be referenced in a certain way, but older versions of GCL
> require that it be referenced in a different way.
>
> The current version of Maxima (post commit 623a513, which fell after
> 5.37.2) has code to handle both ways to reference *LOAD-PATHNAME*. So
> from what I know, it's not susceptible to the error you've encountered.

Changed in maxima (Ubuntu):
status: New → Confirmed
Revision history for this message
PeterPall (peterpall) wrote :

Changed the status of this ticket to "confirmed" since more than one user of the maxima-discuss mailing list has reported the problem there.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in maxima (Ubuntu Xenial):
status: New → Confirmed
Revision history for this message
Amr Ibrahim (amribrahim1987) wrote :

It is fixed in Debian in version 5.37.2-9.

Changed in maxima (Debian):
status: Unknown → Fix Released
Revision history for this message
Marius (felijohn) wrote :

When are we going to get the update from Debian? It was fixed there almost four months ago.

Revision history for this message
Gilles Schintgen (shigi) wrote :

Is there any progress on this issue? Or maybe there's a workaround?

Revision history for this message
James Bowery (jabowery) wrote :

Obviously the maintainer is absent. What is the procedure to get this released as part of the xenial updates?

Revision history for this message
PeterPall (peterpall) wrote :

For the upcoming "zesty" release it the canonical way would be:
 - become the maintainer for maxima on *debian*
 - then request the package to be synchronized with ubuntu.

For the current release I guess we first need someone to contact (or to become) the maintainer. How the process continues from then I unfortunately do not know.

---

A thing the maintainer perhaps could do would be to create a launchpad mirror of the sourceforge repo maxima's code is kept in - and then to initiate a nightly build ppa for maxima.

Revision history for this message
James Bowery (jabowery) wrote :

When I click on the "Unassigned" edit icon, I get a popup that says I can assign myself responsibility. Since I can be just as irresponsible as no one I guess I could assign myself but then what? Where is the documentation on how to become a maintainer?

Changed in maxima (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Stefano Rivera (stefanor) wrote :

Uploaded to xenial and yakkety proposed, pending SRU team approval.

Revision history for this message
Stefano Rivera (stefanor) wrote :
description: updated
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello PeterPall, or anyone else affected,

Accepted maxima into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/maxima/5.37.2-8ubuntu0.16.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in maxima (Ubuntu Xenial):
status: Confirmed → Fix Committed
tags: added: verification-needed
Revision history for this message
Brian Murray (brian-murray) wrote :

The yakkety upload has change the xenial one did not, could you explain it?

diff -Nru maxima-5.37.2/debian/files maxima-5.37.2/debian/files
--- maxima-5.37.2/debian/files 1969-12-31 16:00:00.000000000 -0800
+++ maxima-5.37.2/debian/files 2016-12-22 08:12:53.000000000 -0800
@@ -0,0 +1 @@
+maxima_5.37.2-8ubuntu0.16.04.1_source.buildinfo math optional

Revision history for this message
Stefano Rivera (stefanor) wrote :

Thanks Brian, that sounds like an accident. (-nc is only a good idea if you haven't picked up junk).

Uploaded it again.

Revision history for this message
Andy Whitcroft (apw) wrote :

The patch template has not been filled in correctly (for next time).

+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.

as this has already been accepted in xenial it really ought to be in yakkety already?

Changed in maxima (Ubuntu Yakkety):
status: New → Fix Committed
Revision history for this message
Andy Whitcroft (apw) wrote :

Hello PeterPall, or anyone else affected,

Accepted maxima into yakkety-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/maxima/5.37.2-8ubuntu0.16.10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Revision history for this message
Stefano Rivera (stefanor) wrote :

> The patch template has not been filled in correctly (for next time).

Yeah, that's the patch from 5.37.2-9, as is.

Revision history for this message
Jeremy Bícha (jbicha) wrote :

This update fails to build on arm64 on Ubuntu 16.10 and on arm64 and ppc64el on Ubuntu 16.04 LTS, but the existing Ubuntu packages are built for those architectures. :(

Revision history for this message
James Bowery (jabowery) wrote :

Failed.

$ apt-get install maxima/yakkety-proposed
...
$ maxima

Maxima 5.37.2 http://maxima.sourceforge.net
using Lisp GNU Common Lisp (GCL) GCL 2.6.12
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) load("draw");

loadfile: failed to load /usr/share/maxima/5.37.2/share/draw/draw.lisp

James Bowery (jabowery)
tags: added: verification-failed
removed: verification-needed
Revision history for this message
Amr Ibrahim (amribrahim1987) wrote :

@James, sorry, but did you use sudo to install it? Because you wrote otherwise.

Revision history for this message
James Bowery (jabowery) wrote :

@Amr, Yes. I had executed `sudo -s` previously.

I wrote incorrectly. I should have placed a '#' rather than a "$" at the start of the `apt-get` line. However, the `$ maxima` was correctly written.

Predrag Pejovic (peja)
Changed in maxima (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Change of SRU verification policy

As part of a recent change in the Stable Release Update verification policy we would like to inform that for a bug to be considered verified for a given release a verification-done-$RELEASE tag needs to be added to the bug where $RELEASE is the name of the series the package that was tested (e.g. verification-done-xenial). Please note that the global 'verification-done' tag can no longer be used for this purpose.

Thank you!

Changed in maxima (Ubuntu Yakkety):
status: Fix Committed → Incomplete
Revision history for this message
ernesto (ernesto-bosch) wrote :

Hi,

I just update from Mint 17 Cinnamon to 18 Cinnamon and found the same problem. Lurking a little in the Internet I discover no one has a clear solution so I tried myself.

After a little playing I came up with two solutions:
a.1) remove Maxima 5.37.2 completely from your system,
a.2) go to SourceForge (https://sourceforge.net/projects/maxima/files/Maxima-Linux/5.41.0-Linux/),
     get Maxima Linux directory and install (5.41.0 version):

     i) maxima-common_5.41.0-6_all.deb (remember maxima-common first)
     ii) maxima-clisp_5.41.0-6_amd64.deb
     iii) maxima-ecl_5.41.0-6_amd64.deb
     iv) maxima-gcl_5.41.0-6_amd64.deb
     v) maxima-sbcl_5.41.0-6_amd64.deb

a.3) go to your preferred software installer (Synaptic for me) and install wxMaxima.

You will end with a working Maxima up to date environment.

For those more technical biased the problem is in the /usr/share/maxima/5.37.2/draw/draw.lisp
file. To solver it you should (remember you will need "root privileges":

b.1) replace the line

   (load (merge-pathnames (make-pathname :name "draw" :type "system")
         #-gcl *load-pathname*
         #+gcl sys:*load-pathname*))

b.2) with the line

   (load (merge-pathnames (make-pathname :name "draw" :type "system")
         (maxima-load-pathname-directory)))

and the problem is solve (at least for me). You should end with a Maxima 5.37.2
working environment.

Good Luck,

Ernesto

PS: Internet community help me a lot along the years, happy to return.

Revision history for this message
Rafael Alberto Pastoriza (rapast) wrote :

January 2020

Hi,

I have the same error bug 1602941 Draw cannot be loaded in Ubuntu Xenial 16.04.
Maxima and vxMaxima gives the error when I tried to load(draw) after update the SO to 16.04.

The intensive internet search find the solution, in my case, here in https://bugs.launchpad.net/ubuntu/+source/maxima/+bug/1602941

The contribution made by ernesto(ernesto-bosch) in 2018-08-12 gives the solution. I follow the second method b.1) and b.2)), it's fast, clean and works for me.

Thanks Ernesto!!! ¡¡¡Un millón de gracias Ernesto!!!

Sorry but I find an omission, a missing subdirectoy /share, following /5.37.2 in his path.

In my case the complete path is:

/usr/share/maxima/5.37.2/share/draw/draw.lisp

But the idea is clear, edit the file draw.lisp to change the directives to load gcl by using the maxima-load-pathname-directory

This is what I do following Ernesto recomendations.

Close any maxima/vxmaxima active sesion.

So first using gedit as root to copy the original file draw.lisp and make a backup as draw old.lisp(just in case you needs reverse the procedure).

Then edit draw.lisp to change, delete the lines #-gcl *load-pathname*
                                                #+gcl sys:*load-pathname*
and replace with (maxima-load-pathname-directory). Be careful and check the matching ()!!! before quit and save.

Then I invoke vxmaxima/maxima and load(descriptive), because this package needs a lot of graphics and load(draw).

It compile the files :
Compiling /usr/share/maxima/5.37.2/share/draw/grcommon.lisp.
Compiling /usr/share/maxima/5.37.2/share/draw/gnuplot.lisp.
Compiling /usr/share/maxima/5.37.2/share/draw/vtk.lisp.
Compiling /usr/share/maxima/5.37.2/share/draw/picture.lisp.

and then draw works in vxmaxima.

Just in case you don't remember how to use gedit as root

rafa@miniPc:~$ sudo gedit
[sudo] password for rafa:

Good Luck

Rafael

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.