#56624 closed defect (fixed)
Octave reports version as a non-number, e.g. "4.x.x"
Reported by: | amake (Aaron Madlon-Kay) | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | Schamschula (Marius Schamschula) | |
Port: | octave |
Description
I have Octave 4.4.0_2 installed, and it reports its version number within the program (the OCTAVE_VERSION
const) as "4.x.x".
There are at least some packages that expect to be able to parse OCTAVE_VERSION
as a number, such as JSONlab: https://github.com/fangq/jsonlab/blob/86ef12a57bbe54a8532c0e0015f52c7850519833/savejson.m#L538
Is the current behavior really necessary or desired? (If there is some reason the value must be this way, I will submit a patch to JSONlab.)
Change History (5)
comment:1 Changed 6 years ago by Schamschula (Marius Schamschula)
Cc: | Schamschula added; MarcusCalhoun-Lopez removed |
---|---|
Owner: | set to MarcusCalhoun-Lopez |
Status: | new → assigned |
comment:2 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)
comment:3 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Ryan's analysis is correct.
It is quite annoying to have to rebuild every dependency for every minor Octave update.
Thank you for detecting this problem.
I will push a fix shortly.
comment:4 Changed 6 years ago by Marcus Calhoun-Lopez <marcuscalhounlopez@…>
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:5 Changed 6 years ago by Marcus Calhoun-Lopez <marcuscalhounlopez@…>
Note: See
TracTickets for help on using
tickets.
Replying to amake:
It appears to have been deliberately introduced in [aec14792b8457e3c77b5c90a3c402a88ba9eb41b/macports-ports], though it was grouped together with all the other changes needed to update octave to 4.4.0 and its purpose wasn't separately explained.
It looks like previously octave would install its files into directories whose names contained the full octave version number, such as "4.2.2". This could have been problematic for other ports that depended on octave—they might have needed to be rebuilt every time the octave port was updated, even for a minor version. Changing the version to "4.x.x" may have been an attempt by Marcus to avoid that necessity.