Closed marguerite closed 3 years ago
Hi, libime 1.0.7 on openSUSE Leap 15.2 with boost 1.66 failed with this error
[ 42s] [ 33%] Building CXX object src/libime/core/CMakeFiles/IMECore.dir/decoder.cpp.o [ 42s] cd /home/abuild/rpmbuild/BUILD/libime-1.0.7/build/src/libime/core && /usr/bin/c++ -DIMECore_EXPORTS -DKENLM_MAX_ORDER=3 -I/home/abuild/rpmbuild/BUILD/libime-1.0.7/build -I/home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/../.. -I/home/abuild/rpmbuild/BUILD/libime-1.0.7/build/src/libime/core -I/home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/kenlm -isystem /usr/include/Fcitx5/Utils -Wall -Wextra -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -DNDEBUG -O2 -g -DNDEBUG -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++1z -o CMakeFiles/IMECore.dir/decoder.cpp.o -c /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/decoder.cpp [ 42s] /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/decoder.cpp: In member function ‘bool libime::DecoderPrivate::buildLattice(const libime::Decoder, libime::Lattice&, const std::unordered_set<const libime::SegmentGraphNode>&, const State&, const libime::SegmentGraph&, size_t, void) const’: [ 42s] /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/decoder.cpp:130:50: error: no matching function for call to ‘boost::ptr_vector::push_back(std::remove_reference<std::unique_ptr&>::type)’ [ 42s] latticeUnit.push_back(std::move(node)); [ 42s] ^ [ 42s] In file included from /usr/include/boost/ptr_container/ptr_list.hpp:19:0, [ 42s] from /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/../../libime/core/segmentgraph.h:11, [ 42s] from /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/../../libime/core/lattice.h:16, [ 42s] from /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/../../libime/core/dictionary.h:9, [ 42s] from /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/decoder.h:12, [ 42s] from /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/decoder.cpp:7: [ 42s] /usr/include/boost/ptr_container/ptr_sequence_adapter.hpp:244:14: note: candidate: void boost::ptr_sequence_adapter<T, VoidPtrSeq, CloneAllocator>::push_back(boost::ptr_sequence_adapter<T, VoidPtrSeq, CloneAllocator>::value_type) [with T = libime::LatticeNode; VoidPtrSeq = std::vector<void, std::allocator<void> >; CloneAllocator = boost::heap_clone_allocator; boost::ptr_sequence_adapter<T, VoidPtrSeq, CloneAllocator>::value_type = libime::LatticeNode] [ 42s] void push_back( value_type x ) // strong [ 42s] ^~~~~ [ 42s] /usr/include/boost/ptr_container/ptr_sequence_adapter.hpp:244:14: note: no known conversion for argument 1 from ‘std::remove_reference<std::unique_ptr&>::type {aka std::unique_ptr}’ to ‘boost::ptr_sequence_adapter<libime::LatticeNode, std::vector<void, std::allocator<void> >, boost::heap_clone_allocator>::value_type {aka libime::LatticeNode}’ [ 42s] /usr/include/boost/ptr_container/ptr_sequence_adapter.hpp:253:14: note: candidate: template void boost::ptr_sequence_adapter<T, VoidPtrSeq, CloneAllocator>::push_back(std::auto_ptr<_Up>) [with U = U; T = libime::LatticeNode; VoidPtrSeq = std::vector<void, std::allocator<void*> >; CloneAllocator = boost::heap_clone_allocator] [ 42s] void push_back( std::auto_ptr x ) [ 42s] ^~~~~ [ 42s] /usr/include/boost/ptr_container/ptr_sequence_adapter.hpp:253:14: note: template argument deduction/substitution failed: [ 42s] /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/decoder.cpp:130:50: note: ‘std::unique_ptr’ is not derived from ‘std::auto_ptr<_Up>’ [ 42s] latticeUnit.push_back(std::move(node)); [ 42s] ^ [ 42s] make[2]: *** [src/libime/core/CMakeFiles/IMECore.dir/build.make:96: src/libime/core/CMakeFiles/IMECore.dir/decoder.cpp.o] Error 1 [ 42s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libime-1.0.7/build'
Hi, libime 1.0.7 on openSUSE Leap 15.2 with boost 1.66 failed with this error
[ 42s] [ 33%] Building CXX object src/libime/core/CMakeFiles/IMECore.dir/decoder.cpp.o [ 42s] cd /home/abuild/rpmbuild/BUILD/libime-1.0.7/build/src/libime/core && /usr/bin/c++ -DIMECore_EXPORTS -DKENLM_MAX_ORDER=3 -I/home/abuild/rpmbuild/BUILD/libime-1.0.7/build -I/home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/../.. -I/home/abuild/rpmbuild/BUILD/libime-1.0.7/build/src/libime/core -I/home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/kenlm -isystem /usr/include/Fcitx5/Utils -Wall -Wextra -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -DNDEBUG -O2 -g -DNDEBUG -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++1z -o CMakeFiles/IMECore.dir/decoder.cpp.o -c /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/decoder.cpp [ 42s] /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/decoder.cpp: In member function ‘bool libime::DecoderPrivate::buildLattice(const libime::Decoder, libime::Lattice&, const std::unordered_set<const libime::SegmentGraphNode>&, const State&, const libime::SegmentGraph&, size_t, void) const’: [ 42s] /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/decoder.cpp:130:50: error: no matching function for call to ‘boost::ptr_vector::push_back(std::remove_reference<std::unique_ptr&>::type)’
[ 42s] latticeUnit.push_back(std::move(node));
[ 42s] ^
[ 42s] In file included from /usr/include/boost/ptr_container/ptr_list.hpp:19:0,
[ 42s] from /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/../../libime/core/segmentgraph.h:11,
[ 42s] from /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/../../libime/core/lattice.h:16,
[ 42s] from /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/../../libime/core/dictionary.h:9,
[ 42s] from /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/decoder.h:12,
[ 42s] from /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/decoder.cpp:7:
[ 42s] /usr/include/boost/ptr_container/ptr_sequence_adapter.hpp:244:14: note: candidate: void boost::ptr_sequence_adapter<T, VoidPtrSeq, CloneAllocator>::push_back(boost::ptr_sequence_adapter<T, VoidPtrSeq, CloneAllocator>::value_type) [with T = libime::LatticeNode; VoidPtrSeq = std::vector<void , std::allocator<void> >; CloneAllocator = boost::heap_clone_allocator; boost::ptr_sequence_adapter<T, VoidPtrSeq, CloneAllocator>::value_type = libime::LatticeNode]
[ 42s] void push_back( value_type x ) // strong
[ 42s] ^&>::type {aka std::unique_ptr}’ to ‘boost::ptr_sequence_adapter<libime::LatticeNode, std::vector<void, std::allocator<void> >, boost::heap_clone_allocator>::value_type {aka libime::LatticeNode}’
[ 42s] /usr/include/boost/ptr_container/ptr_sequence_adapter.hpp:253:14: note: candidate: template void boost::ptr_sequence_adapter<T, VoidPtrSeq, CloneAllocator>::push_back(std::auto_ptr<_Up>) [with U = U; T = libime::LatticeNode; VoidPtrSeq = std::vector<void , std::allocator<void*> >; CloneAllocator = boost::heap_clone_allocator]
[ 42s] void push_back( std::auto_ptr x )
[ 42s] ^’ is not derived from ‘std::auto_ptr<_Up>’
[ 42s] latticeUnit.push_back(std::move(node));
[ 42s] ^
[ 42s] make[2]: *** [src/libime/core/CMakeFiles/IMECore.dir/build.make:96: src/libime/core/CMakeFiles/IMECore.dir/decoder.cpp.o] Error 1
[ 42s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libime-1.0.7/build'
~~~~ [ 42s] /usr/include/boost/ptr_container/ptr_sequence_adapter.hpp:244:14: note: no known conversion for argument 1 from ‘std::remove_reference<std::unique_ptr~~~~ [ 42s] /usr/include/boost/ptr_container/ptr_sequence_adapter.hpp:253:14: note: template argument deduction/substitution failed: [ 42s] /home/abuild/rpmbuild/BUILD/libime-1.0.7/src/libime/core/decoder.cpp:130:50: note: ‘std::unique_ptr