Bug#990397: What are the development priorities for the csironn library? (was Bug#990397: depends on deprecated qhull library)

2021-07-04 Thread Rafael Laboissière

* Alan W. Irwin  [2021-07-04 03:38]:

A message on this thread from Atri Bhattacharya 
 bounced (presumably because he used a 
non-subscription return address).  But as list administrator I saw 
that bounced message which turned out to be of immediate interest.  So 
I am reposting it here without asking Atri to resubmit with 
subscription address == return address.


Atri said: 
_


For openSUSE's plplot package, we have a patch to build against 
libqhull_r, kindly contributed by Stefan. Here is the bug reference 
which has the patch as an attachment: 
. Would be great to get 
this checked into plplot upstream.


Hope that helps. 
_


Hi Atri:

I don't know how I missed that PLplot bug report with a patch that 
from its title likely implements the csironn library 
development topic that I just discussed on this thread!


Anyhow, thanks for drawing this patch to my attention, and I hope 
I have time to take a close look at in in the coming week or so.


JFYI, I applied the patch indicated by Atri to the Debian package and 
released version 5.15.0+dfsg-21 to the experimental distribution : 
https://tracker.debian.org/news/1243929/accepted-plplot-5150dfsg-21-source-into-experimental/


Best,

Rafael



Bug#990397: What are the development priorities for the csironn library? (was Bug#990397: depends on deprecated qhull library)

2021-07-04 Thread Alan W. Irwin

Hi Timo:

As a Debian user, I agreed with what you said all the way down the
line concerning how Debian is dealing with this transition from
libqhull to reentrant libqhull_r.

Furthermore, it looks like there is already a patch submitted to
upstream PLplot to solve this issue which I will be looking at fairly
soon.  If comprehensive testing works for that patch I will accept it
upstream, and in that case and assuming Rafael's tests work as well, I
assume Rafael will also accept that patch downstream in order to close
your bug#990397 against PLplot as fixed.

Best wishes for many more such quick fixes for this issue,

Alan
__
Alan W. Irwin

Research affiliation with the Department of Physics and Astronomy,
University of Victoria, Victoria, BC, Canada.

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.org); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__



Bug#990397: What are the development priorities for the csironn library? (was Bug#990397: depends on deprecated qhull library)

2021-07-04 Thread Alan W. Irwin

A message on this thread from Atri Bhattacharya
 bounced (presumably because he used a
non-subscription return address).  But as list administrator I saw
that bounced message which turned out to be of immediate interest.  So
I am reposting it here without asking Atri to resubmit with
subscription address == return address.

Atri said:
_

For openSUSE's plplot package, we have a patch to build against
libqhull_r, kindly contributed by Stefan. Here is the bug reference
which has the patch as an attachment:
. Would be great to get
this checked into plplot upstream.

Hope that helps.
_

Hi Atri:

I don't know how I missed that PLplot bug report with a patch that
from its title likely implements the csironn library
development topic that I just discussed on this thread!

Anyhow, thanks for drawing this patch to my attention, and I hope
I have time to take a close look at in in the coming week or so.

Alan
__
Alan W. Irwin

Research affiliation with the Department of Physics and Astronomy,
University of Victoria, Victoria, BC, Canada.

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.org); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__



Bug#990397: What are the development priorities for the csironn library? (was Bug#990397: depends on deprecated qhull library)

2021-07-04 Thread Timo Röhling

Hi Alan!

* Alan W. Irwin  [2021-07-04 01:16]:

 However, I quarrel with that "likely to disappear soon" phrase since
 on that subject the qhull developers say the following (from
 ):

 "New code should be written with libqhull_r. Existing users of
 libqhull should consider converting to libqhull_r. Although *libqhull
 will be supported indefinitely* [emphasis mine], improvements may not be
 implemented."


As the submitter of the original bugreport and co-maintainer of the
Debian qhull packages, I admit I overlooked that statement of
indefinite support. However, upstream did stop building the libqhull
shared library in their CMakeLists.txt and I had to patch the file
to re-enable it for the latest release [1]. I felt this development
was justification enough to prod the qhull reverse-dependencies to
move towards the reentrant version.

Of course, I'm not going to drop libqhull support unless all
reverse-dependencies in Debian have transitioned to the reentrant
version or upstream forces my hand by actively removing the sources
from the release (which seems very unlikely now in light of the
above statement), so the transition is still beneficial (IMHO), but
not urgent.


Cheers
Timo

[1] 
https://sources.debian.org/src/qhull/2020.2-3/debian/patches/0006-Build-deprecated-libqhull-for-now.patch/

