Opened 5 years ago

Closed 5 years ago

#15001 closed defect (fixed)

PPL 1.0 does not build on Cygwin

Reported by: jpflori Owned by:
Priority: major Milestone: sage-5.11
Component: packages: standard Keywords: cygwin ppl spkg
Cc: vbraun, jdemeyer, tscrim Merged in: sage-5.11.rc1
Authors: Jean-Pierre Flori Reviewers: Volker Braun
Report Upstream: Fixed upstream, but not in a stable release. Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by jpflori)

PPL 1.0 uses some libm long double functions (floorl, frexpl) as soon as it detects the long double type is available and looks functional. Unfortunately the Cygwin's libm does not provide such function, and we do not build Cephes on Cygwin.

The easy solution is to use plain double precision in place of the extended ones (with a std:: prefix, as PPL also defines its own floor function). This is what is implemented in 1.1.pre* releases of ppl available at http://bugseng.com/products/ppl/download/ftp/snapshots/.

There was a similar report archived at http://www.cs.unipr.it/pipermail/ppl-devel/2012-September/018538.html.

Use:

Attachments (1)

ppl-1.1pre9.p0.diff (397 bytes) - added by jpflori 5 years ago.
Spkg diff, for review only.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 5 years ago by jpflori

  • Cc vbraun jdemeyer added

A straight update to ppl-1.1pre9 solves the issue. (I've not run any of the PPL or Sage testsuites yet.)

Would it make sense to update to such a release? Or should we backport the needed patches? I have no idea how stable the PPL prereleases are. Maybe Volker who is the spkg maintainer according to SPKG.txt has a better idea of the stability of such releases?

comment:2 follow-up: Changed 5 years ago by jdemeyer

There are precedents of using pre-release versions in Sage packages. So, if it doesn't break anything, that's fine for me. Just make sure you clearly label the version as being a pre-release and document where/how you obtained it. Don't simply call the package ppl-1.1.spkg

comment:3 in reply to: ↑ 2 Changed 5 years ago by jdemeyer

Also, it must be a public release. "Some developer sent me this tarball" isn't good enough.

comment:4 follow-up: Changed 5 years ago by vbraun

Alternatively you can probably disable the floating-point features with the configure switch --disable-fpmath. They are not used by Sage and we only enabled them because it tends to break stuff linked against the system ppl library (did I mention that abusing LD_LIBRARY_PATH sucks?)

comment:5 Changed 5 years ago by jpflori

As you can see in the ticket description, it is a public release, available at http://bugseng.com/external/ppl/download/ftp/

Note though that it seems only one "snapshot" is available at a given time, so when a new one is released, the previous one will disapppear. And it does not seem trivial to get the right commit from the PPL git server (no recent branches or tags), though it seems that for some time the (pre)release version are "tagged" with a "Version number bumped" commit message, e.g. http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=f1487c86784d0b54d566502957b8ae5993bf32b8

comment:6 in reply to: ↑ 4 Changed 5 years ago by jpflori

Replying to vbraun:

Alternatively you can probably disable the floating-point features with the configure switch --disable-fpmath.

That should do the trick from what I saw in the build system files ...

They are not used by Sage and we only enabled them because it tends to break stuff linked against the system ppl library (did I mention that abusing LD_LIBRARY_PATH sucks?)

... but I guess it could be more error-prone then.

Changed 5 years ago by jpflori

Spkg diff, for review only.

comment:7 Changed 5 years ago by jpflori

  • Authors set to Jean-Pierre Flori
  • Cc tscrim added
  • Description modified (diff)
  • Status changed from new to needs_review

comment:8 Changed 5 years ago by vbraun

  • Reviewers set to Volker Braun
  • Status changed from needs_review to positive_review

Looks good to me. I trust that it fixes the Cygwin problem since I can't try that myself.

comment:9 Changed 5 years ago by jdemeyer

  • Milestone changed from sage-5.12 to sage-5.11

comment:10 Changed 5 years ago by jdemeyer

  • Merged in set to sage-5.11.rc1
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.