[opensuse-packaging] Need help with gcc45 error
Hi, I've started getting the following build failure on lilypond factory standard :- |rm -f ./out/spacing-spanner.dep; DEPENDENCIES_OUTPUT="./out/spacing-spanner.dep ./out/spacing-spanner.o" g++ -c -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -ggdb -Woverloaded-virtual -I/usr/include/python2.6 -I/usr/include/python2.6 -fno-strict-aliasing -fmessage-length=0 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fwrapv -DHAVE_CONFIG_H -DNDEBUG -I./include -I./out -I../flower/include -I../flower/./out -I../flower/include -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -ggdb -O2 -finline-functions -g -pipe -pthread -I/usr/include/freetype2 -pthread -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wno-pmf-conversions -W -Wall -Wconversion -o out/spacing-spanner.o spacing-spanner.cc spacing-spanner.cc: In static member function 'static std::vector<Grob*> Spacing_spanner::get_columns(Grob*)': spacing-spanner.cc:41:35: error: expected primary-expression before '*' token spacing-spanner.cc:41:36: error: expected primary-expression before '>' token make[1]: *** [out/spacing-spanner.o] Error 1 Relating to the following line in ||spacing-spanner.cc :- all = vector<Grob*>::vector<Grob*> (all.begin () + start, The whole picture :- vector<Grob*> Spacing_spanner::get_columns (Grob *me_grob) { Spanner *me = dynamic_cast<Spanner*> (me_grob); vector<Grob*> all (get_root_system (me)->used_columns ()); vsize start = binary_search (all, (Grob*)me->get_bound (LEFT), &Paper_column::less_than); vsize end = binary_search (all, (Grob*) me->get_bound (RIGHT), &Paper_column::less_than); all = vector<Grob*>::vector<Grob*> (all.begin () + start, all.begin () + end + 1); return all; } The "*>" doesn't give an error in the line "||Spanner *me = dynamic_cast<Spanner*> (me_grob);" can somebody explain what to look for in this error because I will most probably find a lot of these errors after this one is fixed. Thanks Dave P | -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Mon, 22 Feb 2010, Dave Plater wrote:
Hi, I've started getting the following build failure on lilypond factory standard :- |rm -f ./out/spacing-spanner.dep; DEPENDENCIES_OUTPUT="./out/spacing-spanner.dep ./out/spacing-spanner.o" g++ -c -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -ggdb -Woverloaded-virtual -I/usr/include/python2.6 -I/usr/include/python2.6 -fno-strict-aliasing -fmessage-length=0 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fwrapv -DHAVE_CONFIG_H -DNDEBUG -I./include -I./out -I../flower/include -I../flower/./out -I../flower/include -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -ggdb -O2 -finline-functions -g -pipe -pthread -I/usr/include/freetype2 -pthread -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wno-pmf-conversions -W -Wall -Wconversion -o out/spacing-spanner.o spacing-spanner.cc spacing-spanner.cc: In static member function 'static std::vector<Grob*> Spacing_spanner::get_columns(Grob*)': spacing-spanner.cc:41:35: error: expected primary-expression before '*' token spacing-spanner.cc:41:36: error: expected primary-expression before '>' token make[1]: *** [out/spacing-spanner.o] Error 1
Relating to the following line in ||spacing-spanner.cc :- all = vector<Grob*>::vector<Grob*> (all.begin () + start,
The whole picture :- vector<Grob*> Spacing_spanner::get_columns (Grob *me_grob) { Spanner *me = dynamic_cast<Spanner*> (me_grob); vector<Grob*> all (get_root_system (me)->used_columns ()); vsize start = binary_search (all, (Grob*)me->get_bound (LEFT), &Paper_column::less_than); vsize end = binary_search (all, (Grob*) me->get_bound (RIGHT), &Paper_column::less_than);
all = vector<Grob*>::vector<Grob*> (all.begin () + start,
drop the vector<Grob*>:: - constructors should not be called directly. Richard.
all.begin () + end + 1); return all; }
The "*>" doesn't give an error in the line "||Spanner *me = dynamic_cast<Spanner*> (me_grob);" can somebody explain what to look for in this error because I will most probably find a lot of these errors after this one is fixed. Thanks Dave P |
-- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
-- Richard Guenther <rguenther@suse.de> Novell / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 02/22/2010 11:41 AM, Richard Guenther wrote:
On Mon, 22 Feb 2010, Dave Plater wrote:
The whole picture :- vector<Grob*> Spacing_spanner::get_columns (Grob *me_grob) { Spanner *me = dynamic_cast<Spanner*> (me_grob); vector<Grob*> all (get_root_system (me)->used_columns ()); vsize start = binary_search (all, (Grob*)me->get_bound (LEFT), &Paper_column::less_than); vsize end = binary_search (all, (Grob*) me->get_bound (RIGHT), &Paper_column::less_than);
all = vector<Grob*>::vector<Grob*> (all.begin () + start,
drop the vector<Grob*>:: - constructors should not be called directly.
Richard.
Not being very experienced with c++, does this mean I can simply delete "vector<Grob*>::" and not upset the programs functionality or do I need to take this upstream? Thanks Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Mon, 22 Feb 2010, Dave Plater wrote:
On 02/22/2010 11:41 AM, Richard Guenther wrote:
On Mon, 22 Feb 2010, Dave Plater wrote:
The whole picture :- vector<Grob*> Spacing_spanner::get_columns (Grob *me_grob) { Spanner *me = dynamic_cast<Spanner*> (me_grob); vector<Grob*> all (get_root_system (me)->used_columns ()); vsize start = binary_search (all, (Grob*)me->get_bound (LEFT), &Paper_column::less_than); vsize end = binary_search (all, (Grob*) me->get_bound (RIGHT), &Paper_column::less_than);
all = vector<Grob*>::vector<Grob*> (all.begin () + start,
drop the vector<Grob*>:: - constructors should not be called directly.
Richard.
Not being very experienced with c++, does this mean I can simply delete "vector<Grob*>::" and not upset the programs functionality or do I need to take this upstream?
Yes you can, and you should send that patch upstream anyway. Richard. -- Richard Guenther <rguenther@suse.de> Novell / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 02/22/2010 12:45 PM, Richard Guenther wrote:
On Mon, 22 Feb 2010, Dave Plater wrote:
On 02/22/2010 11:41 AM, Richard Guenther wrote:
On Mon, 22 Feb 2010, Dave Plater wrote:
The whole picture :- vector<Grob*> Spacing_spanner::get_columns (Grob *me_grob) { Spanner *me = dynamic_cast<Spanner*> (me_grob); vector<Grob*> all (get_root_system (me)->used_columns ()); vsize start = binary_search (all, (Grob*)me->get_bound (LEFT), &Paper_column::less_than); vsize end = binary_search (all, (Grob*) me->get_bound (RIGHT), &Paper_column::less_than);
all = vector<Grob*>::vector<Grob*> (all.begin () + start,
drop the vector<Grob*>:: - constructors should not be called directly.
Richard.
Not being very experienced with c++, does this mean I can simply delete "vector<Grob*>::" and not upset the programs functionality or do I need to take this upstream?
Yes you can, and you should send that patch upstream anyway.
Richard.
Thanks, I've already alerted upstream, it will be good to send a patch. Regards Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 02/22/2010 11:41 AM, Richard Guenther wrote:
On Mon, 22 Feb 2010, Dave Plater wrote:
Hi, I've started getting the following build failure on lilypond factory standard :- |rm -f ./out/spacing-spanner.dep; DEPENDENCIES_OUTPUT="./out/spacing-spanner.dep ./out/spacing-spanner.o" g++ -c -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -ggdb -Woverloaded-virtual -I/usr/include/python2.6 -I/usr/include/python2.6 -fno-strict-aliasing -fmessage-length=0 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fwrapv -DHAVE_CONFIG_H -DNDEBUG -I./include -I./out -I../flower/include -I../flower/./out -I../flower/include -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -ggdb -O2 -finline-functions -g -pipe -pthread -I/usr/include/freetype2 -pthread -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wno-pmf-conversions -W -Wall -Wconversion -o out/spacing-spanner.o spacing-spanner.cc spacing-spanner.cc: In static member function 'static std::vector<Grob*> Spacing_spanner::get_columns(Grob*)': spacing-spanner.cc:41:35: error: expected primary-expression before '*' token spacing-spanner.cc:41:36: error: expected primary-expression before '>' token make[1]: *** [out/spacing-spanner.o] Error 1
Relating to the following line in ||spacing-spanner.cc :- all = vector<Grob*>::vector<Grob*> (all.begin () + start,
The whole picture :- vector<Grob*> Spacing_spanner::get_columns (Grob *me_grob) { Spanner *me = dynamic_cast<Spanner*> (me_grob); vector<Grob*> all (get_root_system (me)->used_columns ()); vsize start = binary_search (all, (Grob*)me->get_bound (LEFT), &Paper_column::less_than); vsize end = binary_search (all, (Grob*) me->get_bound (RIGHT), &Paper_column::less_than);
all = vector<Grob*>::vector<Grob*> (all.begin () + start,
drop the vector<Grob*>:: - constructors should not be called directly.
Richard.
Removing "vector<Grob*>::" fixes the build error but breaks lilypond unfortunately. Regards Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Mon, 22 Feb 2010, Dave Plater wrote:
On 02/22/2010 11:41 AM, Richard Guenther wrote:
On Mon, 22 Feb 2010, Dave Plater wrote:
Hi, I've started getting the following build failure on lilypond factory standard :- |rm -f ./out/spacing-spanner.dep; DEPENDENCIES_OUTPUT="./out/spacing-spanner.dep ./out/spacing-spanner.o" g++ -c -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -ggdb -Woverloaded-virtual -I/usr/include/python2.6 -I/usr/include/python2.6 -fno-strict-aliasing -fmessage-length=0 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fwrapv -DHAVE_CONFIG_H -DNDEBUG -I./include -I./out -I../flower/include -I../flower/./out -I../flower/include -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -ggdb -O2 -finline-functions -g -pipe -pthread -I/usr/include/freetype2 -pthread -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wno-pmf-conversions -W -Wall -Wconversion -o out/spacing-spanner.o spacing-spanner.cc spacing-spanner.cc: In static member function 'static std::vector<Grob*> Spacing_spanner::get_columns(Grob*)': spacing-spanner.cc:41:35: error: expected primary-expression before '*' token spacing-spanner.cc:41:36: error: expected primary-expression before '>' token make[1]: *** [out/spacing-spanner.o] Error 1
Relating to the following line in ||spacing-spanner.cc :- all = vector<Grob*>::vector<Grob*> (all.begin () + start,
The whole picture :- vector<Grob*> Spacing_spanner::get_columns (Grob *me_grob) { Spanner *me = dynamic_cast<Spanner*> (me_grob); vector<Grob*> all (get_root_system (me)->used_columns ()); vsize start = binary_search (all, (Grob*)me->get_bound (LEFT), &Paper_column::less_than); vsize end = binary_search (all, (Grob*) me->get_bound (RIGHT), &Paper_column::less_than);
all = vector<Grob*>::vector<Grob*> (all.begin () + start,
drop the vector<Grob*>:: - constructors should not be called directly.
Richard.
Removing "vector<Grob*>::" fixes the build error but breaks lilypond unfortunately.
Removing it will certainly not break lilypond, the problem must be elsewhere. Richard. -- Richard Guenther <rguenther@suse.de> Novell / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 02/22/2010 05:56 PM, Richard Guenther wrote:
On Mon, 22 Feb 2010, Dave Plater wrote:
On 02/22/2010 11:41 AM, Richard Guenther wrote:
On Mon, 22 Feb 2010, Dave Plater wrote:
Hi, I've started getting the following build failure on lilypond factory standard :- |rm -f ./out/spacing-spanner.dep; DEPENDENCIES_OUTPUT="./out/spacing-spanner.dep ./out/spacing-spanner.o" g++ -c -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -ggdb -Woverloaded-virtual -I/usr/include/python2.6 -I/usr/include/python2.6 -fno-strict-aliasing -fmessage-length=0 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fwrapv -DHAVE_CONFIG_H -DNDEBUG -I./include -I./out -I../flower/include -I../flower/./out -I../flower/include -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -ggdb -O2 -finline-functions -g -pipe -pthread -I/usr/include/freetype2 -pthread -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wno-pmf-conversions -W -Wall -Wconversion -o out/spacing-spanner.o spacing-spanner.cc spacing-spanner.cc: In static member function 'static std::vector<Grob*> Spacing_spanner::get_columns(Grob*)': spacing-spanner.cc:41:35: error: expected primary-expression before '*' token spacing-spanner.cc:41:36: error: expected primary-expression before '>' token make[1]: *** [out/spacing-spanner.o] Error 1
Relating to the following line in ||spacing-spanner.cc :- all = vector<Grob*>::vector<Grob*> (all.begin () + start,
The whole picture :- vector<Grob*> Spacing_spanner::get_columns (Grob *me_grob) { Spanner *me = dynamic_cast<Spanner*> (me_grob); vector<Grob*> all (get_root_system (me)->used_columns ()); vsize start = binary_search (all, (Grob*)me->get_bound (LEFT), &Paper_column::less_than); vsize end = binary_search (all, (Grob*) me->get_bound (RIGHT), &Paper_column::less_than);
all = vector<Grob*>::vector<Grob*> (all.begin () + start,
drop the vector<Grob*>:: - constructors should not be called directly.
Richard.
Removing "vector<Grob*>::" fixes the build error but breaks lilypond unfortunately.
Removing it will certainly not break lilypond, the problem must be elsewhere.
Richard.
With it removed, the documentation build which uses the freshly built lilypond to build doesn't succeed on either 11.2 or standard. To debug this problem is a major effort for me, maybe the problem has something to do with the declaration. They still have the same code in their latest development version :- class Spacing_spanner { private: static void set_distances_for_loose_col (Grob *me, Grob *c, Drul_array<Item *> next_door, Spacing_options const *); static void generate_pair_spacing (Grob *me, Paper_column *l, Paper_column *r, Paper_column *nextr, Spacing_options const *options); static Real default_bar_spacing (Grob *, Grob *, Grob *, Moment); static Rational effective_shortest_duration (Grob *me, vector<Grob*> const &all); static void breakable_column_spacing (Grob *, Item *l, Item *r, Spacing_options const *); static void prune_loose_columns (Grob *, vector<Grob*> *cols, Spacing_options *); static void set_explicit_neighbor_columns (vector<Grob*> const &cols); static void set_implicit_neighbor_columns (vector<Grob*> const &cols); static void generate_springs (Grob *me, vector<Grob*> const &cols, Spacing_options const *); static void musical_column_spacing (Grob *, Item *, Item *, Spacing_options const *); static bool fills_measure (Grob *, Item *, Item *); public: static vector<Grob*> get_columns (Grob *me); static Real note_spacing (Grob *, Grob *, Grob *, Spacing_options const *); static Spring standard_breakable_column_spacing (Grob *me, Item *l, Item *r, Spacing_options const *); DECLARE_SCHEME_CALLBACK (set_springs, (SCM)); DECLARE_SCHEME_CALLBACK (calc_common_shortest_duration, (SCM)); DECLARE_GROB_INTERFACE(); }; Any help is appreciated. Thanks Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 02/22/2010 05:56 PM, Richard Guenther wrote:
On Mon, 22 Feb 2010, Dave Plater wrote:
On 02/22/2010 11:41 AM, Richard Guenther wrote:
On Mon, 22 Feb 2010, Dave Plater wrote:
Hi, I've started getting the following build failure on lilypond factory standard :-
Relating to the following line in ||spacing-spanner.cc :- all = vector<Grob*>::vector<Grob*> (all.begin () + start,
drop the vector<Grob*>:: - constructors should not be called directly.
Richard.
Removing "vector<Grob*>::" fixes the build error but breaks lilypond unfortunately.
Removing it will certainly not break lilypond, the problem must be elsewhere.
Richard.
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<Grob*>::" 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? Thanks Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Tue, 23 Feb 2010, Dave Plater wrote:
On 02/22/2010 05:56 PM, Richard Guenther wrote:
On Mon, 22 Feb 2010, Dave Plater wrote:
On 02/22/2010 11:41 AM, Richard Guenther wrote:
On Mon, 22 Feb 2010, Dave Plater wrote:
Hi, I've started getting the following build failure on lilypond factory standard :-
Relating to the following line in ||spacing-spanner.cc :- all = vector<Grob*>::vector<Grob*> (all.begin () + start,
drop the vector<Grob*>:: - constructors should not be called directly.
Richard.
Removing "vector<Grob*>::" fixes the build error but breaks lilypond unfortunately.
Removing it will certainly not break lilypond, the problem must be elsewhere.
Richard.
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<Grob*>::" 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<Grob*>::vector<Grob*>(). Just to prove that there must be sth very funny going on if that isn't broken as well. Richard. -- Richard Guenther <rguenther@suse.de> Novell / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
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<Grob*>::" 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<Grob*>::vector<Grob*>(). 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? I can ask the fedora maintainer of rosegarden, if he knows of anything, perhaps they just used the -fpermissive flag. Regards Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
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<Grob*>::" 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<Grob*>::vector<Grob*>(). 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 ;) Richard. -- Richard Guenther <rguenther@suse.de> Novell / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
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<Grob*>::" 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<Grob*>::vector<Grob*>(). 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<Grob*>:: and omitting it (preferably with -fno-inline). Did I understand you right that removing vector<Grob*>:: worked fine with gcc44? Or did that also break lilipond? Thanks, Richard. -- Richard Guenther <rguenther@suse.de> Novell / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
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<Grob*>::" 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<Grob*>::vector<Grob*>(). 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<Grob*>:: and omitting it (preferably with -fno-inline).
Did I understand you right that removing vector<Grob*>:: worked fine with gcc44? Or did that also break lilipond?
Thanks, Richard.
Removing "vector<Grob*>::" 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<Grob*>::vector<Grob*> (all.begin () + start, + all = vector<Grob*> (all.begin () + start, all.begin () + end + 1); return all; } -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
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<Grob*>::" 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<Grob*>::vector<Grob*>(). 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<Grob*>:: and omitting it (preferably with -fno-inline).
Did I understand you right that removing vector<Grob*>:: worked fine with gcc44? Or did that also break lilipond?
Thanks, Richard.
Removing "vector<Grob*>::" 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<Grob*>::vector<Grob*> (all.begin () + start, + all = vector<Grob*> (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
On 02/22/2010 05:56 PM, Richard Guenther wrote:
On Mon, 22 Feb 2010, Dave Plater wrote:
On 02/22/2010 11:41 AM, Richard Guenther wrote:
On Mon, 22 Feb 2010, Dave Plater wrote:
Hi, I've started getting the following build failure on lilypond factory standard :- |rm -f ./out/spacing-spanner.dep; DEPENDENCIES_OUTPUT="./out/spacing-spanner.dep ./out/spacing-spanner.o" g++ -c -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -ggdb -Woverloaded-virtual -I/usr/include/python2.6 -I/usr/include/python2.6 -fno-strict-aliasing -fmessage-length=0 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fwrapv -DHAVE_CONFIG_H -DNDEBUG -I./include -I./out -I../flower/include -I../flower/./out -I../flower/include -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -ggdb -O2 -finline-functions -g -pipe -pthread -I/usr/include/freetype2 -pthread -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wno-pmf-conversions -W -Wall -Wconversion -o out/spacing-spanner.o spacing-spanner.cc spacing-spanner.cc: In static member function 'static std::vector<Grob*> Spacing_spanner::get_columns(Grob*)': spacing-spanner.cc:41:35: error: expected primary-expression before '*' token spacing-spanner.cc:41:36: error: expected primary-expression before '>' token make[1]: *** [out/spacing-spanner.o] Error 1
Relating to the following line in ||spacing-spanner.cc :- all = vector<Grob*>::vector<Grob*> (all.begin () + start,
The whole picture :- vector<Grob*> Spacing_spanner::get_columns (Grob *me_grob) { Spanner *me = dynamic_cast<Spanner*> (me_grob); vector<Grob*> all (get_root_system (me)->used_columns ()); vsize start = binary_search (all, (Grob*)me->get_bound (LEFT), &Paper_column::less_than); vsize end = binary_search (all, (Grob*) me->get_bound (RIGHT), &Paper_column::less_than);
all = vector<Grob*>::vector<Grob*> (all.begin () + start,
drop the vector<Grob*>:: - constructors should not be called directly.
Richard.
Removing "vector<Grob*>::" fixes the build error but breaks lilypond unfortunately.
Removing it will certainly not break lilypond, the problem must be elsewhere.
Richard.
I've compiled the whole package with -save-temps -fno-inline and compared the .s and .ii files and apart from the different source line missing "vector<Grob*>::" there's no difference. You must be right, the problem must be elsewhere. Thanks Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (2)
-
Dave Plater
-
Richard Guenther