grame-cncm / libmusicxml

A C/C++ library to support the MusicXML format.
Mozilla Public License 2.0
152 stars 33 forks source link

compilation error #15

Closed lemzwerg closed 6 years ago

lemzwerg commented 6 years ago

[d539b7163f6fe51ce602e7838cff6f461b9495be, branch 'lilypond']

Using gcc 4.8.5 (and cmake 3.5.2) on my GNU/Linux box, I get a compilation error, see attached log file.

Maybe version 4.8.5 is too old – if this is true, there should be a proper cmake check to request the necessary C++11 features.

lemzwerg commented 6 years ago

Compilation fails with gcc 5.3.1 also, see attached log file.

lemzwerg commented 6 years ago

Compilation fails with gcc 6.2.1 also, see attached log file.

This means there is a real compilation problem, since compilation must succeed with gcc 6 – this is what recent GNU/Linux distributions actually use.

Note that complete C++11 support was introduced in gcc version 4.8.1 (however, you need option -std=c++11; since gcc version 6.0 C++14 is activated by default).

jacques-menu commented 6 years ago

Hello lemzwerg,

I added a test for GCC and Clang, and asked Dominique as to which versions of the MicroSoft compilers provide C++11 features.

JM

Le 29 oct. 2017 à 07:43, lemzwerg notifications@github.com a écrit :

Compilation fails with gcc 6.2.1 also, see attached log file https://github.com/grame-cncm/libmusicxml/files/1424823/make-gcc6.2.1.zip.

This means there is a real compilation problem, since compilation must succeed with the gcc 6 – this is what recent GNU/Linux distributions actually use.

Note that complete C++11 support was introduced in gcc version 4.8.1 (however, you need option -std=c++11; since gcc version 6.0 C++14 is activated by default).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/grame-cncm/libmusicxml/issues/15#issuecomment-340241283, or mute the thread https://github.com/notifications/unsubscribe-auth/AGKb-oRZKt3M-ZQQeQF5UFyycF7VQnC8ks5sxB6TgaJpZM4QKHCW.

lemzwerg commented 6 years ago

I added a test for GCC and Clang, and asked Dominique as to which versions of the MicroSoft compilers provide C++11 features.

Thanks. However, I still get a compilation error with gcc 4.8.5 (this time using commit 3f3131024), see attachment.

Werner

