On 02/23/2010 02:01 PM, Dave Plater wrote:
On 02/23/2010 11:58 AM, Richard Guenther wrote:
On Tue, 23 Feb 2010, Richard Guenther wrote:
On Tue, 23 Feb 2010, Dave Plater wrote:
On 02/23/2010 11:28 AM, Richard Guenther wrote:
On Tue, 23 Feb 2010, Dave Plater wrote:
I've received a reply from lilypond dev Jan Nieuwenhuizen and I quote from his reply "I note that it builds and runs with gcc-4.5.0 from 20091018". With the patch in place lilypond fails on a lily command during the documentation build on both 11.2, which previously succeeded, and standard. From this I conclude that Removing "vector
::" breaks lilypond. Jan also pointed out that gcc45 has about 250 regressions, half of them serious ones. I can build an 11.2 lilypond with the patch in place and debug the lily command that fails if it will help? Maybe. You can also try building with -fpermissive which will again accept the bogus vector
::vector (). Just to prove that there must be sth very funny going on if that isn't broken as well. Richard.
I will try that but I have already built it against a linked 11.2 gcc44 with success. Do you know offhand where I can look at other distros builds, of lilypond against gcc45 to see how they approach the problem?
No, I don't know of any distro that switched to GCC 4.5 already.
I can ask the fedora maintainer of rosegarden, if he knows of anything, perhaps they just used the -fpermissive flag.
Note that I believe -fpermissive will only fix your build issue, not the runtime error. Unless you prove I'm wrong of course ;)
Btw, what would be interesting is to know the assembler difference between vector
:: and omitting it (preferably with -fno-inline). Did I understand you right that removing vector
:: worked fine with gcc44? Or did that also break lilipond? Thanks, Richard.
Removing "vector
::" broke lilypond in both the 11.2 repository and factory standard. Lilypond has built fine, in both 11.2 and factory standard until gcc45 was in standard. When I first noticed the build failure in standard, I took the following steps : - 1) I removed everything from the spec file which could be related to autoconf, still had the same failure in standard and 11.2 still succeeded. 2) I made a branch project and in that project added an 11.2 gcc44 linked package and noted in the log that the lilypond standard build was using it, both 11.2 and standard built successfully. 3) From steps 1 and 2 I concluded that the problem was with gcc45 and I asked for help on this list and the liypond list (I didn't get any reply from the lilypond list, I emailed Jan later) 4) You replied on this list and I made a patch for lilypond. With this patch (which I've placed at the bottom) lilypond fails during the documentation build on both 11.2 and standard. Incidentally I searched ubuntu, fedora and debian and couldn't find any gcc45 issues or any proof that they are testing it. BTW lilypond takes about 1/2 hour with multiple jobs and about 2 hours on single jobs for debugging the build log. Regards Dave P (patch posted, just in case it's me thats broken) Index: lilypond-2.12.3/lily/spacing-spanner.cc =================================================================== --- lilypond-2.12.3.orig/lily/spacing-spanner.cc +++ lilypond-2.12.3/lily/spacing-spanner.cc @@ -38,7 +38,7 @@ Spacing_spanner::get_columns (Grob *me_g vsize end = binary_search (all, (Grob*) me->get_bound (RIGHT), &Paper_column::less_than);
- all = vector
::vector (all.begin () + start, + all = vector (all.begin () + start, all.begin () + end + 1); return all; }
Use of the flag "-fpermissive" doesn't help, I still get the same build failure, 11.2 is still building but I'm sure it will succeed. Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org