Opened 6 years ago
Closed 6 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 )
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)
Change History (11)
comment:1 Changed 6 years ago by
- Cc vbraun jdemeyer added
comment:2 follow-up: ↓ 3 Changed 6 years ago by
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 6 years ago by
Also, it must be a public release. "Some developer sent me this tarball" isn't good enough.
comment:4 follow-up: ↓ 6 Changed 6 years ago by
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 6 years ago by
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 6 years ago by
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.
comment:7 Changed 6 years ago by
- Cc tscrim added
- Description modified (diff)
- Status changed from new to needs_review
comment:8 Changed 6 years ago by
- 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 6 years ago by
- Milestone changed from sage-5.12 to sage-5.11
comment:10 Changed 6 years ago by
- Merged in set to sage-5.11.rc1
- Resolution set to fixed
- Status changed from positive_review to closed
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?