When I build guile with gcc-5.2, guile-cairo cannot build. When this occurs, it seems to be because, i.e., ${WORKDIR}/guile-cairo-1.9.91_build/guile-cairo/guile-cairo.x is generated looking like: scm_c_define_gsubr (foo, scm_c_define_gsubr (bar, scm_c_define_gsubr (baz, . . That is, it seems the arguments after the first one are not being properly generated, and hence, gcc ends up spewing confusing "expected ')' before '}'" types of errors -- lots of them -- attached to lines after #include "affected-file.x" statements. Possibly, the problem is systemic (i.e., all guile builds are broken for all '.x' files). So far, I have not yet investigated any further. I'm interested to see if guile-2.0.0 suffers from this -- if not, perhaps a push to stabilize it is more important than a push to backport whatever resolves it to 1.8.8.
*** Bug 553098 has been marked as a duplicate of this bug. ***
Created attachment 412158 [details, diff] guile-1.8.8-gcc5.patch
Created attachment 412220 [details, diff] fix-bug-560736-v2.patch (In reply to Ryan Hill from comment #2) > Created attachment 412158 [details, diff] [details, diff] > guile-1.8.8-gcc5.patch patch W4M... well, almost*. -- * I had to re-implement the patch by hand to make it apply; the difference was sufficiently subtle I had to diff the diffs to notice it -- compared to mine, Ryan's patch appends (in pseudo-ascii): [lots of whitespace]# writes stdout to the hunk header: @@ -50,7 +50,7 @@ modern_snarf () I found this to be quite surprising -- I always thought that part of a patch was for human consumption only and otherwise ignored. Guess I was wrong. I surmise that the "# writes stdout" comment must be generated during eautoreconf, as my go-to mechanism for wedging patches into 3rd-party ebuilds occurs during post_src_unpack (Ryan presumably generated his patch by running "ebuild ... src_prepare" and hacking on the resulting ${WORKDIR}). Anyhow, assuming the epatch statement goes into the compound epatch statement that is currently the first line of src_prepare() in guile-1.8.8-r1.ebuild (and that my surmises are all spot-on), Ryan's patch apparently won't apply. My re-diff-ification is enclosed.
(In reply to Ryan Hill from comment #2) > Created attachment 412158 [details, diff] [details, diff] > guile-1.8.8-gcc5.patch By the way, I forgot to mention, thanks! If this fix wasn't your own invention, Ryan, I sure wasn't able to make it issue forth from the Googles.
That's weird. I have it applying right after the gcc46 patch and I'm not seeing any problems. It was made on a src_unpack-ed tree. I think as of patch 2.7 it started paying attention to stuff in the patch headers to better support some git-style diff features. Maybe we're seeing some interaction with that. I'll drop it to be safe.
Fixed in 1.8.8-r2.