octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OCTAVE_API_VERSION without '+' character?


From: John W. Eaton
Subject: Re: OCTAVE_API_VERSION without '+' character?
Date: Mon, 21 Jan 2019 14:27:18 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1

On 1/21/19 2:06 PM, Mike Miller wrote:

I would guess that it was done that way to make sure that Forge and
other external oct files were actually recompiled after a release was
made.

Yes, and to say "this is a development version; interfaces may be changing without a change in the version number".

Let's say we make the default branch be "api-v54" now, and not change it
when Octave 6 is released. The only down side is that a user may build
an oct file against the development version in September and not realize
that it needs to be recompiled after the release, until they see a crash
or other weird runtime behavior.

The original goal of the API version was to avoid loading .oct files that were compiled and linked with incompatible versions of the Octave libraries. At one time I thought we could avoid needing the API version if we used proper library versioning. But now we don't link .oct files directly with the Octave libraries, so I assume we still need this version number to detect mismatch? In place of using our own API version, could we encode the liboctave and liboctinterp version numbers in the .oct file and use the same rules to determine whether the .oct file will work with the Octave libraries that are currently being used?

In any case, since the API version is supposed to do the same thing as the shared library version, I think they should be updated at the same time.

jwe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]