Skip to content
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

Let LinBox build with MPIR > 2.5.0 #13755

Closed
jpflori opened this issue Nov 25, 2012 · 11 comments
Closed

Let LinBox build with MPIR > 2.5.0 #13755

jpflori opened this issue Nov 25, 2012 · 11 comments

Comments

@jpflori
Copy link

jpflori commented Nov 25, 2012

LinBox does not build with MPIR > 2.5.0 because the interface for Sage, in interface/linbox-sage.[C|h] includes some headers file in a problematic order:

  • first "gmp.h" without "stdint.h", so functions related to "stdint.h" types are not defined
  • at some point "stdint.h" through other linbox header files (if available)
  • then "linbox/integer.h" which in turn includes "gmp++/gmp++.h" which includes "gmpxx.h"
    As "stdint.h" was included in the way, the C++ wrapper look for the C functions related to "stdint.h" types, but these were not defined.

Use the updated spkg at
http://boxen.math.washington.edu/home/jpflori/linbox-1.3.2.p0.spkg

Upstream: Reported upstream. No feedback yet.

CC: @malb @pcpa @vbraun

Component: linbox

Keywords: linbox spkg

Author: Jean-Pierre Flori

Reviewer: John Palmieri, Volker Braun

Merged: sage-5.6.beta1

Issue created by migration from https://trac.sagemath.org/ticket/13755

@jpflori
Copy link
Author

jpflori commented Nov 25, 2012

Attachment: linbox-1.3.2.p0.diff.gz

spkg diff, for review only

@jpflori
Copy link
Author

jpflori commented Nov 26, 2012

comment:1

After discussing this on mpir-devel, it appears it does not hurt and is even a good idea to prevent this in LinBox itself (although some workaround could also appear in MPIR later):
https://groups.google.com/d/topic/mpir-devel/m__z0PR_wBw/discussion

I've reported this on linbox-devel as well, now waiting for reactions there, but this looks clean enough to become needs_review anyway.

@jpflori
Copy link
Author

jpflori commented Nov 26, 2012

Changed upstream from Not yet reported upstream; Will do shortly. to Reported upstream. No feedback yet.

@jhpalmieri
Copy link
Member

comment:2

This looks okay to me, but I wouldn't mind if someone else more familiar with header files took a look at it.

@vbraun
Copy link
Member

vbraun commented Nov 29, 2012

comment:3

Looks good to me

@vbraun
Copy link
Member

vbraun commented Nov 29, 2012

Reviewer: John Palmieri, Volker Braun

@kcrisman

This comment has been minimized.

@kcrisman
Copy link
Member

kcrisman commented Dec 5, 2012

comment:5

On Cygwin on XP, linbox-1.3.2 built fine with mpir-2.6.0.p0. So maybe this isn't always necessary, but whatever.

@jpflori
Copy link
Author

jpflori commented Dec 6, 2012

comment:6

Replying to @kcrisman:

On Cygwin on XP, linbox-1.3.2 built fine with mpir-2.6.0.p0. So maybe this isn't always necessary, but whatever.

That's some header inclusion black magic, so if somehow stdint.h was included before, the patch won't be needed.
But it should be safer with the patch.

@jdemeyer
Copy link

Merged: sage-5.6.beta1

@ClementPernet
Copy link
Contributor

comment:8

Just to report that the patch was applied upstream in linbox-rev5072

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants