Le 10/06/2016 11:19, Jean-Marc Lasgouttes a écrit :
Le 07/06/2016 à 19:05, Guillaume Munch a écrit :
It says that it picked the wrong constructor for the pair, that requires
a copyable object. Which precise version of g++ 4.6 do you have? In
4.6.3 pairs accept movable objects. Maybe it fails to generate the
default move constructor. Can you try adding to the declaration of
IconvProcessor?
IconvProcessor(IconvProcessor &&) = default;
I see that you did that. My version of gcc is 4.6.3.
If that's the problem, then it's indeed an incomplete c++11 support,
which requires the move constructor to be implicitly defined in this
context.
I still get the following errors when compiling unicode.cpp:
../../../master/src/support/unicode.cpp:267:55: instantiated from here
/usr/include/c++/4.6/bits/stl_pair.h:104:31: erreur: no matching
function for call to ‘lyx::IconvProcessor::IconvProcessor(const
lyx::IconvProcessor&)’
../../../master/src/support/unicode.cpp:267:55: instantiated from here
/usr/include/c++/4.6/bits/stl_pair.h:137:40: erreur: use of deleted
function ‘lyx::IconvProcessor::IconvProcessor(lyx::IconvProcessor&&)’
../../../master/src/support/unicode.cpp:267:56: instantiated from here
/usr/include/c++/4.6/bits/stl_pair.h:137:40: erreur: use of deleted
function ‘lyx::IconvProcessor::IconvProcessor(lyx::IconvProcessor&&)’
I have attached my version of stl_pair.h for reference.
JMarc
Thanks. It works here with gcc 4.7. I do not have access to 4.6 to
tinker around. I do not know what to do, this does not make sense to me.
I am in favour of dropping 4.6. For instance for 12.04LTS, there is
gcc-4.7.0 (4.7.2 in updates) and it would be a miracle anyway if LyX 2.3
was released before the end of life of 12.04LTS (April 2017).