Scanning dependencies of target musicxml2 [ 1%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/factory/musicxmlfactory.o [ 2%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/factory/sortvisitor.o [ 3%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/files/xmlfile.o [ 5%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/files/xmlreader.o [ 6%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/interface/libmusicxml.o [ 7%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/interface/musicxml2guido.o [ 8%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/interface/lpsr2LilypondInterface.o [ 10%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/interface/msr2LpsrInterface.o [ 11%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/interface/musicXML2mxmlTreeInterface.o [ 12%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/interface/mxmlTree2MsrSkeletonBuilderInterface.o [ 13%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/interface/mxmlTree2MsrTranslatorInterface.o [ 15%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/elements/factory.o [ 16%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/elements/unrolled_xml_tree_browser.o [ 17%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/elements/versions.o [ 18%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/elements/xml.o [ 20%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/elements/xml_treebrowser.o [ 21%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/guido/guido.o [ 22%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/guido/xml2guidovisitor.o In file included from /home/wl/git/libmusicxml/cmake/../src/lib/ctree.h:21:0, from /home/wl/git/libmusicxml/cmake/../src/elements/xml.h:20, from /home/wl/git/libmusicxml/cmake/../src/elements/types.h:17, from /home/wl/git/libmusicxml/cmake/../src/elements/typedefs.h:23, from /home/wl/git/libmusicxml/cmake/../src/visitors/notevisitor.h:24, from /home/wl/git/libmusicxml/cmake/../src/visitors/partsummaryvisitor.h:19, from /home/wl/git/libmusicxml/src/guido/xml2guidovisitor.cpp:21: /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::musicxml<204>]’: /home/wl/git/libmusicxml/src/guido/xml2guidovisitor.cpp:69:19: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] { this=(T)p1; return this; } ^ /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::musicxml<246>]’: /home/wl/git/libmusicxml/src/guido/xml2guidovisitor.cpp:108:22: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] [ 24%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/guido/xmlpart2guido.o [ 25%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/lilypondOptions.o [ 26%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/lpsrBasicTypes.o [ 27%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/messagesHandling.o [ 29%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/msr2Summary.o [ 30%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/msrBasicTypes.o [ 31%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/msrOptions.o [ 32%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/version.o [ 34%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/xml2lilypondOptionsHandling.o [ 35%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/generalOptions.o [ 36%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/mxmlOptions.o [ 37%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.o /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_part&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:1000:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_instruments&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:2305:7: warning: unused variable ‘instruments’ [-Wunused-variable] int instruments = (int)(elt); // JMI ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_offset&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:2638:7: warning: unused variable ‘offsetDivisions’ [-Wunused-variable] int offsetDivisions = (int)(*elt); ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:2642:8: warning: variable ‘offsetSoundValue’ set but not used [-Wunused-but-set-variable] bool offsetSoundValue; // JMI ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_forward&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:4039:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitEnd(MusicXML2::S_forward&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:4084:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_measure&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:5092:5: warning: variable ‘measureImplicitKind’ set but not used [-Wunused-but-set-variable] measureImplicitKind; // use it JMI ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_print&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:5239:13: warning: unused variable ‘staffSpacing’ [-Wunused-variable] const int staffSpacing = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_wavy_line&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:9938:5: warning: variable ‘arrowPlacementKind’ set but not used [-Wunused-but-set-variable] arrowPlacementKind = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:9964:7: warning: unused variable ‘wavyLineNumber’ [-Wunused-variable] int wavyLineNumber = elt->getAttributeIntValue ("number", 0); // JMI use it ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_f&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10290:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_ff&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10338:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_fff&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10386:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_ffff&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10434:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_fffff&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10482:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_ffffff&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10530:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_p&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10579:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_pp&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10627:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_ppp&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10675:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_pppp&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10723:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_ppppp&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10771:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_pppppp&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10819:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_mf&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10869:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_mp&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10917:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_fp&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:10966:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_fz&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:11014:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_rf&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:11063:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_sf&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:11112:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_rfz&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:11161:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_sfz&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:11210:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_sfp&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:11259:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_sfpp&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:11308:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_sffz&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:11357:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_tuplet&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:11793:5: warning: variable ‘tupletShowNumberKind’ set but not used [-Wunused-but-set-variable] tupletShowNumberKind = ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:11815:36: warning: variable ‘tupletShowTypeKind’ set but not used [-Wunused-but-set-variable] msrTuplet::msrTupletShowTypeKind tupletShowTypeKind; // JMI use it ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘void MusicXML2::mxmlTree2MsrTranslator::handleNoteBelongingToAChord(MusicXML2::S_msrNote)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:14529:15: warning: unused variable ‘chordFirstNoteSoundingWholeNotes’ [-Wunused-variable] int chordFirstNoteSoundingWholeNotes = // JMI ^ /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp: In member function ‘virtual void MusicXML2::mxmlTree2MsrTranslator::visitStart(MusicXML2::S_degree_type&)’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:16088:5: warning: unused variable ‘degreeTypeKind’ [-Wunused-variable] degreeTypeKind; // JMI ^ In file included from /home/wl/git/libmusicxml/cmake/../src/lib/ctree.h:21:0, from /home/wl/git/libmusicxml/cmake/../src/lib/browser.h:16, from /home/wl/git/libmusicxml/cmake/../src/lib/tree_browser.h:18, from /home/wl/git/libmusicxml/cmake/../src/elements/xml_treebrowser.h:16, from /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:23: /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrCredit]’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:986:18: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] { this=(T)p1; return this; } ^ /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrTime]’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:1100:16: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrHumdrumScotKeyItem]’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:1498:30: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrWords]’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:2609:26: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrTempo]’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:2610:26: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrStaffLinesNumber]’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:3645:28: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrStaffTuning]’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:3646:23: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrStem]’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:6531:16: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrTie]’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:6535:15: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrSingleTremolo]’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:12854:27: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrChord]’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:13874:21: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrGraceNotes]’: /home/wl/git/libmusicxml/src/lilypond/mxmlTree2MsrTranslator.cpp:14126:26: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] [ 39%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/optionsHandling.o In file included from /home/wl/git/libmusicxml/src/lilypond/utilities.h:27:0, from /home/wl/git/libmusicxml/src/lilypond/optionsHandling.cpp:21: /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrOptionsItem]’: /home/wl/git/libmusicxml/src/lilypond/optionsHandling.cpp:4533:27: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] { this=(T)p1_; return this; } ^ [ 40%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/utilities.o [ 41%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/lpsr.o [ 43%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.o /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp: In member function ‘std::string MusicXML2::lpsr2LilypondTranslator::notePitchAsLilypondString(MusicXML2::S_msrNote)’: /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp:776:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp: In member function ‘std::string MusicXML2::lpsr2LilypondTranslator::pitchedRestAsLilypondString(MusicXML2::S_msrNote)’: /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp:942:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp: In member function ‘std::string MusicXML2::lpsr2LilypondTranslator::singleTremoloDurationAsLilypondString(MusicXML2::S_msrSingleTremolo)’: /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp:1618:5: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp: In member function ‘virtual void MusicXML2::lpsr2LilypondTranslator::visitStart(MusicXML2::S_msrMeasure&)’: /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp:4139:11: warning: variable ‘measureLength’ set but not used [-Wunused-but-set-variable] measureLength = ^ /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp:4176:21: warning: unused variable ‘fieldWidth’ [-Wunused-variable] const int fieldWidth = 27; ^ /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp: In member function ‘virtual void MusicXML2::lpsr2LilypondTranslator::visitEnd(MusicXML2::SmsrNote&)’: /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp:6258:5: warning: unused variable ‘stemKind’ [-Wunused-variable] stemKind = // JMI ^ In file included from /home/wl/git/libmusicxml/src/lilypond/optionsHandling.h:21:0, from /home/wl/git/libmusicxml/src/lilypond/mxmlOptions.h:16, from /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp:20: /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrPart]’: /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp:3448:16: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] { this=(T)p1; return this; } ^ /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrNote]’: /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp:3665:28: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrVoice]’: /home/wl/git/libmusicxml/src/lilypond/lpsr2LilypondTranslator.cpp:3763:17: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] [ 44%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/lpsrOptions.o [ 45%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/msr2LpsrTranslator.o In file included from /home/wl/git/libmusicxml/src/lilypond/msrBasicTypes.h:19:0, from /home/wl/git/libmusicxml/src/lilypond/msrOptions.h:16, from /home/wl/git/libmusicxml/src/lilypond/msr2LpsrTranslator.cpp:24: /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrCredit]’: /home/wl/git/libmusicxml/src/lilypond/msr2LpsrTranslator.cpp:344:18: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] { this=(T)p1_; return this; } ^ /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrStaffLinesNumber]’: /home/wl/git/libmusicxml/src/lilypond/msr2LpsrTranslator.cpp:644:33: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrStaffTuning]’: /home/wl/git/libmusicxml/src/lilypond/msr2LpsrTranslator.cpp:645:33: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrNote]’: /home/wl/git/libmusicxml/src/lilypond/msr2LpsrTranslator.cpp:1200:26: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrFiguredBass]’: /home/wl/git/libmusicxml/src/lilypond/msr2LpsrTranslator.cpp:1417:23: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrBarCheck]’: /home/wl/git/libmusicxml/src/lilypond/msr2LpsrTranslator.cpp:1479:19: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrDoubleTremolo]’: /home/wl/git/libmusicxml/src/lilypond/msr2LpsrTranslator.cpp:2268:30: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrGraceNotes]’: /home/wl/git/libmusicxml/src/lilypond/msr2LpsrTranslator.cpp:2599:27: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrAfterGraceNotes]’: /home/wl/git/libmusicxml/src/lilypond/msr2LpsrTranslator.cpp:2612:29: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrMeasureRepeatPattern]’: /home/wl/git/libmusicxml/src/lilypond/msr2LpsrTranslator.cpp:3708:37: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrMeasureRepeatReplicas]’: /home/wl/git/libmusicxml/src/lilypond/msr2LpsrTranslator.cpp:3739:38: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrMultipleRestContents]’: /home/wl/git/libmusicxml/src/lilypond/msr2LpsrTranslator.cpp:3790:37: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] [ 46%] Building CXX object CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/msr.o /home/wl/git/libmusicxml/src/lilypond/msr.cpp: In member function ‘virtual void MusicXML2::msrPolyphony::print(std::ostream&)’: /home/wl/git/libmusicxml/src/lilypond/msr.cpp:92:13: warning: unused variable ‘fieldWidth’ [-Wunused-variable] const int fieldWidth = 9; ^ /home/wl/git/libmusicxml/src/lilypond/msr.cpp: In member function ‘virtual void MusicXML2::msrNote::print(std::ostream&)’: /home/wl/git/libmusicxml/src/lilypond/msr.cpp:6466:21: warning: unused variable ‘fieldWidth’ [-Wunused-variable] const int fieldWidth = 31; // JMI ^ /home/wl/git/libmusicxml/src/lilypond/msr.cpp:6486:21: warning: unused variable ‘fieldWidth’ [-Wunused-variable] const int fieldWidth = 46; // JMI ^ /home/wl/git/libmusicxml/src/lilypond/msr.cpp: In member function ‘void MusicXML2::msrTuplet::removeFirstNoteFromTuplet(int, MusicXML2::S_msrNote)’: /home/wl/git/libmusicxml/src/lilypond/msr.cpp:9037:33: error: no matching function for call to ‘std::list<MusicXML2::SMARTP >::erase(std::list<MusicXML2::SMARTP >::const_iterator&)’ fTupletElements.erase (i); ^ /home/wl/git/libmusicxml/src/lilypond/msr.cpp:9037:33: note: candidates are: In file included from /usr/include/c++/4.8/list:64:0, from /home/wl/git/libmusicxml/src/lilypond/version.h:17, from /home/wl/git/libmusicxml/src/lilypond/msr.cpp:17: /usr/include/c++/4.8/bits/list.tcc:108:5: note: std::list<_Tp, _Alloc>::iterator std::list<_Tp, _Alloc>::erase(std::list<_Tp, _Alloc>::iterator) [with _Tp = MusicXML2::SMARTP; _Alloc = std::allocator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<MusicXML2::SMARTP >] list<_Tp, _Alloc>:: ^ /usr/include/c++/4.8/bits/list.tcc:108:5: note: no known conversion for argument 1 from ‘std::list<MusicXML2::SMARTP >::const_iterator {aka std::_List_const_iterator<MusicXML2::SMARTP >}’ to ‘std::list<MusicXML2::SMARTP >::iterator {aka std::_List_iterator<MusicXML2::SMARTP >}’ In file included from /usr/include/c++/4.8/list:63:0, from /home/wl/git/libmusicxml/src/lilypond/version.h:17, from /home/wl/git/libmusicxml/src/lilypond/msr.cpp:17: /usr/include/c++/4.8/bits/stl_list.h:1193:7: note: std::list<_Tp, _Alloc>::iterator std::list<_Tp, _Alloc>::erase(std::list<_Tp, _Alloc>::iterator, std::list<_Tp, _Alloc>::iterator) [with _Tp = MusicXML2::SMARTP; _Alloc = std::allocator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<MusicXML2::SMARTP >] erase(iterator first, iterator last) ^ /usr/include/c++/4.8/bits/stl_list.h:1193:7: note: candidate expects 2 arguments, 1 provided /home/wl/git/libmusicxml/src/lilypond/msr.cpp: In member function ‘void MusicXML2::msrMeasure::appendMeasureRepeatToMeasure(MusicXML2::S_msrMeasureRepeat)’: /home/wl/git/libmusicxml/src/lilypond/msr.cpp:16330:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/msr.cpp: In member function ‘void MusicXML2::msrMeasure::appendMultipleRestToMeasure(MusicXML2::S_msrMultipleRest)’: /home/wl/git/libmusicxml/src/lilypond/msr.cpp:16405:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/msr.cpp: In member function ‘void MusicXML2::msrMeasure::prependGraceNotesToMeasure(MusicXML2::S_msrGraceNotes)’: /home/wl/git/libmusicxml/src/lilypond/msr.cpp:16948:22: error: no matching function for call to ‘std::list<MusicXML2::SMARTP >::insert(std::list<MusicXML2::SMARTP >::const_iterator&, MusicXML2::S_msrGraceNotes&)’ i, graceNotes); ^ /home/wl/git/libmusicxml/src/lilypond/msr.cpp:16948:22: note: candidates are: In file included from /usr/include/c++/4.8/list:64:0, from /home/wl/git/libmusicxml/src/lilypond/version.h:17, from /home/wl/git/libmusicxml/src/lilypond/msr.cpp:17: /usr/include/c++/4.8/bits/list.tcc:98:5: note: std::list<_Tp, _Alloc>::iterator std::list<_Tp, _Alloc>::insert(std::list<_Tp, _Alloc>::iterator, const value_type&) [with _Tp = MusicXML2::SMARTP; _Alloc = std::allocator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::value_type = MusicXML2::SMARTP] list<_Tp, _Alloc>:: ^ /usr/include/c++/4.8/bits/list.tcc:98:5: note: no known conversion for argument 1 from ‘std::list<MusicXML2::SMARTP >::const_iterator {aka std::_List_const_iterator<MusicXML2::SMARTP >}’ to ‘std::list<MusicXML2::SMARTP >::iterator {aka std::_List_iterator<MusicXML2::SMARTP >}’ In file included from /usr/include/c++/4.8/list:63:0, from /home/wl/git/libmusicxml/src/lilypond/version.h:17, from /home/wl/git/libmusicxml/src/lilypond/msr.cpp:17: /usr/include/c++/4.8/bits/stl_list.h:1089:7: note: std::list<_Tp, _Alloc>::iterator std::list<_Tp, _Alloc>::insert(std::list<_Tp, _Alloc>::iterator, std::list<_Tp, _Alloc>::value_type&&) [with _Tp = MusicXML2::SMARTP; _Alloc = std::allocator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::value_type = MusicXML2::SMARTP] insert(iterator position, value_type&& x) ^ /usr/include/c++/4.8/bits/stl_list.h:1089:7: note: no known conversion for argument 1 from ‘std::list<MusicXML2::SMARTP >::const_iterator {aka std::_List_const_iterator<MusicXML2::SMARTP >}’ to ‘std::list<MusicXML2::SMARTP >::iterator {aka std::_List_iterator<MusicXML2::SMARTP >}’ /usr/include/c++/4.8/bits/stl_list.h:1106:7: note: void std::list<_Tp, _Alloc>::insert(std::list<_Tp, _Alloc>::iterator, std::initializer_list<_Tp>) [with _Tp = MusicXML2::SMARTP; _Alloc = std::allocator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<MusicXML2::SMARTP >] insert(iterator p, initializer_list l) ^ /usr/include/c++/4.8/bits/stl_list.h:1106:7: note: no known conversion for argument 1 from ‘std::list<MusicXML2::SMARTP >::const_iterator {aka std::_List_const_iterator<MusicXML2::SMARTP >}’ to ‘std::list<MusicXML2::SMARTP >::iterator {aka std::_List_iterator<MusicXML2::SMARTP >}’ /usr/include/c++/4.8/bits/stl_list.h:1123:7: note: void std::list<_Tp, _Alloc>::insert(std::list<_Tp, _Alloc>::iterator, std::list<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = MusicXML2::SMARTP; _Alloc = std::allocator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::size_type = long unsigned int; std::list<_Tp, _Alloc>::value_type = MusicXML2::SMARTP] insert(iterator position, size_type n, const value_type& x) ^ /usr/include/c++/4.8/bits/stl_list.h:1123:7: note: candidate expects 3 arguments, 2 provided /usr/include/c++/4.8/bits/stl_list.h:1149:9: note: template<class _InputIterator, class> void std::list<_Tp, _Alloc>::insert(std::list<_Tp, _Alloc>::iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; = ; _Tp = MusicXML2::SMARTP; _Alloc = std::allocator<MusicXML2::SMARTP >] insert(iterator __position, _InputIterator first, ^ /usr/include/c++/4.8/bits/stl_list.h:1149:9: note: template argument deduction/substitution failed: /home/wl/git/libmusicxml/src/lilypond/msr.cpp:16948:22: note: cannot convert ‘i’ (type ‘std::list<MusicXML2::SMARTP >::const_iterator {aka std::_List_const_iterator<MusicXML2::SMARTP >}’) to type ‘std::list<MusicXML2::SMARTP >::iterator {aka std::_List_iterator<MusicXML2::SMARTP >}’ i, graceNotes); ^ /home/wl/git/libmusicxml/src/lilypond/msr.cpp: In member function ‘void MusicXML2::msrMeasure::prependAfterGraceNotesToMeasure(MusicXML2::S_msrAfterGraceNotes)’: /home/wl/git/libmusicxml/src/lilypond/msr.cpp:16991:27: error: no matching function for call to ‘std::list<MusicXML2::SMARTP >::insert(std::list<MusicXML2::SMARTP >::const_iterator&, MusicXML2::S_msrAfterGraceNotes&)’ i, afterGraceNotes); ^ /home/wl/git/libmusicxml/src/lilypond/msr.cpp:16991:27: note: candidates are: In file included from /usr/include/c++/4.8/list:64:0, from /home/wl/git/libmusicxml/src/lilypond/version.h:17, from /home/wl/git/libmusicxml/src/lilypond/msr.cpp:17: /usr/include/c++/4.8/bits/list.tcc:98:5: note: std::list<_Tp, _Alloc>::iterator std::list<_Tp, _Alloc>::insert(std::list<_Tp, _Alloc>::iterator, const value_type&) [with _Tp = MusicXML2::SMARTP; _Alloc = std::allocator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::value_type = MusicXML2::SMARTP] list<_Tp, _Alloc>:: ^ /usr/include/c++/4.8/bits/list.tcc:98:5: note: no known conversion for argument 1 from ‘std::list<MusicXML2::SMARTP >::const_iterator {aka std::_List_const_iterator<MusicXML2::SMARTP >}’ to ‘std::list<MusicXML2::SMARTP >::iterator {aka std::_List_iterator<MusicXML2::SMARTP >}’ In file included from /usr/include/c++/4.8/list:63:0, from /home/wl/git/libmusicxml/src/lilypond/version.h:17, from /home/wl/git/libmusicxml/src/lilypond/msr.cpp:17: /usr/include/c++/4.8/bits/stl_list.h:1089:7: note: std::list<_Tp, _Alloc>::iterator std::list<_Tp, _Alloc>::insert(std::list<_Tp, _Alloc>::iterator, std::list<_Tp, _Alloc>::value_type&&) [with _Tp = MusicXML2::SMARTP; _Alloc = std::allocator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::value_type = MusicXML2::SMARTP] insert(iterator position, value_type&& x) ^ /usr/include/c++/4.8/bits/stl_list.h:1089:7: note: no known conversion for argument 1 from ‘std::list<MusicXML2::SMARTP >::const_iterator {aka std::_List_const_iterator<MusicXML2::SMARTP >}’ to ‘std::list<MusicXML2::SMARTP >::iterator {aka std::_List_iterator<MusicXML2::SMARTP >}’ /usr/include/c++/4.8/bits/stl_list.h:1106:7: note: void std::list<_Tp, _Alloc>::insert(std::list<_Tp, _Alloc>::iterator, std::initializer_list<_Tp>) [with _Tp = MusicXML2::SMARTP; _Alloc = std::allocator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<MusicXML2::SMARTP >] insert(iterator p, initializer_list l) ^ /usr/include/c++/4.8/bits/stl_list.h:1106:7: note: no known conversion for argument 1 from ‘std::list<MusicXML2::SMARTP >::const_iterator {aka std::_List_const_iterator<MusicXML2::SMARTP >}’ to ‘std::list<MusicXML2::SMARTP >::iterator {aka std::_List_iterator<MusicXML2::SMARTP >}’ /usr/include/c++/4.8/bits/stl_list.h:1123:7: note: void std::list<_Tp, _Alloc>::insert(std::list<_Tp, _Alloc>::iterator, std::list<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = MusicXML2::SMARTP; _Alloc = std::allocator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::size_type = long unsigned int; std::list<_Tp, _Alloc>::value_type = MusicXML2::SMARTP] insert(iterator position, size_type n, const value_type& x) ^ /usr/include/c++/4.8/bits/stl_list.h:1123:7: note: candidate expects 3 arguments, 2 provided /usr/include/c++/4.8/bits/stl_list.h:1149:9: note: template<class _InputIterator, class> void std::list<_Tp, _Alloc>::insert(std::list<_Tp, _Alloc>::iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; = ; _Tp = MusicXML2::SMARTP; _Alloc = std::allocator<MusicXML2::SMARTP >] insert(iterator __position, _InputIterator first, ^ /usr/include/c++/4.8/bits/stl_list.h:1149:9: note: template argument deduction/substitution failed: /home/wl/git/libmusicxml/src/lilypond/msr.cpp:16991:27: note: cannot convert ‘i’ (type ‘std::list<MusicXML2::SMARTP >::const_iterator {aka std::_List_const_iterator<MusicXML2::SMARTP >}’) to type ‘std::list<MusicXML2::SMARTP >::iterator {aka std::_List_iterator<MusicXML2::SMARTP >}’ i, afterGraceNotes); ^ /home/wl/git/libmusicxml/src/lilypond/msr.cpp: In member function ‘void MusicXML2::msrMeasure::appendStaffDetailsToMeasure(MusicXML2::S_msrStaffDetails)’: /home/wl/git/libmusicxml/src/lilypond/msr.cpp:17043:7: warning: unused variable ‘inputLineNumber’ [-Wunused-variable] int inputLineNumber = ^ /home/wl/git/libmusicxml/src/lilypond/msr.cpp: In member function ‘void MusicXML2::msrMeasure::removeNoteFromMeasure(int, MusicXML2::S_msrNote)’: /home/wl/git/libmusicxml/src/lilypond/msr.cpp:17115:36: error: no matching function for call to ‘std::list<MusicXML2::SMARTP >::erase(std::list<MusicXML2::SMARTP >::const_iterator&)’ fMeasureElementsList.erase (i); ^ /home/wl/git/libmusicxml/src/lilypond/msr.cpp:17115:36: note: candidates are: In file included from /usr/include/c++/4.8/list:64:0, from /home/wl/git/libmusicxml/src/lilypond/version.h:17, from /home/wl/git/libmusicxml/src/lilypond/msr.cpp:17: /usr/include/c++/4.8/bits/list.tcc:108:5: note: std::list<_Tp, _Alloc>::iterator std::list<_Tp, _Alloc>::erase(std::list<_Tp, _Alloc>::iterator) [with _Tp = MusicXML2::SMARTP; _Alloc = std::allocator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<MusicXML2::SMARTP >] list<_Tp, _Alloc>:: ^ /usr/include/c++/4.8/bits/list.tcc:108:5: note: no known conversion for argument 1 from ‘std::list<MusicXML2::SMARTP >::const_iterator {aka std::_List_const_iterator<MusicXML2::SMARTP >}’ to ‘std::list<MusicXML2::SMARTP >::iterator {aka std::_List_iterator<MusicXML2::SMARTP >}’ In file included from /usr/include/c++/4.8/list:63:0, from /home/wl/git/libmusicxml/src/lilypond/version.h:17, from /home/wl/git/libmusicxml/src/lilypond/msr.cpp:17: /usr/include/c++/4.8/bits/stl_list.h:1193:7: note: std::list<_Tp, _Alloc>::iterator std::list<_Tp, _Alloc>::erase(std::list<_Tp, _Alloc>::iterator, std::list<_Tp, _Alloc>::iterator) [with _Tp = MusicXML2::SMARTP; _Alloc = std::allocator<MusicXML2::SMARTP >; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<MusicXML2::SMARTP >] erase(iterator first, iterator last) ^ /usr/include/c++/4.8/bits/stllist.h:1193:7: note: candidate expects 2 arguments, 1 provided In file included from /home/wl/git/libmusicxml/src/lilypond/optionsHandling.h:21:0, from /home/wl/git/libmusicxml/src/lilypond/mxmlOptions.h:16, from /home/wl/git/libmusicxml/src/lilypond/msr.cpp:19: /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrMeasureRepeat]’: /home/wl/git/libmusicxml/src/lilypond/msr.cpp:23754:36: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] { this=(T)p1; return *this; } ^ /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h: In instantiation of ‘MusicXML2::SMARTP& MusicXML2::SMARTP::operator=(T2) [with T2 = int; T = MusicXML2::msrMultipleRest]’: /home/wl/git/libmusicxml/src/lilypond/msr.cpp:24040:35: required from here /home/wl/git/libmusicxml/cmake/../src/lib/smartpointer.h:123:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] CMakeFiles/musicxml2.dir/build.make:926: recipe for target 'CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/msr.o' failed make[2]: [CMakeFiles/musicxml2.dir/home/wl/git/libmusicxml/src/lilypond/msr.o] Error 1 CMakeFiles/Makefile2:252: recipe for target 'CMakeFiles/musicxml2.dir/all' failed make[1]: [CMakeFiles/musicxml2.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2

jacques-menu commented 6 years ago

Hello Werner,

A const_iterator is used:

for (
  list<S_msrElement>::const_iterator i=fTupletElements.begin ();
  i!=fTupletElements.end ();
  ++i) {
  if ((*i) == note) {
    // found note, erase it
    fTupletElements.erase (i);

erase() changed from C++98 to C++11:

iterator erase (iterator position); iterator erase (iterator first, iterator last);

iterator erase (const_iterator position); iterator erase (const_iterator first, const_iterator last);

The same holds for insert().

I’ll use try_compile() to do a better job and let you know when it’s done.

Thanks for your help, I do appreciate it a lot!

JM

Le 30 oct. 2017 à 00:07, lemzwerg notifications@github.com a écrit :

I added a test for GCC and Clang, and asked Dominique as to which versions of the MicroSoft compilers provide C++11 features.

Thanks. However, I still get a compilation error with gcc 4.8.5 (this time using commit 3f3131024), see attachment.

lemzwerg commented 6 years ago

erase() changed from C++98 to C++11:

iterator erase (iterator position); iterator erase (iterator first, iterator last);

iterator erase (const_iterator position); iterator erase (const_iterator first, const_iterator last);

OK. Looking at

https://stackoverflow.com/questions/19559235/missing-const-iterator-overload-of-stdvectorerase-with-g-4-8

it seems that cmake doesn't test the compiler's C++11 support properly – gcc 4.8.5 probably doesn't have this fixed, so cmake should reject anything older than 4.9.0 (or whatever the first supported version is).

On the other hand: Are you sure that this is the issue? I've again tried compilation with g++ 5.3.1 and g++ 6.2.1 – both which should have this `const_iterator' problem fixed, and it still fails.

Attached the recent log file for gcc 6, compiling commit 3f31310. Searching for the first occurrence of the word `error' I see

libmusicxml/src/lilypond/msr.cpp: In member function ‘virtual void MusicXML2::msrStaffDetails::print(std::ostream&)’: libmusicxml/src/lilypond/msr.cpp:25415:44: error: no match for ‘operator<<’ (operand types are ‘std::basic_ostream’ and ‘std::ostream {aka std::basic_ostream}’) os << left <<

     setw (fieldWidth) <<
 "staffTypeKind" << " = " <<
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 staffTypeKindAsString (fStaffTypeKind) <<
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~

// print the staff lines number if any


   os << left <<
   ~~

For me, this is not related at all to the `const_iterator' thing...

    Werner
lemzwerg commented 6 years ago

Ah, I used the wrong compression format while replying by e-mail so that the attachment isn't automatically added. Here it is.

jacques-menu commented 6 years ago

LilyDev 4 provides:

gcc version 4.9.2 (Debian 4.9.2-10) 

Let’s go for this version as a minimum, since this version is not quite new.

What do you think?

JM

lemzwerg commented 6 years ago

Sounds OK.

Note, however, that issues like the const_iterator problem are the reason why I prefer the autoconf way, this is, testing for compiler capabilities instead of looking for a certain compiler version...

dfober commented 6 years ago

Le 29 oct. 2017 à 00:07, lemzwerg notifications@github.com a écrit :

[d539b71 https://github.com/grame-cncm/libmusicxml/commit/d539b7163f6fe51ce602e7838cff6f461b9495be, branch 'lilypond']

Using gcc 4.8.5 (and cmake 3.5.2) on my GNU/Linux box, I get a compilation error, see attached log file https://github.com/grame-cncm/libmusicxml/files/1424659/make.zip.

Maybe version 4.8.5 is too old – if this is true, there should be a proper cmake check to request the necessary C++11 features.

this is likely due to the iterator type: const_iterator with list::erase is specific to C++11 while list::erase (iterator) should work even with gcc 4.8.5

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/grame-cncm/libmusicxml/issues/15, or mute the thread https://github.com/notifications/unsubscribe-auth/AAaTw_VuOxBePDzK2ZSUoG8wuh5Jwuklks5sw6WsgaJpZM4QKHCW.

dfober commented 6 years ago

Le 29 oct. 2017 à 07:43, lemzwerg notifications@github.com a écrit :

Compilation fails with gcc 6.2.1 also, see attached log file https://github.com/grame-cncm/libmusicxml/files/1424823/make-gcc6.2.1.zip.

This means there is a real compilation problem, since compilation must succeed with the gcc 6 – this is what recent GNU/Linux distributions actually use.

Note that complete C++11 support was introduced in gcc version 4.8.1 (however, you need option -std=c++11; since gcc version 6.0 C++14 is activated by default).

it looks like all that is just a matter of compiler options...

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/grame-cncm/libmusicxml/issues/15#issuecomment-340241283, or mute the thread https://github.com/notifications/unsubscribe-auth/AAaTw-6v9ox-lJJFYlcsJJDq_uKJmWSNks5sxB6TgaJpZM4QKHCW.

dfober commented 6 years ago

Le 29 oct. 2017 à 17:08, jacques-menu notifications@github.com a écrit :

Hello lemzwerg,

I added a test for GCC and Clang, and asked Dominique as to which versions of the MicroSoft compilers provide C++11 features.

I’m using Visual studio express 2013 (or 2015) both support C++11. I think you can safely assume that current compilers are supporting C++11.

JM

Le 29 oct. 2017 à 07:43, lemzwerg notifications@github.com a écrit :

Compilation fails with gcc 6.2.1 also, see attached log file https://github.com/grame-cncm/libmusicxml/files/1424823/make-gcc6.2.1.zip.

This means there is a real compilation problem, since compilation must succeed with the gcc 6 – this is what recent GNU/Linux distributions actually use.

Note that complete C++11 support was introduced in gcc version 4.8.1 (however, you need option -std=c++11; since gcc version 6.0 C++14 is activated by default).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/grame-cncm/libmusicxml/issues/15#issuecomment-340241283, or mute the thread https://github.com/notifications/unsubscribe-auth/AGKb-oRZKt3M-ZQQeQF5UFyycF7VQnC8ks5sxB6TgaJpZM4QKHCW.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/grame-cncm/libmusicxml/issues/15#issuecomment-340273443, or mute the thread https://github.com/notifications/unsubscribe-auth/AAaTw_t3nAPyfYQWCTaqp6pqIsvnGTo2ks5sxKLigaJpZM4QKHCW.

dfober commented 6 years ago

Note that I’m using C++11 on the dev branch and it compiles without problem on all platforms (linux, windows and macOS) You should consider a merge from dev -> to lilypond. You’ll benefit from the last changes, especially regarding the build process and the validation process. However, I guess that won’t be trivial, the lily branch is diverging for a while, apparently without intermediate merge. If you need some help to do that, feel free to ask. — Dom

Le 30 oct. 2017 à 10:51, jacques-menu notifications@github.com a écrit :

Hello Werner,

A const_iterator is used:

for ( list::const_iterator i=fTupletElements.begin (); i!=fTupletElements.end (); ++i) { if ((*i) == note) { // found note, erase it fTupletElements.erase (i);

erase() changed from C++98 to C++11:

iterator erase (iterator position); iterator erase (iterator first, iterator last);

iterator erase (const_iterator position); iterator erase (const_iterator first, const_iterator last);

The same holds for insert().

I’ll use try_compile() to do a better job and let you know when it’s done.

Thanks for your help, I do appreciate it a lot!

JM

Le 30 oct. 2017 à 00:07, lemzwerg notifications@github.com a écrit :

I added a test for GCC and Clang, and asked Dominique as to which versions of the MicroSoft compilers provide C++11 features.

Thanks. However, I still get a compilation error with gcc 4.8.5 (this time using commit 3f3131024), see attachment. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/grame-cncm/libmusicxml/issues/15#issuecomment-340394734, or mute the thread https://github.com/notifications/unsubscribe-auth/AAaTwzsxfeOztIclRbumZpG_UYP0afSsks5sxZwLgaJpZM4QKHCW.

dfober commented 6 years ago

Le 30 oct. 2017 à 11:38, jacques-menu notifications@github.com a écrit :

LilyDev 4 provides:

gcc version 4.9.2 (Debian 4.9.2-10)

I can compile the ‘dev’ branch on an old ubuntu 14 using gcc 4.8.4 without problem (and using C++11). You should not introduce useless limitation, rather find what’s the real issue.

Let’s go for this version as a minimum, since this version is not quite new.

What do you think?

JM

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/grame-cncm/libmusicxml/issues/15#issuecomment-340406224, or mute the thread https://github.com/notifications/unsubscribe-auth/AAaTw90Z4Ofhf6cz0UOOghAAlrUriU0qks5sxac1gaJpZM4QKHCW.

lemzwerg commented 6 years ago

Well, the const_iterator issue is a real and known problem with gcc 4.8.x, so asking for gcc 4.9.x is not unreasonable.

However, there are other compilation problems (as reported above), and hopefully this can be easily fixed.

dfober commented 6 years ago

Le 30 oct. 2017 à 20:57, lemzwerg notifications@github.com a écrit :

Well, the const_iterator issue is a real and known problem with gcc 4.8.x, so asking for gcc 4.9.x is not unreasonable.

agree However, there are other compilation problems (as reported above), and hopefully this can be easily fixed.

I’ve fixed a set of warnings and a syntax error. It compiles now on my side, on linux and macOS. There are still some unix specific calls that prevent compiling on windows.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/grame-cncm/libmusicxml/issues/15#issuecomment-340565524, or mute the thread https://github.com/notifications/unsubscribe-auth/AAaTw4s-TxESNHGn-AAoLYjF2eltWWUwks5sxio9gaJpZM4QKHCW.

lemzwerg commented 6 years ago

Confirmed! Commit d76599a30 now builds with both gcc 5 and 6.

Thanks for fixing!