Overview

Request 882082 superseded

* Build and (manually) install deprecated qhull library as part of qhull library and devel package; some apps (e.g. octave) still depend on this.
* Move the qhull_r libs, headers, related files into new shared lib libqhull_r and qhull_r-devel packages as appropriate.
* Move qhullcpp library, headers, and pkgconfig file into separate qhullcpp-devel-static package.
* qhullcpp is only supported as static library and needs to be built with "-ffat-lto-objects"; add this to CXXFLAGS.
* Delete unnecessary pkgconfig files corresponding to static libs that are not built/installed.

Loading...

Stefan Brüns's avatar

@badshah400: See https://build.opensuse.org/package/show/home:StefanBruens:branches:science/octave
and
https://savannah.gnu.org/bugs/index.php?60016


Atri Bhattacharya's avatar
author source maintainer target maintainer

That is awesome, thanks a lot.

For this sr then:

  • Would you suggest I drop building the old qhull entirely? I don't know how many other packages there may be still depending on it -- plplot is one example. Besides, upstream does say [http://www.qhull.org/html/qh-code.htm#reentrant], "libqhull will be supported indefinitely, improvements may not be implemented" and that "reentrant qhull is 1-2% slower than non-reentrant qhull".
  • Are you ok with the qhullcpp and qhull_r-devel package split? Or should we drop the former because it does not build a shared lib yet?

Stefan Brüns's avatar

Providing both libqhull and libqhull_r actually poses a risk - both libs provide the exact same functions/symbols, but with different function parameters. In case a program loads both libraries (e.g. via some plugin mechanism) the code will very likely crash.

From the disassembly of both versions, it is hard to justify any performance difference.

The static libqhullcpp may have some use cases outside distribution packages, so your call on this.


Atri Bhattacharya's avatar
author source maintainer target maintainer

OK, I will resubmit this after cleaning it up soon. Thanks for the review.


Request History
Atri Bhattacharya's avatar

badshah400 created request

* Build and (manually) install deprecated qhull library as part of qhull library and devel package; some apps (e.g. octave) still depend on this.
* Move the qhull_r libs, headers, related files into new shared lib libqhull_r and qhull_r-devel packages as appropriate.
* Move qhullcpp library, headers, and pkgconfig file into separate qhullcpp-devel-static package.
* qhullcpp is only supported as static library and needs to be built with "-ffat-lto-objects"; add this to CXXFLAGS.
* Delete unnecessary pkgconfig files corresponding to static libs that are not built/installed.


Atri Bhattacharya's avatar

badshah400 added StefanBruens as a reviewer

Stefan, when you have the time, could you please look at this (major?) reorganisation of the package. I have only checked that octave (which depends on the old qhull API) now builds with qhull support again, but would love your inputs on this. Thanks.


openSUSE Build Service is sponsored by