Bug 587391
| Summary: | New gc release breaks kaya build | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Jochen Schmitt <jochen> | ||||||
| Component: | gc | Assignee: | Rex Dieter <rdieter> | ||||||
| Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
| Severity: | high | Docs Contact: | |||||||
| Priority: | low | ||||||||
| Version: | rawhide | CC: | rdieter, sochotni | ||||||
| Target Milestone: | --- | Keywords: | Triaged | ||||||
| Target Release: | --- | ||||||||
| Hardware: | All | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2010-05-03 17:01:40 UTC | Type: | --- | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Embargoed: | |||||||||
| Bug Depends On: | |||||||||
| Bug Blocks: | 555493 | ||||||||
| Attachments: |
|
||||||||
|
Description
Jochen Schmitt
2010-04-29 19:24:53 UTC
Please s/koji/kaya/g oi, looks fun, I'll take a look. bonus item #1: I get to yum install happy :) Created attachment 410224 [details]
patch to adjust to new gc api
First try at quick-n-dirty patch to fix build issue. Though, still fails in test063 due to DSOImplicitLinking
I'll ping gc upstream to inquire if the api change here was intentional.
Created attachment 410846 [details]
Compiled Prelude.k
The issue is, that GC_set_free_space_divisor was called from a function which except a return value, so your suggested patch doesn't works for me. I have uploaded the C code which was produced during the compilation of Prelude.k Define how it doesn't work? I'm not familiar with this, so you'll have to explicitly explain it. To be clear, the build/compilation of kaya completed for me with the aforemtioned patch, which is part of why I'm a little confused by your comment. and, I can post a scratch build with the patch if you want. ok, I see this too then, posix/scgi.ks: old = gcSetFSD(20); gc(); void(gcSetFSD(old)); which would need adjustments, as well as any other code expecting a return value, sure. OK, looks like there's a new api for getting this value, according to gc.h GC_API void GC_CALL GC_set_free_space_divisor(GC_word); GC_API GC_word GC_CALL GC_get_free_space_divisor(void); See the new GC_get_free_space_divisor call. upstream gc responded that the change in api is intentional. There is GC_VERSION_MAJOR/MINOR defined in gc_version.h , So, wrapping the new api in something like #if GC_VERSION_MAJOR >= 7 && GC_VERSION_MINOR >= 2 ... #endif is possible, but not sure how/if ghc supports cpp #if statements. ? So, let's bounce this back to bug #555493, and consider this notabug (I guess), as I don't think reverting the gc api is a good idea at this point. I'll work on another patch to implement a new gcGetFSD function to match the newer api. |