--
⢀⣴⠾⠻⢶⣦⠀   ╭╮
⣾⠁⢠⠒⠀⣿⡁   │ Timo Röhling   │
⢿⡄⠘⠷⠚⠋⠀   │ 9B03 EBB9 8300 DF97 C2B1  23BF CC8C 6BDD 1403 F4CA │
⠈⠳⣄   ╰╯


signature.asc
Description: PGP signature


Bug#990397: What are the development priorities for the csironn library? (was Bug#990397: depends on deprecated qhull library)

2021-07-04 Thread Alan W. Irwin

On 2021-07-02 10:38+0200 Rafael Laboissière wrote:


Dear PLplot developers,

I am hereby forwarding a bug report filed against the Debian plplot package 
regarding the use of a deprecated Qhull library [1]. Conversion of the code 
to the reentrant version of Qhull needs more changes than merely linking 
against libqhull_r.so instead of libqhull.so and including 
libqull_r/qhull_ra.h instead of libqull/qhull_a.h [2], and should be done by 
the upstream authors.


Hi Rafael:

Since this email is primarily directed to the upstream Plplot
development list, I have generalized this discussion of how upstream
PLplot development should respond to Debian Bug#990397 to the new
subject line which is "What are the development priorities for the
csironn library?".  I would value your input into that general
discussion since you are a former PLplot developer who at that time
had a lot of interest in that library and its dependence on libqhull.

You likely know all this stuff already, but to set up this discussion
for the benefit of the others here, this is a quick review why the
plgriddata routine and therefore PLplot depends on our csironn library, and
that library in turn depends on the libqhull library.

The lib/nn/README file documents that question from the historical
(2003!)  viewpoint.  To add to that from my own current perspective,
the fundamental issue appears to be that Pavel Sakov's free nn-c
library throughout its history including [it's latest
version](https://github.com/sakov/nn-c) has depended on [the triangle
library](http://www.cs.cmu.edu/~quake/triangle.html) whose licensing
terms are as follows:

"Please note that although Triangle is freely available, it is
copyrighted by the author and may not be sold or included in
commercial products without a license."

You (and other Debian developers) know a lot more about licensing
legalities than I do so please let me know whether this license means
in Debian packaging terms Triangle is non-free as asserted in
lib/nn/README and therefore nn-c is "contrib" rather than "free" in
Debian packaging terms.

Anyhow, as a result of that perceived (and likely real, but that needs
confirmation) licensing issue Joao stripped the version of the nn-c
library available in 2003 to just what was needed by plgriddata, and
replaced all calls to triangle library routines in that stripped
version with the equivalent libqhull calls.  Anyhow it is that
stripped and triangle-replaced ancient version of nn-c that we call
csironn and that we have been maintaining (in a small way since 2003) as a free
(as opposed to contrib if the above licensing issue is confirmed) fork
of nn-c.

To help motivate further discussion of the subject-line topic would
you please briefly comment on the *potential* importance of the
csironn library in the free software world?  My guess is you will find
in practice it is not important (at least at present) because nobody
knows about this PLplot gem, e.g., you will likely discover that no
other Debian package depends on our csironn library.  However, do you agree
with me that situation is a real shame since the issue of
interpolating from non-gridded sample points to gridded sample points
is an important and fairly common issue that is nicely addressed by
our csironn library?

I would also appreciate your responses to the following comments and
questions concerning the new subject line topic:

* The original Debian Bug#990397 that started me thinking about this
  general topic states

  "your package builds and links against the non-reentrant version of
  Qhull, which has been deprecated by Qhull upstream and is likely to
  disappear soon."

  However, I quarrel with that "likely to disappear soon" phrase since
  on that subject the qhull developers say the following (from
  ):

  "New code should be written with libqhull_r. Existing users of
  libqhull should consider converting to libqhull_r. Although *libqhull
  will be supported indefinitely* [emphasis mine], improvements may not be
  implemented."

  It is up to you, of course, but my feeling is you would be entirely
  justified in closing this bug report because of the "supported
  indefinitely" phrase above which completely contradicts the premise
  of the bug report!

  That said, from this language from the qhull developers I do agree use
  of libqhull is (very lightly) deprecated.  Therefore "it would be
  nice" for libcsironn to change its dependence on libqhull to a
  dependence on libqhull_r (as suggested by the libqhull developers and you)
  since rentrancy although not the same as thread-safe often is a step
  toward thread safety which is an extremely desirable library
  characteristic.  It does appear (from comments later in the above
  URL) this change would be straightforward so this should be a nice
  simple development topic for someone to implement.

* It "would be nice" to update our fork to the latest version of nn-c.
  The reason I