Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#17342 closed defect (fixed)

A bunch of Sage library cython files are underlinked.

Reported by: jpflori Owned by:
Priority: major Milestone: sage-6.4
Component: porting: Cygwin Keywords: cygwin linking
Cc: tscrim Merged in:
Authors: Jean-Pierre Flori Reviewers: Jeroen Demeyer
Report Upstream: N/A Work issues:
Branch: fbf812d (Commits) Commit:
Dependencies: Stopgaps:

Description

In particular, we need explicit linking at build time for Cygwin.

Change History (6)

comment:1 Changed 5 years ago by jpflori

  • Summary changed from A bunch of Sage library cython files need to be linked to gmp. to A bunch of Sage library cython files are underlinked.

comment:2 Changed 5 years ago by jpflori

  • Authors set to Jean-Pierre Flori
  • Branch set to u/jpflori/ticket/17342
  • Cc tscrim added
  • Commit set to fbf812dc109445b1cdc8df93d6414055df4942d4
  • Keywords cygwin linking added
  • Status changed from new to needs_review

New commits:

fbf812dSome Sage library files are underlinked.

comment:3 Changed 5 years ago by jdemeyer

  • Reviewers set to Jeroen Demeyer
  • Status changed from needs_review to positive_review

I didn't test on Cygwin, but at least the patch makes sense and doesn't break anything for me.

comment:4 Changed 5 years ago by vbraun

  • Branch changed from u/jpflori/ticket/17342 to fbf812dc109445b1cdc8df93d6414055df4942d4
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:5 Changed 5 years ago by Stefan

  • Commit fbf812dc109445b1cdc8df93d6414055df4942d4 deleted

I notice some of the matroid extensions got gmp as extra library. How do I determine that this is necessary? The code runs fine on my computer with and without gmp, I think. Without a way to tell, I'll get it wrong on future extensions.

comment:6 Changed 5 years ago by jpflori

I'd say:

  • either look in the source code for gmp function (here it is typically mpn_popcnt or mpn_copyi),
  • or run ldd | grep U on the built object files and look for symbols with gmp in it,
  • or try to compile it under a cery touchy platform as Cygwin :)
Note: See TracTickets for help on using tickets.