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
Strange linking order for omalloc due to pkgconfig bug #21625
Comments
comment:2
See #17254 comment:510 : |
This comment has been minimized.
This comment has been minimized.
comment:4
That's an annoying defect that I have noticed before in the python interface to pkg-config. The libraries are put in a set and of course it is not preserving the order. It was already evident when using ATLAS for blas/lapack.
but
which is what you are seeing. If you still have a sage with ATLAS somewhere look at what you get for lapack. This needs to be fixed upstream so that something preserving the order is used instead of a set. |
comment:5
Is this upstream: It does not look very active, last release was three years ago. |
comment:6
Debian also thinks that is the homepage, yes. |
comment:7
Well |
comment:8
After a bit of googling I think upstream should either depend from an "ordered set" package or switch to a dictionary of list instead of a dictionary of set and then remove duplication. |
comment:9
I have been working on making There are two issues with deduplication - which was originally achieved by using sets:
I don't think deduplication - potentially from the end of the list rather than the beginning of it, is worth it. Opinion? |
comment:10
I agree with François: we shouldn't be smarter than necessary. There is nothing wrong with longer command lines (as long as it's not excessive). |
comment:11
OK, I definitely think it is not worth the bother so I'll probably go with this branch for my upstream pull request https://github.com/kiwifb/pkgconfig/tree/listify. If anyone wants to comment, now is the time. |
comment:12
Upstream accepted my change, hopefully that will come with a new release soon. I did some experiments, while we will be able to simplify sage's code to populate the various variables |
Upstream: Fixed upstream, but not in a stable release. |
comment:13
Not sure when upstream will cut a release, should we patch in the meantime? |
comment:14
I say we patch. |
comment:15
Working on this. Some adjustments are needed in |
Commit: |
Author: François Bissey |
Branch: u/fbissey/pkgconfig |
comment:17
For reference, please add a link to the upstream ticket in the patch file and in the ticket description. |
comment:34
Was thinking about that. I am not satisfied with the branch as it is anyway. I will hammer some more on |
comment:35
If you cannot immediately fix the real issue, it's OK for me to merge this hack as-is. I'm setting it back to needs_work because you still want to work on it. |
comment:36
I have pushed a few more things upstream and requested a release. The changes I sent upstream makes my last commit unnecessary, so at the very least I'll retract it. If upstream makes a new release, I'll update the package instead of adding more patches. |
This comment has been minimized.
This comment has been minimized.
comment:38
OK, new release from upstream with all fixes included. Now the output is list, which keep the order, and is also strictly mirroring the output of the equivalent |
Changed upstream from Fixed upstream, but not in a stable release. to Fixed upstream, in a later stable release. |
comment:39
[comment:33] |
comment:40
All right, I'll do that ASAP. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:42
Done. |
This comment has been minimized.
This comment has been minimized.
Changed branch from u/fbissey/pkgconfig to |
Changed commit from |
comment:46
Breakage: #22047 |
This is a follow up to #17254 which upgraded to singular 4:
The linking order for Singular libraries is determined by
pkgconfig
which givesThis does not look that right.
This is because
pkgconfig
uses sets that don't preserve the order of libraries (and include directories or macros etc...).A solution is to migrate
pkgconfig
from sets to list.matze/pkgconfig#10
has been opened upstream to explain the rational, along with a pull request to implement it at
matze/pkgconfig#11
This has now been accepted upstream and is part of a new release with a few other fixes.
Tarball: https://pypi.python.org/packages/9d/ba/80910bbed2b4e646a6adab4474d2e506744c260c7002a0e6b41ef8750d8d/pkgconfig-1.2.2.tar.gz
Upstream: Fixed upstream, in a later stable release.
Component: packages: standard
Author: François Bissey
Branch:
bd61fc4
Reviewer: Jeroen Demeyer
Issue created by migration from https://trac.sagemath.org/ticket/21625
The text was updated successfully, but these errors were encountered: