Re: LyX2.2 build fails on OS X
Am 21.09.2015 um 02:35 schrieb Guillaume Munch : > Le 21/09/2015 02:12, Guillaume Munch a écrit : >> Le 20/09/2015 20:06, Georg Baum a écrit : >>> Jürgen Spitzmüller wrote: >>> Am Sonntag 20 September 2015, 18:43:33 schrieb Guillaume Munch: > I understand that there are two separate issues: > > - There are errors looking like Uwe's if one uses --disable-cxx11, > probably due to my latest patches. I rather have the impression that c++11 copilation somehow is scrambled with qt4. I suppose Uwe also compiles against qt4. >>> >>> I can't confirm that. For me it worked with qt4 and c++11 and after >>> ec086243df it works also qith qt4 and c++98. >>> >> >> * The issue with --disable-cxx11 should now be fixed as you mention. >> >> * The problem in Windows is again separate from the others (visual >> studio has std::make_shared already in c++98). >> >> * I have similar errors as Jürgen and Richard with c++11 & qt4. I have >> the errors below with a simple ../configure && make in a fresh build >> directory. Git bisect (only for the error below) leads to 41405babc >> (2015-01-06 13:53:18 Cleanup support for std::regex with autotools)... >> But like you I don't recall having any trouble with c++11 & qt4 in the >> past (apart from the warnings). And it would be surprising that after 9 >> months it is noticed simultaneously like that. > > addendum: > * I am not sure what errors Jürgen still has. > * Git bisect was done by forcing c++11 with --enable-cxx11 > * No suspicious software upgrade recently This is the state on my Mac OS X with 1c3958d89c650e3675fccf2d7626d37430dc5733 checkout: Configuration Host type: x86_64-apple-darwin12.6.0 Special build flags: build=release warnings c++11 stdregex use-aspell use-hunspell C++ Compiler:c++ C++ Compiler flags: -Wall -Wextra -Os -std=c++11 -Wno-deprecated-register C++ Compiler user flags: -I/Users/Shared/LyX/utilities/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -arch x86_64 -mmacosx-version-min=10.6 Linker flags: Linker user flags:-L/Users/Shared/LyX/utilities/lib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -arch x86_64 -mmacosx-version-min=10.6 Qt Frontend: Qt version: 5.4.2 Packaging: macosx In file included from /Users/stephan/git/lyx/src/support/debug.cpp:21: /Users/stephan/git/lyx/src/support/../support/regex.h:16:12: fatal error: 'regex' file not found # include ^ 1 error generated. make[5]: *** [debug.o] Error 1 make[5]: *** Waiting for unfinished jobs In file included from /Users/stephan/git/lyx/src/support/FileMonitor.cpp:18: In file included from /Users/stephan/git/lyx/src/support/../support/bind.h:15: /Users/stephan/git/lyx/src/support/../support/functional.h:30:27: error: no member named 'function' in namespace 'std' using LYX_FUNCTIONAL_NS::function; ~~~^ In file included from /Users/stephan/git/lyx/src/support/FileMonitor.cpp:18: /Users/stephan/git/lyx/src/support/../support/bind.h:23:13: error: no member named 'placeholders' in namespace 'std'; did you mean 'boost::mpl::placeholders'? using std::placeholders::_1; ~^~~~ boost::mpl::placeholders /Users/stephan/git/lyx/boost/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:101:11: note: 'boost::mpl::placeholders' declared here namespace placeholders { ^ In file included from /Users/stephan/git/lyx/src/support/FileMonitor.cpp:18: /Users/stephan/git/lyx/src/support/../support/bind.h:24:13: error: no member named 'placeholders' in namespace 'std'; did you mean 'boost::mpl::placeholders'? using std::placeholders::_2; ~^~~~ boost::mpl::placeholders /Users/stephan/git/lyx/boost/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:101:11: note: 'boost::mpl::placeholders' declared here namespace placeholders { ^ In file included from /Users/stephan/git/lyx/src/support/FileMonitor.cpp:18: /Users/stephan/git/lyx/src/support/../support/bind.h:36:21: error: no member named 'bind' in namespace 'std' using LYX_BIND_NS::bind; ~^ /Users/stephan/git/lyx/src/support/../support/bind.h:37:21: error: no member named 'ref' in namespace 'std' using LYX_BIND_NS::ref; ~^ /Users/stephan/git/lyx/src/support/FileMonitor.cpp:148:25: error: use of undeclared identifier 'bind' timer_.timeout.connect(bind(&Impl::monitorFile, this)); ^
Re: LyX2.2 build fails on OS X
Le 21/09/2015 02:12, Guillaume Munch a écrit : Le 20/09/2015 20:06, Georg Baum a écrit : Jürgen Spitzmüller wrote: Am Sonntag 20 September 2015, 18:43:33 schrieb Guillaume Munch: I understand that there are two separate issues: - There are errors looking like Uwe's if one uses --disable-cxx11, probably due to my latest patches. I rather have the impression that c++11 copilation somehow is scrambled with qt4. I suppose Uwe also compiles against qt4. I can't confirm that. For me it worked with qt4 and c++11 and after ec086243df it works also qith qt4 and c++98. * The issue with --disable-cxx11 should now be fixed as you mention. * The problem in Windows is again separate from the others (visual studio has std::make_shared already in c++98). * I have similar errors as Jürgen and Richard with c++11 & qt4. I have the errors below with a simple ../configure && make in a fresh build directory. Git bisect (only for the error below) leads to 41405babc (2015-01-06 13:53:18 Cleanup support for std::regex with autotools)... But like you I don't recall having any trouble with c++11 & qt4 in the past (apart from the warnings). And it would be surprising that after 9 months it is noticed simultaneously like that. addendum: * I am not sure what errors Jürgen still has. * Git bisect was done by forcing c++11 with --enable-cxx11 * No suspicious software upgrade recently
Re: LyX2.2 build fails on OS X
Le 20/09/2015 20:06, Georg Baum a écrit : Jürgen Spitzmüller wrote: Am Sonntag 20 September 2015, 18:43:33 schrieb Guillaume Munch: I understand that there are two separate issues: - There are errors looking like Uwe's if one uses --disable-cxx11, probably due to my latest patches. I rather have the impression that c++11 copilation somehow is scrambled with qt4. I suppose Uwe also compiles against qt4. I can't confirm that. For me it worked with qt4 and c++11 and after ec086243df it works also qith qt4 and c++98. * The issue with --disable-cxx11 should now be fixed as you mention. * The problem in Windows is again separate from the others (visual studio has std::make_shared already in c++98). * I have similar errors as Jürgen and Richard with c++11 & qt4. I have the errors below with a simple ../configure && make in a fresh build directory. Git bisect (only for the error below) leads to 41405babc (2015-01-06 13:53:18 Cleanup support for std::regex with autotools)... But like you I don't recall having any trouble with c++11 & qt4 in the past (apart from the warnings). And it would be surprising that after 9 months it is noticed simultaneously like that. CXX debug.o In file included from /usr/include/c++/4.9/bits/concept_check.h:55:0, from /usr/include/c++/4.9/bits/move.h:34, from /usr/include/c++/4.9/bits/stl_pair.h:59, from /usr/include/c++/4.9/bits/stl_algobase.h:64, from /usr/include/c++/4.9/bits/stl_tree.h:61, from /usr/include/c++/4.9/set:60, from ../../../src/support/../support/FileName.h:19, from ../../../src/support/debug.cpp:17: /usr/include/c++/4.9/bits/boost_concept_check.h: In instantiation of ‘void __gnu_cxx::_SGIAssignableConcept<_Tp>::__constraints() [with _Tp = std::__detail::_StateSeq >]’: /usr/include/c++/4.9/bits/stl_deque.h:739:7: required from ‘class std::__cxx1998::deque >, std::allocator > > >’ /usr/include/c++/4.9/debug/deque:42:11: required from ‘class std::__debug::deque >, std::allocator > > >’ /usr/include/c++/4.9/bits/stl_stack.h:102:46: required from ‘class std::stack >, std::__debug::deque >, std::allocator > > > >’ /usr/include/c++/4.9/bits/regex_compiler.h:144:23: required from ‘class std::__detail::_Compiler >’ /usr/include/c++/4.9/bits/regex_compiler.h:155:68: required from ‘std::shared_ptr > std::__detail::__compile_nfa(const typename _TraitsT::char_type*, const typename _TraitsT::char_type*, const _TraitsT&, std::regex_constants::syntax_option_type) [with _TraitsT = std::regex_traits; typename _TraitsT::char_type = char]’ /usr/include/c++/4.9/bits/regex.h:540:21: required from ‘std::basic_regex< , >::basic_regex(_FwdIter, _FwdIter, std::basic_regex< , >::flag_type) [with _FwdIter = const char*; _Ch_type = char; _Rx_traits = std::regex_traits; std::basic_regex< , >::flag_type = std::regex_constants::syntax_option_type]’ /usr/include/c++/4.9/bits/regex.h:452:71: required from ‘std::basic_regex< , >::basic_regex(const _Ch_type*, std::basic_regex< , >::flag_type) [with _Ch_type = char; _Rx_traits = std::regex_traits; std::basic_regex< , >::flag_type = std::regex_constants::syntax_option_type]’ ../../../src/support/debug.cpp:205:39: required from here /usr/include/c++/4.9/bits/boost_concept_check.h:206:11: error: use of deleted function ‘std::__detail::_StateSeq >& std::__detail::_StateSeq >::operator=(const std::__detail::_StateSeq >&)’ __a = __a;// require assignment operator ^ In file included from /usr/include/c++/4.9/regex:57:0, from ../../../src/support/../support/regex.h:16, from ../../../src/support/debug.cpp:21: /usr/include/c++/4.9/bits/regex_automaton.h:265:11: note: ‘std::__detail::_StateSeq >& std::__detail::_StateSeq >::operator=(const std::__detail::_StateSeq >&)’ is implicitly deleted because the default definition would be ill-formed: class _StateSeq ^ [much more]
Re: [LyX/master] Amend 94e992c5
On 09/20/2015 01:26 PM, Guillaume Munch wrote: commit ec086243df0e8e35b255b37e42ddd553fbe457e7 Author: Guillaume Munch Date: Sun Sep 20 19:24:45 2015 +0200 Amend 94e992c5 Fix compilation with --disable-cxx11 diff --git a/src/TocBackend.h b/src/TocBackend.h index e18d28d..176175d 100644 --- a/src/TocBackend.h +++ b/src/TocBackend.h @@ -146,7 +146,7 @@ private: TocBuilder(){} /// struct frame { - Toc::size_type const pos; + Toc::size_type pos; bool is_captioned; }; /// I can confirm that this still works. I still see the same errors without --disable-cxx11, at least when compiling with Qt4. (I have never tried Qt5.) Richard
Re: 2 compilation errors with current master
Le 20/09/2015 17:05, Uwe Stöhr a écrit : I get 2 compilation errors with current master: ..\..\src\TocBackend.cpp(191): error C2668: 'boost::make_shared': ambiguous call of an overloaded function [D:\LyXGit\Master\compile-result\src\LyX.vcxproj] ..\..\src\TocBackend.cpp(191): error C2228: left of ".first" must be a class/structure/union. [D:\LyXGit\Master\compile-result\src\LyX.vcxproj] regards Uwe Can you please test the attached patch and report if it fixes the compilation in c++98 mode? (with up-to-date master) diff --git a/src/support/shared_ptr.h b/src/support/shared_ptr.h index bb613de..0eb5646 100644 --- a/src/support/shared_ptr.h +++ b/src/support/shared_ptr.h @@ -12,7 +12,7 @@ #ifndef LYX_SHARED_PTR_H #define LYX_SHARED_PTR_H -#ifdef LYX_USE_CXX11 +#if defined(LYX_USE_CXX11) || (defined(_MSC_VER) && (_MSC_VER >= 1600)) #include #define LYX_SHAREDPTR_NS std
Re: lyxhtml math export missing some symbols
On 2015-09-20, Richard Heck wrote: > On 09/19/2015 06:15 PM, Guenter Milde wrote: >> Dear LyXers, >> when I try to export a document with some special arrows to HTML, >> LyXHTM's MathML export misses to convert some arrows. >> LaTeX: >> $a\mapsto b$ \emph{$a\mapsfrom b$} >> $a\hookleftarrow b$ >> HTML: >> a↦b a↤b >> a↩b >> LyXHTML: >> a mapstochar → b a ← mapsfromchar b >> a ← rhook b >> These arrwos are >> defined in "lib/unicodesymbols". >> How is the mapping from LICR to character done in LyXHTML for formulas? > The mapping used here is from lib/symbols: > \def\mapsto{\mapstochar\kern-9mu\rightarrow} > \def\mapsfrom{\leftarrow\kern-9mu\mapsfromchar} > Since neither \mapstochar nor \mapsfromchar has an XHTML equivalent defined: > mapstochar cmsy 55 0 mathrel x > mapsfromchar stmry 91 0 mathrelx stmaryrd > they are output as is. i.e. output as name of the character or "pseudo-command". What could be done to improve the situation (I assume the situation is similar for more characters that are formed from building blocks in TeX but one unicode character in MathML)? * add Unicode points to the \def in lib/symbols? \def\mapsto{\mapstochar\kern-9mu\rightarrow} ⟼ * use lib/unicodesymbols - as first try - as fallback when converting symbol macros to characters? Günter
Re: LyX2.2 build fails on OS X
Jürgen Spitzmüller wrote: > Am Sonntag 20 September 2015, 18:43:33 schrieb Guillaume Munch: >> I understand that there are two separate issues: >> >> - There are errors looking like Uwe's if one uses --disable-cxx11, >> probably due to my latest patches. > > I rather have the impression that c++11 copilation somehow is scrambled > with qt4. I suppose Uwe also compiles against qt4. I can't confirm that. For me it worked with qt4 and c++11 and after ec086243df it works also qith qt4 and c++98. Georg
Re: LyX2.2 build fails on OS X
Am Sonntag, 20. September 2015 um 19:08:55, schrieb Jürgen Spitzmüller > Am Sonntag 20 September 2015, 18:43:33 schrieb Guillaume Munch: > > I understand that there are two separate issues: > > > > - There are errors looking like Uwe's if one uses --disable-cxx11, > > probably due to my latest patches. > > I rather have the impression that c++11 copilation somehow is scrambled with > qt4. I suppose Uwe also compiles against qt4. Yes, it is the default if not explicitly using '-DLYX_USE_QT=QT5'. (The build.bat file provided in the repository does not set this value) > > - There are errors looking like Richard's; they are already there at > > 65a95620. They no not occur with --enable-qt5. > > Here, the errors of the first kind do not occur with --enable-qt5. > > Jürgen > Kornel signature.asc Description: This is a digitally signed message part.
Re: LyX2.2 build fails on OS X
Am Sonntag 20 September 2015, 18:43:33 schrieb Guillaume Munch: > I understand that there are two separate issues: > > - There are errors looking like Uwe's if one uses --disable-cxx11, > probably due to my latest patches. I rather have the impression that c++11 copilation somehow is scrambled with qt4. I suppose Uwe also compiles against qt4. > - There are errors looking like Richard's; they are already there at > 65a95620. They no not occur with --enable-qt5. Here, the errors of the first kind do not occur with --enable-qt5. Jürgen
Re: LyX2.2 build fails on OS X
On 20/09/15 17:10, Guillaume Munch wrote: Le 20/09/2015 14:40, pdv a écrit : Hi, As of commit 9b7ccbf (the introduction of class InsetCaptionable) building LyX2.2 fails on OS X (with XCode and with autotools). This is the error message: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:2075:40: Constructor for 'std::__1::__libcpp_compressed_pair_imp, const lyx::Toc, 1>' must explicitly initialize the const member '__second_' .../lyx-22-qt5/src/frontends/qt4/TocModel.cpp:14:10: In file included from .../lyx-22-qt5/src/frontends/qt4/TocModel.cpp:14: .../lyx-22-qt5/src/frontends/qt4/TocModel.h:15:10: In file included from .../lyx-22-qt5-cmake-xcode/src/frontends/qt4/../../../../lyx-22-qt5/src/frontends/qt4/TocModel.h:15: .../lyx-22-qt5/src/support/shared_ptr.h:17:10: In file included from .../lyx-22-qt5/src/support/shared_ptr.h:17: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:2345:11: In instantiation of member function 'std::__1::__libcpp_compressed_pair_imp, const lyx::Toc, 1>::__libcpp_compressed_pair_imp' requested here /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:3727:12: In instantiation of member function 'std::__1::__compressed_pair, const lyx::Toc>::__compressed_pair' requested here /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:4308:26: In instantiation of member function 'std::__1::__shared_ptr_emplace >::__shared_ptr_emplace' requested here /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:4672:29: In instantiation of function template specialization 'std::__1::shared_ptr::make_shared<>' requested here .../lyx-22-qt5/src/frontends/qt4/TocModel.cpp:84:28: In instantiation of function template specialization 'std::__1::make_shared' requested here /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:2063:9: '__second_' declared here Apparently there is a bug in c++/v1/memory as reported here (http://lists.llvm.org/pipermail/llvm-bugs/2015-July/040892.html) After patching c++/v1/memory the compile error goes away but the link fails with undefined symbols. Undefined symbols for architecture x86_64: "lyx::InsetCaptionable::updateBuffer(lyx::ParIterator const&, lyx::UpdateType)", referenced from: vtable for lyx::InsetFloat in libinsets.a(InsetFloat.o) vtable for lyx::InsetListings in libinsets.a(InsetListings.o) lyx::InsetWrap::updateBuffer(lyx::ParIterator const&, lyx::UpdateType) in libinsets.a(InsetWrap.o) "lyx::InsetCaptionable::setCaptionType(std::__1::basic_string, std::__1::allocator > const&)", referenced from: lyx::InsetFloat::setCaptionType(std::__1::basic_string, std::__1::allocator > const&) in libinsets.a(InsetFloat.o) vtable for lyx::InsetListings in libinsets.a(InsetListings.o) lyx::InsetWrap::setCaptionType(std::__1::basic_string, std::__1::allocator > const&) in libinsets.a(InsetWrap.o) "lyx::InsetCaptionable::insetAllowed(lyx::InsetCode) const", referenced from: lyx::InsetFloat::insetAllowed(lyx::InsetCode) const in libinsets.a(InsetFloat.o) lyx::InsetWrap::insetAllowed(lyx::InsetCode) const in libinsets.a(InsetWrap.o) "lyx::InsetCaptionable::addToToc(lyx::DocIterator const&, bool) const", referenced from: vtable for lyx::InsetFloat in libinsets.a(InsetFloat.o) vtable for lyx::InsetListings in libinsets.a(InsetListings.o) vtable for lyx::InsetWrap in libinsets.a(InsetWrap.o) "lyx::InsetCaptionable::floatName(std::__1::basic_string, std::__1::allocator > const&) const", referenced from: lyx::InsetFloat::setCaptionType(std::__1::basic_string, std::__1::allocator > const&) in libinsets.a(InsetFloat.o) lyx::InsetFloat::setNewLabel() in libinsets.a(InsetFloat.o) lyx::InsetFloat::plaintext(std::__1::basic_ostringstream, std::__1::allocator >&, lyx::OutputParams const&, unsigned long) const in libinsets.a(InsetFloat.o) lyx::InsetWrap::setCaptionType(std::__1::basic_string, std::__1::allocator > const&) in libinsets.a(InsetWrap.o) lyx::InsetWrap::plaintext(std::__1::basic_ostringstream, std::__1::allocator >&, lyx::OutputParams const&, unsigned long) const in libinsets.a(InsetWrap.o) "typeinfo for lyx::InsetCaptionable", referenced from: typeinfo for lyx::InsetFloat in libinsets.a(InsetFloat.o) typeinfo for lyx::InsetListings in libinsets.a(InsetListings.o) typeinfo for lyx::InsetWrap in libinsets.a(InsetWrap.o) "vtable for lyx::InsetCaptionable", referenced from: lyx::InsetCaptionable::InsetCaptionable(lyx::Buffer*) in libinsets.a(InsetFloat.o) lyx::InsetCaptionable::~InsetCaptionable() in libinsets.a(InsetFloat.o) lyx::InsetCaptionable::InsetCaptionable(lyx
Re: LyX2.2 build fails on OS X
Le 20/09/2015 18:29, Jürgen Spitzmüller a écrit : Am Sonntag 20 September 2015, 18:08:38 schrieb Jürgen Spitzmüller: I have not explicitly disabled c++11, and it seems to use it: Configuration Host type: i686-pc-linux-gnu Special build flags: build=development warnings assertions stdlib-debug concept-checks c++11 use-aspell use-enchant use-hunspell C++ Compiler:g++ (4.8) C++ Compiler flags: -Wall -Wextra -g -O -std=c++11 C++ Compiler user flags: Linker flags: Linker user flags: Qt Frontend: Qt version: 4.8.6 Packaging: posix LyX binary dir: /usr/local/bin LyX files dir: /usr/local/share/lyx-svn FWIW, it compiles when I use --enable-qt5 Did you try with Qt4? Jürgen I understand that there are two separate issues: - There are errors looking like Uwe's if one uses --disable-cxx11, probably due to my latest patches. - There are errors looking like Richard's; they are already there at 65a95620. They no not occur with --enable-qt5.
Re: LyX2.2 build fails on OS X
Am Sonntag 20 September 2015, 18:08:38 schrieb Jürgen Spitzmüller: > I have not explicitly disabled c++11, and it seems to use it: > > Configuration > Host type: i686-pc-linux-gnu > Special build flags: build=development warnings assertions > stdlib-debug concept-checks c++11 use-aspell use-enchant use-hunspell > C++ Compiler:g++ (4.8) > C++ Compiler flags: -Wall -Wextra -g -O -std=c++11 > C++ Compiler user flags: > Linker flags: > Linker user flags: > Qt Frontend: > Qt version: 4.8.6 > Packaging: posix > LyX binary dir: /usr/local/bin > LyX files dir: /usr/local/share/lyx-svn FWIW, it compiles when I use --enable-qt5 Did you try with Qt4? Jürgen
Re: 2 compilation errors with current master
Am Sonntag, 20. September 2015 um 17:51:34, schrieb Guillaume Munch > Le 20/09/2015 17:05, Uwe Stöhr a écrit : > > I get 2 compilation errors with current master: > > > >..\..\src\TocBackend.cpp(191): error C2668: 'boost::make_shared': > > ambiguous call of an overloaded function > > [D:\LyXGit\Master\compile-result\src\LyX.vcxproj] > >..\..\src\TocBackend.cpp(191): error C2228: left of ".first" must be > > a class/structure/union. [D:\LyXGit\Master\compile-result\src\LyX.vcxproj] > > > > regards Uwe > > > > > Same answer as my previous message. Hoping that you have a "known good > compiler" you can reconfigure to enable c++11 automatically and work > around this bug until it is solved. How to enable C++11 on visual studio? I suppose we have to modify compiler flag detection in cmake build. Kornel signature.asc Description: This is a digitally signed message part.
Re: LyX2.2 build fails on OS X
Am Sonntag 20 September 2015, 17:46:05 schrieb Guillaume Munch: > If you configure again it should enable c++11 which is now activated by > default for "known good compilers". Unfortunately, recompiling (after make distclean) does not help. > This is still a bug because it has been decided that 2.2 will have to be > written in two standards: c++98 and c++11. But it should solve the issue > for you (unless you have a reason for using the --disable-cxx11 option) > while I work on the issue. > > Now and until 2.3, every commit has to be tested with the option > --disable-cxx11. My bad for forgetting to do so. I have not explicitly disabled c++11, and it seems to use it: Configuration Host type: i686-pc-linux-gnu Special build flags: build=development warnings assertions stdlib-debug concept-checks c++11 use-aspell use-enchant use-hunspell C++ Compiler:g++ (4.8) C++ Compiler flags: -Wall -Wextra -g -O -std=c++11 C++ Compiler user flags: Linker flags: Linker user flags: Qt Frontend: Qt version: 4.8.6 Packaging: posix LyX binary dir: /usr/local/bin LyX files dir: /usr/local/share/lyx-svn Jürgen
Re: Compilation Problem on Fedora
I tried building also with --disable-cxx11, and in that case I do not get the error above. But I do get the sort of error people are seeing on OSX: In file included from ../../../../src/frontends/qt4/Menus.cpp:56:0: ../../../../src/TocBackend.h: In instantiation of ‘void __gnu_cxx::_SGIAssignableConcept<_Tp>::__constraints() [with _Tp = lyx::TocBuilder::frame]’: /usr/include/c++/4.9.2/bits/stl_deque.h:739:248: required from ‘class std::__cxx1998::dequestd::allocator >’ /usr/include/c++/4.9.2/debug/deque:42:11: required from ‘class std::__debug::dequestd::allocator >’ /usr/include/c++/4.9.2/bits/stl_stack.h:102:46: required from ‘class std::stack’ ../../../../src/TocBackend.h:155:20: required from here ../../../../src/TocBackend.h:148:9: error: non-static const member ‘const size_type lyx::TocBuilder::frame::pos’, can’t use default assignment operator struct frame { ^ In file included from /usr/include/c++/4.9.2/bits/concept_check.h:55:0, from /usr/include/c++/4.9.2/bits/move.h:34, from /usr/include/c++/4.9.2/bits/stl_pair.h:59, from /usr/include/c++/4.9.2/utility:70, from /usr/include/c++/4.9.2/algorithm:60, from ../../../../boost/boost/function/detail/prologue.hpp:13, from ../../../../boost/boost/function.hpp:24, from ../../../../src/frontends/Application.h:21, from ../../../../src/frontends/qt4/GuiApplication.h:16, from ../../../../src/frontends/qt4/Menus.cpp:22: /usr/include/c++/4.9.2/bits/boost_concept_check.h:206:11: note: synthesized method ‘lyx::TocBuilder::frame& lyx::TocBuilder::frame::operator=(const lyx::TocBuilder::frame&)’ first required here __a = __a;// require assignment operator ^ Makefile:968: recipe for target 'Menus.o' failed Richard
Compilation Problem on Fedora
The error message is below. I can't make much of it. I think the key part must be: ../../../src/support/debug.cpp:205:39: required from here /usr/include/c++/4.9.2/bits/stl_algobase.h:336:18: error: use of deleted function ‘std::__detail::_StateSeq >& std::__detail::_StateSeq >::operator=(const std::__detail::_StateSeq >&)’ Earlier there is: /usr/include/c++/4.9.2/bits/regex_automaton.h:265:11: note: ‘std::__detail::_StateSeq >& std::__detail::_StateSeq >::operator=(const std::__detail::_StateSeq >&)’ is implicitly deleted because the default definition would be ill-formed: class _StateSeq ^ This is with an up-to-date master and re-generated build directory. gcc is 4.9.2. Richard = make[5]: Entering directory '/music/cvs/lyx/lyx-devel/build/src/support' CXX debug.o In file included from /usr/include/c++/4.9.2/bits/concept_check.h:55:0, from /usr/include/c++/4.9.2/bits/move.h:34, from /usr/include/c++/4.9.2/bits/stl_pair.h:59, from /usr/include/c++/4.9.2/bits/stl_algobase.h:64, from /usr/include/c++/4.9.2/bits/stl_tree.h:61, from /usr/include/c++/4.9.2/set:60, from ../../../src/support/../support/FileName.h:19, from ../../../src/support/debug.cpp:17: /usr/include/c++/4.9.2/bits/boost_concept_check.h: In instantiation of ‘void __gnu_cxx::_SGIAssignableConcept<_Tp>::__constraints() [with _Tp = std::__detail::_StateSeq >]’: /usr/include/c++/4.9.2/bits/stl_deque.h:739:248: required from ‘class std::__cxx1998::deque >, std::allocator > > >’ /usr/include/c++/4.9.2/debug/deque:42:11: required from ‘class std::__debug::deque >, std::allocator > > >’ /usr/include/c++/4.9.2/bits/stl_stack.h:102:46: required from ‘class std::stack >, std::__debug::deque >, std::allocator > > > >’ /usr/include/c++/4.9.2/bits/regex_compiler.h:144:15: required from ‘class std::__detail::_Compiler >’ /usr/include/c++/4.9.2/bits/regex_compiler.h:155:68: required from ‘std::shared_ptr > std::__detail::__compile_nfa(const typename _TraitsT::char_type*, const typename _TraitsT::char_type*, const _TraitsT&, std::regex_constants::syntax_option_type) [with _TraitsT = std::regex_traits; typename _TraitsT::char_type = char]’ /usr/include/c++/4.9.2/bits/regex.h:540:21: required from ‘std::basic_regex< , >::basic_regex(_FwdIter, _FwdIter, std::basic_regex< , >::flag_type) [with _FwdIter = const char*; _Ch_type = char; _Rx_traits = std::regex_traits; std::basic_regex< , >::flag_type = std::regex_constants::syntax_option_type]’ /usr/include/c++/4.9.2/bits/regex.h:452:71: required from ‘std::basic_regex< , >::basic_regex(const _Ch_type*, std::basic_regex< , >::flag_type) [with _Ch_type = char; _Rx_traits = std::regex_traits; std::basic_regex< , >::flag_type = std::regex_constants::syntax_option_type]’ ../../../src/support/debug.cpp:205:39: required from here /usr/include/c++/4.9.2/bits/boost_concept_check.h:206:11: error: use of deleted function ‘std::__detail::_StateSeq >& std::__detail::_StateSeq >::operator=(const std::__detail::_StateSeq >&)’ __a = __a;// require assignment operator ^ In file included from /usr/include/c++/4.9.2/regex:57:0, from ../../../src/support/../support/regex.h:16, from ../../../src/support/debug.cpp:21: /usr/include/c++/4.9.2/bits/regex_automaton.h:265:11: note: ‘std::__detail::_StateSeq >& std::__detail::_StateSeq >::operator=(const std::__detail::_StateSeq >&)’ is implicitly deleted because the default definition would be ill-formed: class _StateSeq ^ /usr/include/c++/4.9.2/bits/regex_automaton.h:265:11: error: non-static reference member ‘std::__detail::_StateSeq >::_RegexT& std::__detail::_StateSeq >::_M_nfa’, can’t use default assignment operator In file included from /usr/include/c++/4.9.2/deque:66:0, from /usr/include/c++/4.9.2/stack:60, from /usr/include/c++/4.9.2/regex:48, from ../../../src/support/../support/regex.h:16, from ../../../src/support/debug.cpp:21: /usr/include/c++/4.9.2/bits/deque.tcc: In instantiation of ‘std::__cxx1998::deque<_Tp, _Alloc>::iterator std::__cxx1998::deque<_Tp, _Alloc>::_M_insert_aux(std::__cxx1998::deque<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const std::__detail::_StateSeq >&}; _Tp = std::__detail::_StateSeq >; _Alloc = std::allocator > >; std::__cxx1998::deque<_Tp, _Alloc>::iterator = std::__cxx1998::_Deque_iterator >, std::__detail::_StateSeq >&, std::__detail::_StateSeq >*>]’: /usr/include/c++/4.9.2/bits/deque.tcc:193:54: required from ‘std::__cxx1998::deque<_Tp, _Alloc>::iterator std::__cxx1998::deque<_Tp, _Alloc>::insert(std::__cxx1998::deque<_Tp, _Alloc>::const_iterator, const value_type&) [with _Tp = std::__detail::_StateSeq >; _Alloc = std::allocator > >;
Re: 2 compilation errors with current master
Le 20/09/2015 17:05, Uwe Stöhr a écrit : I get 2 compilation errors with current master: ..\..\src\TocBackend.cpp(191): error C2668: 'boost::make_shared': ambiguous call of an overloaded function [D:\LyXGit\Master\compile-result\src\LyX.vcxproj] ..\..\src\TocBackend.cpp(191): error C2228: left of ".first" must be a class/structure/union. [D:\LyXGit\Master\compile-result\src\LyX.vcxproj] regards Uwe Same answer as my previous message. Hoping that you have a "known good compiler" you can reconfigure to enable c++11 automatically and work around this bug until it is solved.
Re: LyX2.2 build fails on OS X
Le 20/09/2015 14:49, Jürgen Spitzmüller a écrit : Master fails to compile for me as well, this is on openSuse 13.1 with gcc- Version 4.8.3 20140627 [gcc-4_8-branch revision 212064] (SUSE Linux) and autotools: make[6]: Entering directory '/home/juergen/lyx/lyx-devel/src/frontends/qt4' CXX Menus.o In file included from /usr/include/c++/4.8/bits/concept_check.h:55:0, from /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:64, from /usr/include/c++/4.8/iterator:62, from /usr/include/QtCore/qlist.h:54, from /usr/include/QtCore/qobject.h:50, from /usr/include/QtGui/qwidget.h:47, from /usr/include/QtGui/qmenu.h:45, from /usr/include/QtGui/QMenu:1, from Menus.h:16, from Menus.cpp:19: /usr/include/c++/4.8/bits/boost_concept_check.h: In instantiation of ‘void __gnu_cxx::_SGIAssignableConcept<_Tp>::__constraints() [with _Tp = lyx::TocBuilder::frame]’: /usr/include/c++/4.8/bits/stl_deque.h:734:7: required from ‘class std::__cxx1998::deque >’ /usr/include/c++/4.8/debug/deque:42:11: required from ‘class std::__debug::deque >’ /usr/include/c++/4.8/bits/stl_stack.h:99:46: required from ‘class std::stack’ ../../../src/TocBackend.h:155:20: required from here /usr/include/c++/4.8/bits/boost_concept_check.h:206:11: error: use of deleted function ‘lyx::TocBuilder::frame& lyx::TocBuilder::frame::operator=(const lyx::TocBuilder::frame&)’ __a = __a;// require assignment operator ^ In file included from Menus.cpp:56:0: ../../../src/TocBackend.h:148:9: note: ‘lyx::TocBuilder::frame& lyx::TocBuilder::frame::operator=(const lyx::TocBuilder::frame&)’ is implicitly deleted because the default definition would be ill-formed: struct frame { ^ ../../../src/TocBackend.h:148:9: error: non-static const member ‘const size_type lyx::TocBuilder::frame::pos’, can’t use default assignment operator In file included from /usr/include/c++/4.8/deque:66:0, from /usr/include/c++/4.8/queue:60, from ../../../src/Graph.h:18, from ../../../src/Converter.h:15, from Menus.cpp:33: /usr/include/c++/4.8/bits/deque.tcc: In instantiation of ‘std::__cxx1998::deque<_Tp, _Alloc>::iterator std::__cxx1998::deque<_Tp, _Alloc>::_M_insert_aux(std::__cxx1998::deque<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const lyx::TocBuilder::frame&}; _Tp = lyx::TocBuilder::frame; _Alloc = std::allocator; std::__cxx1998::deque<_Tp, _Alloc>::iterator = std::__cxx1998::_Deque_iterator]’: /usr/include/c++/4.8/bits/deque.tcc:164:45: required from ‘std::__cxx1998::deque<_Tp, _Alloc>::iterator std::__cxx1998::deque<_Tp, _Alloc>::insert(std::__cxx1998::deque<_Tp, _Alloc>::iterator, const value_type&) [with _Tp = lyx::TocBuilder::frame; _Alloc = std::allocator; std::__cxx1998::deque<_Tp, _Alloc>::iterator = std::__cxx1998::_Deque_iterator; std::__cxx1998::deque<_Tp, _Alloc>::value_type = lyx::TocBuilder::frame]’ /usr/include/c++/4.8/debug/deque:400:61: required from ‘std::__debug::deque<_Tp, _Allocator>::iterator std::__debug::deque<_Tp, _Allocator>::insert(std::__debug::deque<_Tp, _Allocator>::iterator, const _Tp&) [with _Tp = lyx::TocBuilder::frame; _Allocator = std::allocator; std::__debug::deque<_Tp, _Allocator>::iterator = __gnu_debug::_Safe_iterator, std::__debug::deque > >; typename std::__cxx1998::deque<_Tp, _Alloc>::iterator = std::__cxx1998::_Deque_iterator]’ /usr/include/c++/4.8/bits/boost_concept_check.h:730:7: required from ‘void __gnu_cxx::_SequenceConcept<_Sequence>::__constraints() [with _Sequence = std::__debug::deque >]’ /usr/include/c++/4.8/bits/boost_concept_check.h:59:39: required from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_SequenceConcept > >]’ /usr/include/c++/4.8/bits/boost_concept_check.h:770:71: required from ‘void __gnu_cxx::_BackInsertionSequenceConcept<_BackInsertionSequence>::__constraints() [with _BackInsertionSequence = std::__debug::deque >]’ /usr/include/c++/4.8/bits/stl_stack.h:101:7: required from ‘class std::stack’ ../../../src/TocBackend.h:155:20: required from here /usr/include/c++/4.8/bits/deque.tcc:621:9: error: use of deleted function ‘lyx::TocBuilder::frame& lyx::TocBuilder::frame::operator=(lyx::TocBuilder::frame&&)’ *__pos = _GLIBCXX_MOVE(__x_copy); ^ In file included from Menus.cpp:56:0: ../../../src/TocBackend.h:148:9: note: ‘lyx::TocBuilder::frame& lyx::TocBuilder::frame::operator=(lyx::TocBuilder::frame&&)’ is implicitly deleted because the default definition would be ill-formed: struct frame { ^ ../../../src/TocBackend.h:148:9: error: non-static const member ‘const size_type lyx::TocBuilder::frame::pos’, can’t use default assignment operator In file included from /usr/include/c++/4.8/bits/concept_check.h:55:0, from /usr/include/c++/4.8/bits/stl
Re: LyX2.2 build fails on OS X
Le 20/09/2015 14:40, pdv a écrit : Hi, As of commit 9b7ccbf (the introduction of class InsetCaptionable) building LyX2.2 fails on OS X (with XCode and with autotools). This is the error message: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:2075:40: Constructor for 'std::__1::__libcpp_compressed_pair_imp, const lyx::Toc, 1>' must explicitly initialize the const member '__second_' .../lyx-22-qt5/src/frontends/qt4/TocModel.cpp:14:10: In file included from .../lyx-22-qt5/src/frontends/qt4/TocModel.cpp:14: .../lyx-22-qt5/src/frontends/qt4/TocModel.h:15:10: In file included from .../lyx-22-qt5-cmake-xcode/src/frontends/qt4/../../../../lyx-22-qt5/src/frontends/qt4/TocModel.h:15: .../lyx-22-qt5/src/support/shared_ptr.h:17:10: In file included from .../lyx-22-qt5/src/support/shared_ptr.h:17: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:2345:11: In instantiation of member function 'std::__1::__libcpp_compressed_pair_imp, const lyx::Toc, 1>::__libcpp_compressed_pair_imp' requested here /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:3727:12: In instantiation of member function 'std::__1::__compressed_pair, const lyx::Toc>::__compressed_pair' requested here /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:4308:26: In instantiation of member function 'std::__1::__shared_ptr_emplace >::__shared_ptr_emplace' requested here /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:4672:29: In instantiation of function template specialization 'std::__1::shared_ptr::make_shared<>' requested here .../lyx-22-qt5/src/frontends/qt4/TocModel.cpp:84:28: In instantiation of function template specialization 'std::__1::make_shared' requested here /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:2063:9: '__second_' declared here Apparently there is a bug in c++/v1/memory as reported here (http://lists.llvm.org/pipermail/llvm-bugs/2015-July/040892.html) After patching c++/v1/memory the compile error goes away but the link fails with undefined symbols. Undefined symbols for architecture x86_64: "lyx::InsetCaptionable::updateBuffer(lyx::ParIterator const&, lyx::UpdateType)", referenced from: vtable for lyx::InsetFloat in libinsets.a(InsetFloat.o) vtable for lyx::InsetListings in libinsets.a(InsetListings.o) lyx::InsetWrap::updateBuffer(lyx::ParIterator const&, lyx::UpdateType) in libinsets.a(InsetWrap.o) "lyx::InsetCaptionable::setCaptionType(std::__1::basic_string, std::__1::allocator > const&)", referenced from: lyx::InsetFloat::setCaptionType(std::__1::basic_string, std::__1::allocator > const&) in libinsets.a(InsetFloat.o) vtable for lyx::InsetListings in libinsets.a(InsetListings.o) lyx::InsetWrap::setCaptionType(std::__1::basic_string, std::__1::allocator > const&) in libinsets.a(InsetWrap.o) "lyx::InsetCaptionable::insetAllowed(lyx::InsetCode) const", referenced from: lyx::InsetFloat::insetAllowed(lyx::InsetCode) const in libinsets.a(InsetFloat.o) lyx::InsetWrap::insetAllowed(lyx::InsetCode) const in libinsets.a(InsetWrap.o) "lyx::InsetCaptionable::addToToc(lyx::DocIterator const&, bool) const", referenced from: vtable for lyx::InsetFloat in libinsets.a(InsetFloat.o) vtable for lyx::InsetListings in libinsets.a(InsetListings.o) vtable for lyx::InsetWrap in libinsets.a(InsetWrap.o) "lyx::InsetCaptionable::floatName(std::__1::basic_string, std::__1::allocator > const&) const", referenced from: lyx::InsetFloat::setCaptionType(std::__1::basic_string, std::__1::allocator > const&) in libinsets.a(InsetFloat.o) lyx::InsetFloat::setNewLabel() in libinsets.a(InsetFloat.o) lyx::InsetFloat::plaintext(std::__1::basic_ostringstream, std::__1::allocator >&, lyx::OutputParams const&, unsigned long) const in libinsets.a(InsetFloat.o) lyx::InsetWrap::setCaptionType(std::__1::basic_string, std::__1::allocator > const&) in libinsets.a(InsetWrap.o) lyx::InsetWrap::plaintext(std::__1::basic_ostringstream, std::__1::allocator >&, lyx::OutputParams const&, unsigned long) const in libinsets.a(InsetWrap.o) "typeinfo for lyx::InsetCaptionable", referenced from: typeinfo for lyx::InsetFloat in libinsets.a(InsetFloat.o) typeinfo for lyx::InsetListings in libinsets.a(InsetListings.o) typeinfo for lyx::InsetWrap in libinsets.a(InsetWrap.o) "vtable for lyx::InsetCaptionable", referenced from: lyx::InsetCaptionable::InsetCaptionable(lyx::Buffer*) in libinsets.a(InsetFloat.o) lyx::InsetCaptionable::~InsetCaptionable() in libinsets.a(InsetFloat.o) lyx::InsetCaptionable::InsetCaptionable(lyx::InsetCaptionable const&) in libinsets.a(InsetFlo
2 compilation errors with current master
I get 2 compilation errors with current master: ..\..\src\TocBackend.cpp(191): error C2668: 'boost::make_shared': ambiguous call of an overloaded function [D:\LyXGit\Master\compile-result\src\LyX.vcxproj] ..\..\src\TocBackend.cpp(191): error C2228: left of ".first" must be a class/structure/union. [D:\LyXGit\Master\compile-result\src\LyX.vcxproj] regards Uwe
Re: LyX2.2 build fails on OS X
Master fails to compile for me as well, this is on openSuse 13.1 with gcc- Version 4.8.3 20140627 [gcc-4_8-branch revision 212064] (SUSE Linux) and autotools: make[6]: Entering directory '/home/juergen/lyx/lyx-devel/src/frontends/qt4' CXX Menus.o In file included from /usr/include/c++/4.8/bits/concept_check.h:55:0, from /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:64, from /usr/include/c++/4.8/iterator:62, from /usr/include/QtCore/qlist.h:54, from /usr/include/QtCore/qobject.h:50, from /usr/include/QtGui/qwidget.h:47, from /usr/include/QtGui/qmenu.h:45, from /usr/include/QtGui/QMenu:1, from Menus.h:16, from Menus.cpp:19: /usr/include/c++/4.8/bits/boost_concept_check.h: In instantiation of ‘void __gnu_cxx::_SGIAssignableConcept<_Tp>::__constraints() [with _Tp = lyx::TocBuilder::frame]’: /usr/include/c++/4.8/bits/stl_deque.h:734:7: required from ‘class std::__cxx1998::deque >’ /usr/include/c++/4.8/debug/deque:42:11: required from ‘class std::__debug::deque >’ /usr/include/c++/4.8/bits/stl_stack.h:99:46: required from ‘class std::stack’ ../../../src/TocBackend.h:155:20: required from here /usr/include/c++/4.8/bits/boost_concept_check.h:206:11: error: use of deleted function ‘lyx::TocBuilder::frame& lyx::TocBuilder::frame::operator=(const lyx::TocBuilder::frame&)’ __a = __a;// require assignment operator ^ In file included from Menus.cpp:56:0: ../../../src/TocBackend.h:148:9: note: ‘lyx::TocBuilder::frame& lyx::TocBuilder::frame::operator=(const lyx::TocBuilder::frame&)’ is implicitly deleted because the default definition would be ill-formed: struct frame { ^ ../../../src/TocBackend.h:148:9: error: non-static const member ‘const size_type lyx::TocBuilder::frame::pos’, can’t use default assignment operator In file included from /usr/include/c++/4.8/deque:66:0, from /usr/include/c++/4.8/queue:60, from ../../../src/Graph.h:18, from ../../../src/Converter.h:15, from Menus.cpp:33: /usr/include/c++/4.8/bits/deque.tcc: In instantiation of ‘std::__cxx1998::deque<_Tp, _Alloc>::iterator std::__cxx1998::deque<_Tp, _Alloc>::_M_insert_aux(std::__cxx1998::deque<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const lyx::TocBuilder::frame&}; _Tp = lyx::TocBuilder::frame; _Alloc = std::allocator; std::__cxx1998::deque<_Tp, _Alloc>::iterator = std::__cxx1998::_Deque_iterator]’: /usr/include/c++/4.8/bits/deque.tcc:164:45: required from ‘std::__cxx1998::deque<_Tp, _Alloc>::iterator std::__cxx1998::deque<_Tp, _Alloc>::insert(std::__cxx1998::deque<_Tp, _Alloc>::iterator, const value_type&) [with _Tp = lyx::TocBuilder::frame; _Alloc = std::allocator; std::__cxx1998::deque<_Tp, _Alloc>::iterator = std::__cxx1998::_Deque_iterator; std::__cxx1998::deque<_Tp, _Alloc>::value_type = lyx::TocBuilder::frame]’ /usr/include/c++/4.8/debug/deque:400:61: required from ‘std::__debug::deque<_Tp, _Allocator>::iterator std::__debug::deque<_Tp, _Allocator>::insert(std::__debug::deque<_Tp, _Allocator>::iterator, const _Tp&) [with _Tp = lyx::TocBuilder::frame; _Allocator = std::allocator; std::__debug::deque<_Tp, _Allocator>::iterator = __gnu_debug::_Safe_iterator, std::__debug::deque > >; typename std::__cxx1998::deque<_Tp, _Alloc>::iterator = std::__cxx1998::_Deque_iterator]’ /usr/include/c++/4.8/bits/boost_concept_check.h:730:7: required from ‘void __gnu_cxx::_SequenceConcept<_Sequence>::__constraints() [with _Sequence = std::__debug::deque >]’ /usr/include/c++/4.8/bits/boost_concept_check.h:59:39: required from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_SequenceConcept > >]’ /usr/include/c++/4.8/bits/boost_concept_check.h:770:71: required from ‘void __gnu_cxx::_BackInsertionSequenceConcept<_BackInsertionSequence>::__constraints() [with _BackInsertionSequence = std::__debug::deque >]’ /usr/include/c++/4.8/bits/stl_stack.h:101:7: required from ‘class std::stack’ ../../../src/TocBackend.h:155:20: required from here /usr/include/c++/4.8/bits/deque.tcc:621:9: error: use of deleted function ‘lyx::TocBuilder::frame& lyx::TocBuilder::frame::operator=(lyx::TocBuilder::frame&&)’ *__pos = _GLIBCXX_MOVE(__x_copy); ^ In file included from Menus.cpp:56:0: ../../../src/TocBackend.h:148:9: note: ‘lyx::TocBuilder::frame& lyx::TocBuilder::frame::operator=(lyx::TocBuilder::frame&&)’ is implicitly deleted because the default definition would be ill-formed: struct frame { ^ ../../../src/TocBackend.h:148:9: error: non-static const member ‘const size_type lyx::TocBuilder::frame::pos’, can’t use default assignment operator In file included from /usr/include/c++/4.8/bits/concept_check.h:55:0, from /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:64,
LyX2.2 build fails on OS X
Hi, As of commit 9b7ccbf (the introduction of class InsetCaptionable) building LyX2.2 fails on OS X (with XCode and with autotools). This is the error message: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:2075:40: Constructor for 'std::__1::__libcpp_compressed_pair_implyx::Toc>, const lyx::Toc, 1>' must explicitly initialize the const member '__second_' .../lyx-22-qt5/src/frontends/qt4/TocModel.cpp:14:10: In file included from .../lyx-22-qt5/src/frontends/qt4/TocModel.cpp:14: .../lyx-22-qt5/src/frontends/qt4/TocModel.h:15:10: In file included from .../lyx-22-qt5-cmake-xcode/src/frontends/qt4/../../../../lyx-22-qt5/src/frontends/qt4/TocModel.h:15: .../lyx-22-qt5/src/support/shared_ptr.h:17:10: In file included from .../lyx-22-qt5/src/support/shared_ptr.h:17: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:2345:11: In instantiation of member function 'std::__1::__libcpp_compressed_pair_implyx::Toc>, const lyx::Toc, 1>::__libcpp_compressed_pair_imp' requested here /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:3727:12: In instantiation of member function 'std::__1::__compressed_pair, const lyx::Toc>::__compressed_pair' requested here /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:4308:26: In instantiation of member function 'std::__1::__shared_ptr_emplacestd::__1::allocator >::__shared_ptr_emplace' requested here /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:4672:29: In instantiation of function template specialization 'std::__1::shared_ptr::make_shared<>' requested here .../lyx-22-qt5/src/frontends/qt4/TocModel.cpp:84:28: In instantiation of function template specialization 'std::__1::make_shared' requested here /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:2063:9: '__second_' declared here Apparently there is a bug in c++/v1/memory as reported here (http://lists.llvm.org/pipermail/llvm-bugs/2015-July/040892.html) After patching c++/v1/memory the compile error goes away but the link fails with undefined symbols. Undefined symbols for architecture x86_64: "lyx::InsetCaptionable::updateBuffer(lyx::ParIterator const&, lyx::UpdateType)", referenced from: vtable for lyx::InsetFloat in libinsets.a(InsetFloat.o) vtable for lyx::InsetListings in libinsets.a(InsetListings.o) lyx::InsetWrap::updateBuffer(lyx::ParIterator const&, lyx::UpdateType) in libinsets.a(InsetWrap.o) "lyx::InsetCaptionable::setCaptionType(std::__1::basic_stringstd::__1::char_traits, std::__1::allocator > const&)", referenced from: lyx::InsetFloat::setCaptionType(std::__1::basic_stringstd::__1::char_traits, std::__1::allocator > const&) in libinsets.a(InsetFloat.o) vtable for lyx::InsetListings in libinsets.a(InsetListings.o) lyx::InsetWrap::setCaptionType(std::__1::basic_stringstd::__1::char_traits, std::__1::allocator > const&) in libinsets.a(InsetWrap.o) "lyx::InsetCaptionable::insetAllowed(lyx::InsetCode) const", referenced from: lyx::InsetFloat::insetAllowed(lyx::InsetCode) const in libinsets.a(InsetFloat.o) lyx::InsetWrap::insetAllowed(lyx::InsetCode) const in libinsets.a(InsetWrap.o) "lyx::InsetCaptionable::addToToc(lyx::DocIterator const&, bool) const", referenced from: vtable for lyx::InsetFloat in libinsets.a(InsetFloat.o) vtable for lyx::InsetListings in libinsets.a(InsetListings.o) vtable for lyx::InsetWrap in libinsets.a(InsetWrap.o) "lyx::InsetCaptionable::floatName(std::__1::basic_stringstd::__1::char_traits, std::__1::allocator > const&) const", referenced from: lyx::InsetFloat::setCaptionType(std::__1::basic_stringstd::__1::char_traits, std::__1::allocator > const&) in libinsets.a(InsetFloat.o) lyx::InsetFloat::setNewLabel() in libinsets.a(InsetFloat.o) lyx::InsetFloat::plaintext(std::__1::basic_ostringstreamstd::__1::char_traits, std::__1::allocator >&, lyx::OutputParams const&, unsigned long) const in libinsets.a(InsetFloat.o) lyx::InsetWrap::setCaptionType(std::__1::basic_stringstd::__1::char_traits, std::__1::allocator > const&) in libinsets.a(InsetWrap.o) lyx::InsetWrap::plaintext(std::__1::basic_ostringstreamstd::__1::char_traits, std::__1::allocator >&, lyx::OutputParams const&, unsigned long) const in libinsets.a(InsetWrap.o) "typeinfo for lyx::InsetCaptionable", referenced from: typeinfo for lyx::InsetFloat in libinsets.a(InsetFloat.o) typeinfo for lyx::InsetListings in libinsets.a(InsetListings.o) typeinfo for lyx::InsetWrap in libinsets.a(InsetWrap.o) "vtable for lyx::InsetCaptionable", referenced from: lyx::InsetCaptionable::InsetCaptionable(lyx::Buffer*) in libinsets.a(InsetFl