Ticket #4080 (closed defect: fixed)
[with patch, positive review] Symbol clash between global M4RI and PolyBoRi's M4RI
| Reported by: | malb | Owned by: | malb |
|---|---|---|---|
| Priority: | blocker | Milestone: | sage-3.1.2 |
| Component: | misc | Keywords: | sigsegv |
| Cc: | PolyBoRi | Work issues: | |
| Report Upstream: | Reviewers: | ||
| Authors: | Merged in: | ||
| Dependencies: | Stopgaps: |
Description
PolyBoRi? uses its own M4RI instance which is older than the version of M4RI which is going to be in Sage 3.1.2. Since M4RI is written in C there are no namespaces and thus the symbols clash, even though both versions are binary incompatible. A workaround for now -- until PolyBoRi? is updated -- is to delay the import of sage.rings.pbring after the import of sage.matrix.matrix_mod2_dense. Since PolyBoRi? is statically linked for now anyway, this shouldn't mess up things. However this is a dirty workaround
Attachments
Change History
comment:1 Changed 5 years ago by malb
btw. this patch can remain applied and does not need to be reverted once the issue at hand is fixed. This is, because it is a good idea to late import more stuff anyway.
comment:2 Changed 5 years ago by mabshoff
- Summary changed from [with patch, needs review] Symbol clash between global M4RI and PolyBoRi's M4RI to [with patch, positive review] Symbol clash between global M4RI and PolyBoRi's M4RI
The patch is good, it fixes the issue on OSX and does pass doctests on Linux. Positive review.
Cheers,
Michael

