-
-
Notifications
You must be signed in to change notification settings - Fork 482
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
spkg-configure for GSL #28879
Comments
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
comment:4
Did you check this with an underlinked GSL (A blas library is not linked in) or a fully linked one like Sage's GSL? |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:6
Replying to @isuruf:
Only on debian and gentoo, where it's linked to its own gslcblas |
comment:7
Replying to @dimpase:
Not on my gentoo box, but that would be the default. In any case neither debian or gentoo will ship it underlinked. I don't think any major distro ship underlinked libraries. OK as much as they can help it. Stuff that people build themselves is another story |
comment:8
What happens when |
comment:9
A bit pathological, but basically nothing visible until you test something with a high precision where there can be divergences between the two. Honestly, I am not sure which one would be used. My guess would be the first one on the list of libraries linked. |
comment:10
Okay. Another concern is when system's |
comment:11
distro will usually patch gsl.pc to match the linking they are doing. Supposing that libgsl is linked with cblas1 and sage tries to link extensions gslext.pyx using libgsl to cblas2. If there are direct call to cblas in glsext.pyx, cblas2 will be used for these, otherwise -lcblas2 will be ignored. If there is no direct calls to cblas in gslext.pyx, libgsl will use cblas1, since cblas2 will be discarded. If cblas2 is not discarded because there are calls to cblas in gslext.pyx what you get in libgsl is not clearly defined and may depend on what is loaded first. |
comment:12
On Ubuntu,
|
comment:13
It is underlinked as far as I can tell.
|
comment:14
OK, I am surprised. Then cblas as to be provided with anything linking libgsl. And if we are taking it from gsl.pc that may be gslcblas. At worst we take performance hit. An option would be to substitute gslcblas by the the default cblas we are using in the linking flags. |
comment:15
In the openblas |
comment:16
Remove
which will pull |
comment:17
Just to make it clear, are you proposing to change Will the underlinked GSL work with "cblas", which is in the configuration of #27870 the same as |
comment:18
Yes it will work. It would work if we did it in all cases. |
Work Issues: install modified gsl.pc |
comment:20
Replying to @kiwifb:
GSL is also underlinked on Fedora |
comment:21
Replying to @isuruf:
this is what I get with this branch:
so both Are you saying that modifyng IMHO this would not lead to re-linking |
comment:22
No, see https://github.com/sagemath/sage-prod/blob/f0ae571d17e685258c1de89c2a29953f4d8fb302/build/pkgs/gsl/patches/gsl-2.1-gslcblas.patch . gslcblas is removed sage-suplied GSL.
Yes
|
comment:23
No, why, on Debian 10 I see
So libgsl.so is linked to libopenblas.so |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:46
OK, done. Now it's POSIX, I think. |
comment:47
testing this on Ubuntu (i.e. undelinked libgsl.so) gives a linking error during python import:
I suppose some sagelib modules don't know that they must also link with openblas. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:49
the .pc syntax needs |
comment:50
now things work on Ubuntu, too. |
comment:51
Tested that configure creates gsl.pc correctly in OSX. |
Reviewer: Isuru Fernando |
Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. This was a forced push. Last 10 new commits:
|
comment:54
trivial rebase over updated #27870 |
Changed branch from u/dimpase/packages/gslconf to |
Depends on #27870
CC: @embray @kiwifb @isuruf @mkoeppe
Component: build: configure
Work Issues: install modified gsl.pc
Author: Dima Pasechnik
Branch/Commit:
a180599
Reviewer: Isuru Fernando
Issue created by migration from https://trac.sagemath.org/ticket/28879
The text was updated successfully, but these errors were encountered: