Summary: | [GCC 4.6.2] Compile Error on framework/source/accelerators/acceleratorcache.cxx | ||
---|---|---|---|
Product: | LibreOffice | Reporter: | r.andersen <anderse> |
Component: | Installation | Assignee: | Not Assigned <libreoffice-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | critical | CC: | andyrtr, cabral, caolan.mcnamara |
Priority: | highest | ||
Version: | 3.4.4 release | ||
Hardware: | All | ||
OS: | Linux (All) | ||
Whiteboard: | |||
Crash report or crash signature: | Regression By: | ||
Attachments: |
const_cast required ?
complete fix porpouse - tested also with gcc 4.6.1 Fix the filtercachedata.hxx error fix gcc 4.6.2 one-liner probable fix |
Description
r.andersen
2011-11-21 06:47:27 UTC
Sorry, I forgot the first one, here it is: [ build CHK ] loaded modules: padmin /var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/work/libreoffice-bootstrap-3.4.4.2/padmin/source/prtsetup.cxx: In function 'int Sal_SetupPrinterDriver(psp::PrinterInfo&)': /var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/work/libreoffice-bootstrap-3.4.4.2/padmin/source/prtsetup.cxx:816:41: error: no match for 'operator=' in 'rJobData = aDialog.padmin::RTSDialog::getSetup()' /var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/work/libreoffice-bootstrap-3.4.4.2/padmin/source/prtsetup.cxx:816:41: note: candidate is: /var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/work/libreoffice-bootstrap-3.4.4.2/solver/340/unxlngx6.pro/inc/vcl/printerinfomanager.hxx:48:8: note: psp::PrinterInfo& psp::PrinterInfo::operator=(psp::PrinterInfo&) /var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/work/libreoffice-bootstrap-3.4.4.2/solver/340/unxlngx6.pro/inc/vcl/printerinfomanager.hxx:48:8: note: no known conversion for argument 1 from 'const psp::PrinterInfo' to 'psp::PrinterInfo&' make[1]: *** [/var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/work/libreoffice-bootstrap-3.4.4.2/solver/340/unxlngx6.pro/workdir/CxxObject/padmin/source/prtsetup.o] Error 1 dmake: Error code 2, while making 'all' Entering /var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/work/libreoffice-bootstrap-3.4.4.2/editeng/prj I confirm thise bug on tegra2 board. same error Created attachment 54425 [details]
const_cast required ?
Uses const_cast to solve mostly issues and also notethe loadenv.cxx and as it is a workarround should be better means to solve that.
Next issue after using the proposed patch. The problem seems not to be side effect of the fix. mkdir -p /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/solver/340/unxlngi6.pro/workdir/Dep/CxxObject/framework/source/loadenv/ && echo '/home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/solver/340/unxlngi6.pro/workdir/CxxObject/framework/source/loadenv/loadenv.o : $(gb_Helper_PHONY)' > /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/solver/340/unxlngi6.pro/workdir/Dep/CxxObject/framework/source/loadenv/loadenv.d [ build DEP ] LNK:Library/libfwkli.so R=/home/cabral/libreoffice_cooker/svn/current/BUILD && S=$R/libreoffice-3.4.4 && O=$S/solver/340/unxlngi6.pro && W=$O/workdir && mkdir -p $W/Dep/LinkTarget/Library/ && RESPONSEFILE=/tmp/gbuild.TgMhrL && cat ${RESPONSEFILE} /dev/null | xargs -n 200 cat > $W/Dep/LinkTarget/Library/libfwkli.so.d && rm -f ${RESPONSEFILE} [ build CXX ] framework/source/uiconfiguration/uiconfigurationmanager R=/home/cabral/libreoffice_cooker/svn/current/BUILD && S=$R/libreoffice-3.4.4 && O=$S/solver/340/unxlngi6.pro && W=$O/workdir && mkdir -p $W/CxxObject/framework/source/uiconfiguration/ && mkdir -p $W/Dep/CxxObject/framework/source/uiconfiguration/ && g++ -DCPPU_ENV=gcc3 -DCUI -DENABLE_GRAPHITE -DENABLE_GTK -DENABLE_KDE4 -DENABLE_LAYOUT=0 -DENABLE_LAYOUT_EXPERIMENTAL=0 -DGCC -DGXX_INCLUDE_PATH=/usr/include/c++/4.6.2 -DHAVE_GCC_VISIBILITY_FEATURE -DLINUX -DNDEBUG -DOPTIMIZE -DOSL_DEBUG_LEVEL=0 -DPRODUCT -DPRODUCT_FULL -DSOLAR_JAVA -DSUPD=340 -DUNIX -DUNX -DVCL -DX86 -D_PTHREADS -D_REENTRANT -Wall -Wendif-labels -Wextra -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Woverloaded-virtual -Wshadow -fPIC -fmessage-length=0 -fno-common -fvisibility-inlines-hidden -fvisibility=hidden -pipe -DEXCEPTIONS_ON -fexceptions -fno-enforce-eh-specs -Os -c $S/framework/source/uiconfiguration/uiconfigurationmanager.cxx -o $W/CxxObject/framework/source/uiconfiguration/uiconfigurationmanager.o -MMD -MT $W/CxxObject/framework/source/uiconfiguration/uiconfigurationmanager.o -MF $W/Dep/CxxObject/framework/source/uiconfiguration/uiconfigurationmanager.d -I$S/framework/source/uiconfiguration/ -I$O/inc/stl -I$S/framework/inc/pch -I$S/framework/source/inc -I$S/framework/inc -I$W/inc/framework/ -I$O/inc/external -I$O/inc -I$S/solenv/unxlngi6/inc -I$S/solenv/inc -I$S/res -I$S/solenv/inc/Xp31 -I/usr/lib/jvm/java-1.6.0-openjdk/include -I/usr/lib/jvm/java-1.6.0-openjdk/include/linux -I/usr/lib/jvm/java-1.6.0-openjdk/include/native_threads/include -I$O/inc/framework -I$O/inc/offuh In file included from /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/vector:61:0, from /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/framework/inc/uiconfiguration/uiconfigurationmanager.hxx:36, from /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/framework/source/uiconfiguration/uiconfigurationmanager.cxx:31: /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_algobase.h: In function 'typename __gnu_cxx::__enable_if<(! std::__is_scalar<_Tp>::__value), void>::__type std::__fill_a(_ForwardIterator, _ForwardIterator, const _Tp&) [with _ForwardIterator = framework::UIConfigurationManager::UIElementType*, _Tp = framework::UIConfigurationManager::UIElementType, typename __gnu_cxx::__enable_if<(! std::__is_scalar<_Tp>::__value), void>::__type = void]': /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_algobase.h:722:7: instantiated from 'void std::fill(_ForwardIterator, _ForwardIterator, const _Tp&) [with _ForwardIterator = framework::UIConfigurationManager::UIElementType*, _Tp = framework::UIConfigurationManager::UIElementType]' /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/vector.tcc:397:5: instantiated from 'void std::vector<_Tp, _Alloc>::_M_fill_insert(std::vector<_Tp, _Alloc>::iterator, std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = framework::UIConfigurationManager::UIElementType, _Alloc = std::allocator<framework::UIConfigurationManager::UIElementType>, std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<framework::UIConfigurationManager::UIElementType*, std::vector<framework::UIConfigurationManager::UIElementType> >, typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer = framework::UIConfigurationManager::UIElementType*, std::vector<_Tp, _Alloc>::size_type = unsigned int, std::vector<_Tp, _Alloc>::value_type = framework::UIConfigurationManager::UIElementType]' /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_vector.h:944:9: instantiated from 'void std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::iterator, std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = framework::UIConfigurationManager::UIElementType, _Alloc = std::allocator<framework::UIConfigurationManager::UIElementType>, std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<framework::UIConfigurationManager::UIElementType*, std::vector<framework::UIConfigurationManager::UIElementType> >, typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer = framework::UIConfigurationManager::UIElementType*, std::vector<_Tp, _Alloc>::size_type = unsigned int, std::vector<_Tp, _Alloc>::value_type = framework::UIConfigurationManager::UIElementType]' /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_vector.h:632:4: instantiated from 'void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type, std::vector<_Tp, _Alloc>::value_type) [with _Tp = framework::UIConfigurationManager::UIElementType, _Alloc = std::allocator<framework::UIConfigurationManager::UIElementType>, std::vector<_Tp, _Alloc>::size_type = unsigned int, std::vector<_Tp, _Alloc>::value_type = framework::UIConfigurationManager::UIElementType]' /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/framework/source/uiconfiguration/uiconfigurationmanager.cxx:614:70: instantiated from here /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_algobase.h:676:2: error: no match for 'operator=' in '* __first = __value' /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_algobase.h:676:2: note: candidate is: /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/framework/inc/uiconfiguration/uiconfigurationmanager.hxx:160:20: note: framework::UIConfigurationManager::UIElementType& framework::UIConfigurationManager::UIElementType::operator=(framework::UIConfigurationManager::UIElementType&) /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/framework/inc/uiconfiguration/uiconfigurationmanager.hxx:160:20: note: no known conversion for argument 1 from 'const framework::UIConfigurationManager::UIElementType' to 'framework::UIConfigurationManager::UIElementType&' make: *** [/home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/solver/340/unxlngi6.pro/workdir/CxxObject/framework/source/uiconfiguration/uiconfigurationmanager.o] Error 1 Created attachment 54468 [details]
complete fix porpouse - tested also with gcc 4.6.1
Build issue (module sfx2) is also being solved by the proposed patch: [ build DEP ] LNK:Library/libsfxli.so R=/home/cabral/libreoffice_cooker/svn/current/BUILD && S=$R/libreoffice-3.4.4 && O=$S/solver/340/unxlngi6.pro && W=$O/workdir && mkdir -p $W/Dep/LinkTarget/Library/ && RESPONSEFILE=/tmp/gbuild.G5GInd && cat ${RESPONSEFILE} /dev/null | xargs -n 200 cat > $W/Dep/LinkTarget/Library/libsfxli.so.d && rm -f ${RESPONSEFILE} [ build CXX ] sfx2/source/doc/guisaveas R=/home/cabral/libreoffice_cooker/svn/current/BUILD && S=$R/libreoffice-3.4.4 && O=$S/solver/340/unxlngi6.pro && W=$O/workdir && mkdir -p $W/CxxObject/sfx2/source/doc/ && mkdir -p $W/Dep/CxxObject/sfx2/source/doc/ && g++ -DCPPU_ENV=gcc3 -DCUI -DENABLE_GRAPHITE -DENABLE_GTK -DENABLE_KDE4 -DENABLE_LAYOUT=0 -DENABLE_LAYOUT_EXPERIMENTAL=0 -DGCC -DGXX_INCLUDE_PATH=/usr/include/c++/4.6.2 -DHAVE_GCC_VISIBILITY_FEATURE -DLINUX -DNDEBUG -DOPTIMIZE -DOSL_DEBUG_LEVEL=0 -DPRODUCT -DPRODUCT_FULL -DSOLAR_JAVA -DSUPD=340 -DUNIX -DUNX -DVCL -DX86 -D_PTHREADS -D_REENTRANT -DSFX2_DLLIMPLEMENTATION -DENABLE_QUICKSTART_APPLET -DENABLE_SYSTRAY_GTK -DPLUGIN_NAME=libqstart_gtkli.so -Wall -Wendif-labels -Wextra -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Woverloaded-virtual -Wshadow -fPIC -fmessage-length=0 -fno-common -fvisibility-inlines-hidden -fvisibility=hidden -pipe -DEXCEPTIONS_ON -fexceptions -fno-enforce-eh-specs -Os -c $S/sfx2/source/doc/guisaveas.cxx -o $W/CxxObject/sfx2/source/doc/guisaveas.o -MMD -MT $W/CxxObject/sfx2/source/doc/guisaveas.o -MF $W/Dep/CxxObject/sfx2/source/doc/guisaveas.d -I$S/sfx2/source/doc/ -I$O/inc/stl -I$S/sfx2/inc -I$S/sfx2/inc/sfx2 -I$S/sfx2/source/inc -I$S/sfx2/inc/pch -I$W/SdiTarget/sfx2/sdi -I$W/inc/ -I$O/inc/external -I$O/inc -I$S/solenv/unxlngi6/inc -I$S/solenv/inc -I$S/res -I$S/solenv/inc/Xp31 -I/usr/lib/jvm/java-1.6.0-openjdk/include -I/usr/lib/jvm/java-1.6.0-openjdk/include/linux -I/usr/lib/jvm/java-1.6.0-openjdk/include/native_threads/include -I$O/inc/offuh -I$O/inc -I/usr/include/libxml2 /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/sfx2/source/doc/guisaveas.cxx: In member function 'sal_Int8 ModelData_Impl::CheckFilter(const rtl::OUString&)': /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/sfx2/source/doc/guisaveas.cxx:734:63: error: no match for 'operator=' in 'aFiltPropsHM = comphelper::SequenceAsHashMap((*(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>*)(& aFilterProps)))' /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/sfx2/source/doc/guisaveas.cxx:734:63: note: candidate is: /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/solver/340/unxlngi6.pro/inc/comphelper/sequenceashashmap.hxx:81:28: note: comphelper::SequenceAsHashMap& comphelper::SequenceAsHashMap::operator=(comphelper::SequenceAsHashMap&) /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/solver/340/unxlngi6.pro/inc/comphelper/sequenceashashmap.hxx:81:28: note: no known conversion for argument 1 from 'comphelper::SequenceAsHashMap' to 'comphelper::SequenceAsHashMap&' make: *** [/home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/solver/340/unxlngi6.pro/workdir/CxxObject/sfx2/source/doc/guisaveas.o] Error 1 Build issue (module framework/loadenv) is also being solved by the proposed patch: /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/framework/source/loadenv/loadenv.cxx: In member function 'virtual void framework::LoadEnv::initializeLoading(const rtl::OUString&, const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>&, const com::sun::star::uno::Reference<com::sun::star::frame::XFrame>&, const rtl::OUString&, sal_Int32, framework::LoadEnv::EFeature, framework::LoadEnv::EContentType)': /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/framework/source/loadenv/loadenv.cxx:257:107: error: no match for 'operator=' in '((framework::LoadEnv*)this)->framework::LoadEnv::m_lMediaDescriptor = framework::impl_mergeMediaDescriptorWithMightExistingModelArgs(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>&)()' /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/framework/source/loadenv/loadenv.cxx:257:107: note: candidate is: /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/solver/340/unxlngi6.pro/inc/comphelper/mediadescriptor.hxx:61:28: note: comphelper::MediaDescriptor& comphelper::MediaDescriptor::operator=(comphelper::MediaDescriptor&) /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/solver/340/unxlngi6.pro/inc/comphelper/mediadescriptor.hxx:61:28: note: no known conversion for argument 1 from 'comphelper::MediaDescriptor' to 'comphelper::MediaDescriptor&' make: *** [/home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/solver/340/unxlngi6.pro/workdir/CxxObject/framework/source/loadenv/loadenv.o] Error 1 Build issue (module framework/uiconfiguration) is also being solved by the proposed patch: In file included from /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/vector:61:0, from /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/framework/source/uiconfiguration/uiconfigurationmanagerimpl.hxx:36, from /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx:31: /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_algobase.h: In function 'typename __gnu_cxx::__enable_if<(! std::__is_scalar<_Tp>::__value), void>::__type std::__fill_a(_ForwardIterator, _ForwardIterator, const _Tp&) [with _ForwardIterator = framework::UIConfigurationManagerImpl::UIElementType*, _Tp = framework::UIConfigurationManagerImpl::UIElementType, typename __gnu_cxx::__enable_if<(! std::__is_scalar<_Tp>::__value), void>::__type = void]': /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_algobase.h:722:7: instantiated from 'void std::fill(_ForwardIterator, _ForwardIterator, const _Tp&) [with _ForwardIterator = framework::UIConfigurationManagerImpl::UIElementType*, _Tp = framework::UIConfigurationManagerImpl::UIElementType]' /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/vector.tcc:397:5: instantiated from 'void std::vector<_Tp, _Alloc>::_M_fill_insert(std::vector<_Tp, _Alloc>::iterator, std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = framework::UIConfigurationManagerImpl::UIElementType, _Alloc = std::allocator<framework::UIConfigurationManagerImpl::UIElementType>, std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<framework::UIConfigurationManagerImpl::UIElementType*, std::vector<framework::UIConfigurationManagerImpl::UIElementType> >, typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer = framework::UIConfigurationManagerImpl::UIElementType*, std::vector<_Tp, _Alloc>::size_type = unsigned int, std::vector<_Tp, _Alloc>::value_type = framework::UIConfigurationManagerImpl::UIElementType]' /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_vector.h:944:9: instantiated from 'void std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::iterator, std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = framework::UIConfigurationManagerImpl::UIElementType, _Alloc = std::allocator<framework::UIConfigurationManagerImpl::UIElementType>, std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<framework::UIConfigurationManagerImpl::UIElementType*, std::vector<framework::UIConfigurationManagerImpl::UIElementType> >, typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer = framework::UIConfigurationManagerImpl::UIElementType*, std::vector<_Tp, _Alloc>::size_type = unsigned int, std::vector<_Tp, _Alloc>::value_type = framework::UIConfigurationManagerImpl::UIElementType]' /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_vector.h:632:4: instantiated from 'void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type, std::vector<_Tp, _Alloc>::value_type) [with _Tp = framework::UIConfigurationManagerImpl::UIElementType, _Alloc = std::allocator<framework::UIConfigurationManagerImpl::UIElementType>, std::vector<_Tp, _Alloc>::size_type = unsigned int, std::vector<_Tp, _Alloc>::value_type = framework::UIConfigurationManagerImpl::UIElementType]' /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx:740:84: instantiated from here /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_algobase.h:676:2: error: no match for 'operator=' in '* __first = __value' /usr/lib/gcc/i586-mandriva-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_algobase.h:676:2: note: candidate is: /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/framework/source/uiconfiguration/uiconfigurationmanagerimpl.hxx:164:20: note: framework::UIConfigurationManagerImpl::UIElementType& framework::UIConfigurationManagerImpl::UIElementType::operator=(framework::UIConfigurationManagerImpl::UIElementType&) /home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/framework/source/uiconfiguration/uiconfigurationmanagerimpl.hxx:164:20: note: no known conversion for argument 1 from 'const framework::UIConfigurationManagerImpl::UIElementType' to 'framework::UIConfigurationManagerImpl::UIElementType&' make: *** [/home/cabral/libreoffice_cooker/svn/current/BUILD/libreoffice-3.4.4/solver/340/unxlngi6.pro/workdir/CxxObject/framework/source/uiconfiguration/uiconfigurationmanagerimpl.o] Error 1 The proposed patch helped a lot, but I still get an error in filtercachedata.hxx (error: no match for 'operator=') Listing : Making: standard.lib Making: all_standard.dpslo In file included from /build/src/build/framework/inc/classes/filtercache.hxx:43:0, from /build/src/build/framework/inc/services/sessionlistener.hxx:35, from /build/src/build/framework/source/register/registerservices.cxx:85: /build/src/build/framework/inc/classes/filtercachedata.hxx: In member function 'framework::FileType& framework::FileType::impl_copy(const framework::FileType&)': /build/src/build/framework/inc/classes/filtercachedata.hxx:233:32: error: no match for 'operator=' in '((framework::FileType*)this)->framework::FileType::lUINames = rCopy.framework::FileType::lUINames' /build/src/build/framework/inc/classes/filtercachedata.hxx:233:32: note: candidate is: /build/src/build/framework/inc/stdtypes.h:170:7: note: framework::BaseHash<rtl::OUString>& framework::BaseHash<rtl::OUString>::operator=(framework::BaseHash<rtl::OUString>&) /build/src/build/framework/inc/stdtypes.h:170:7: note: no known conversion for argument 1 from 'const OUStringHash {aka const framework::BaseHash<rtl::OUString>}' to 'framework::BaseHash<rtl::OUString>&' /build/src/build/framework/inc/classes/filtercachedata.hxx: In member function 'framework::Filter& framework::Filter::impl_copy(const framework::Filter&)': /build/src/build/framework/inc/classes/filtercachedata.hxx:301:32: error: no match for 'operator=' in '((framework::Filter*)this)->framework::Filter::lUINames = rCopy.framework::Filter::lUINames' /build/src/build/framework/inc/classes/filtercachedata.hxx:301:32: note: candidate is: /build/src/build/framework/inc/stdtypes.h:170:7: note: framework::BaseHash<rtl::OUString>& framework::BaseHash<rtl::OUString>::operator=(framework::BaseHash<rtl::OUString>&) /build/src/build/framework/inc/stdtypes.h:170:7: note: no known conversion for argument 1 from 'const OUStringHash {aka const framework::BaseHash<rtl::OUString>}' to 'framework::BaseHash<rtl::OUString>&' /build/src/build/framework/inc/classes/filtercachedata.hxx: In member function 'framework::Loader& framework::Loader::impl_copy(const framework::Loader&)': /build/src/build/framework/inc/classes/filtercachedata.hxx:408:30: error: no match for 'operator=' in '((framework::Loader*)this)->framework::Loader::lUINames = rCopy.framework::Loader::lUINames' /build/src/build/framework/inc/classes/filtercachedata.hxx:408:30: note: candidate is: /build/src/build/framework/inc/stdtypes.h:170:7: note: framework::BaseHash<rtl::OUString>& framework::BaseHash<rtl::OUString>::operator=(framework::BaseHash<rtl::OUString>&) /build/src/build/framework/inc/stdtypes.h:170:7: note: no known conversion for argument 1 from 'const OUStringHash {aka const framework::BaseHash<rtl::OUString>}' to 'framework::BaseHash<rtl::OUString>&' Compiling: accessibility/source/extended/accessiblelistboxentry.cxx Entering /build/src/build/canvas/source/cairo R=/build/src && S=$R/build && O=$S/solver/340/unxlngi6.pro && W=$O/workdir && mkdir -p $W/CxxObject/framework/source/services/ && mkdir -p $W/Dep/CxxObject/framework/source/services/ && g++ -DCPPU_ENV=gcc3 -DCUI -DENABLE_GRAPHITE -DENABLE_GTK -DENABLE_KDE4 -DENABLE_LAYOUT=0 -DENABLE_LAYOUT_EXPERIMENTAL=0 -DGCC -DGXX_INCLUDE_PATH=/usr/include/c++/4.6.2 -DHAVE_GCC_VISIBILITY_FEATURE -DLINUX -DNDEBUG -DOPTIMIZE -DOSL_DEBUG_LEVEL=0 -DPRODUCT -DPRODUCT_FULL -DSOLAR_JAVA -DSUPD=340 -DUNIX -DUNX -DVCL -DX86 -D_PTHREADS -D_REENTRANT -Wall -Wendif-labels -Wextra -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Woverloaded-virtual -Wshadow -fPIC -fmessage-length=0 -fno-common -fvisibility-inlines-hidden -fvisibility=hidden -pipe -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -DEXCEPTIONS_ON -fexceptions -fno-enforce-eh-specs -Os -c $S/framework/source/services/modelwinservice.cxx -o $W/CxxObject/framework/source/services/modelwinservice.o -MMD -MT $W/CxxObject/framework/source/services/modelwinservice.o -MF $W/Dep/CxxObject/framework/source/services/modelwinservice.d -I$S/framework/source/services/ -I$O/inc/stl -I$S/framework/inc/pch -I$S/framework/source/inc -I$S/framework/inc -I$W/inc/framework/ -I$O/inc/external -I$O/inc -I$S/solenv/unxlngi6/inc -I$S/solenv/inc -I$S/res -I$S/solenv/inc/Xp31 -I/usr/lib/jvm/java-7-openjdk/include -I/usr/lib/jvm/java-7-openjdk/include/linux -I/usr/lib/jvm/java-7-openjdk/include/native_threads/include -I$O/inc/framework -I$O/inc/offuh [ build CXX ] framework/source/services/modulemanager Making: all_cairocanvas.dpslo R=/build/src && S=$R/build && O=$S/solver/340/unxlngi6.pro && W=$O/workdir && mkdir -p $W/CxxObject/framework/source/services/ && mkdir -p $W/Dep/CxxObject/framework/source/services/ && g++ -DCPPU_ENV=gcc3 -DCUI -DENABLE_GRAPHITE -DENABLE_GTK -DENABLE_KDE4 -DENABLE_LAYOUT=0 -DENABLE_LAYOUT_EXPERIMENTAL=0 -DGCC -DGXX_INCLUDE_PATH=/usr/include/c++/4.6.2 -DHAVE_GCC_VISIBILITY_FEATURE -DLINUX -DNDEBUG -DOPTIMIZE -DOSL_DEBUG_LEVEL=0 -DPRODUCT -DPRODUCT_FULL -DSOLAR_JAVA -DSUPD=340 -DUNIX -DUNX -DVCL -DX86 -D_PTHREADS -D_REENTRANT -Wall -Wendif-labels -Wextra -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Woverloaded-virtual -Wshadow -fPIC -fmessage-length=0 -fno-common -fvisibility-inlines-hidden -fvisibility=hidden -pipe -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -DEXCEPTIONS_ON -fexceptions -fno-enforce-eh-specs -Os -c $S/framework/source/services/modulemanager.cxx -o $W/CxxObject/framework/source/services/modulemanager.o -MMD -MT $W/CxxObject/framework/source/services/modulemanager.o -MF $W/Dep/CxxObject/framework/source/services/modulemanager.d -I$S/framework/source/services/ -I$O/inc/stl -I$S/framework/inc/pch -I$S/framework/source/inc -I$S/framework/inc -I$W/inc/framework/ -I$O/inc/external -I$O/inc -I$S/solenv/unxlngi6/inc -I$S/solenv/inc -I$S/res -I$S/solenv/inc/Xp31 -I/usr/lib/jvm/java-7-openjdk/include -I/usr/lib/jvm/java-7-openjdk/include/linux -I/usr/lib/jvm/java-7-openjdk/include/native_threads/include -I$O/inc/framework -I$O/inc/offuh [ build CXX ] framework/source/services/pathsettings make[1]: *** [/build/src/build/solver/340/unxlngi6.pro/workdir/CxxObject/framework/source/register/registerservices.o] Error 1 make[1]: *** Waiting for unfinished jobs.... Compiling: canvas/unxlngi6.pro/misc/cairocanvas.uno_version.c Compiling: canvas/source/cairo/cairo_cachedbitmap.cxx Compiling: canvas/source/cairo/cairo_cairo.cxx Compiling: canvas/source/cairo/cairo_canvas.cxx Compiling: canvas/source/cairo/cairo_canvasbitmap.cxx Compiling: accessibility/source/extended/accessibletabbarbase.cxx Compiling: fpicker/source/office/OfficeFolderPicker.cxx Compiling: fpicker/source/office/fpinteraction.cxx Compiling: fpicker/source/office/fpsmartcontent.cxx Compiling: canvas/source/cairo/cairo_canvascustomsprite.cxx Compiling: canvas/source/cairo/cairo_canvasfont.cxx Compiling: fpicker/source/office/fps_office.cxx Compiling: accessibility/source/extended/accessibletabbar.cxx Compiling: fpicker/source/office/iodlg.cxx make[1]: Leaving directory `/build/src/build/framework' dmake: Error code 2, while making 'all' Created attachment 54528 [details]
Fix the filtercachedata.hxx error
There are two remaining error with gcc 4.6.2 in the 'framework' module : /build/src/build/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx:760:85: instantiated from here /usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_algobase.h:676:2: error: no match for 'operator=' in '* __first = __value' /usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_algobase.h:676:2: note: candidate is: /build/src/build/framework/inc/uiconfiguration/moduleuiconfigurationmanager.hxx:174:20: note: framework::ModuleUIConfigurationManager::UIElementType& framework::ModuleUIConfigurationManager::UIElementType::operator=(framework::ModuleUIConfigurationManager::UIElementType&) /build/src/build/framework/inc/uiconfiguration/moduleuiconfigurationmanager.hxx:174:20: note: no known conversion for argument 1 from 'const framework::ModuleUIConfigurationManager::UIElementType' to 'framework::ModuleUIConfigurationManager::UIElementType&' make: *** [/build/src/build/solver/340/unxlngx6.pro/workdir/CxxObject/framework/source/uiconfiguration/moduleuiconfigurationmanager.o] Error 1 [...] /build/src/build/framework/source/uiconfiguration/uiconfigurationmanager.cxx:614:70: instantiated from here /usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_algobase.h:676:2: error: no match for 'operator=' in '* __first = __value' /usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_algobase.h:676:2: note: candidate is: /build/src/build/framework/inc/uiconfiguration/uiconfigurationmanager.hxx:160:20: note: framework::UIConfigurationManager::UIElementType& framework::UIConfigurationManager::UIElementType::operator=(framework::UIConfigurationManager::UIElementType&) /build/src/build/framework/inc/uiconfiguration/uiconfigurationmanager.hxx:160:20: note: no known conversion for argument 1 from 'const framework::UIConfigurationManager::UIElementType' to 'framework::UIConfigurationManager::UIElementType&' make: *** [/build/src/build/solver/340/unxlngx6.pro/workdir/CxxObject/framework/source/uiconfiguration/uiconfigurationmanager.o] Error 1 Created attachment 54567 [details]
fix gcc 4.6.2
- Add the fix for the filtercachedata.hxx.
- Add the fixes for two remaining issues: moduleuiconfigurationmanager.hxx and uiconfigurationmanager.hxx.
Thanks. Build finished now here. This issue seems solved. does anyone know what the *root* cause is, casting away const to get operator= working doesn't look right. We have this problem with 3.4.4 as well, but 3.5.0 seems to build fine. Looks like compiler generated an operator=(foo&) instead of operator=(const foo&) problem seems to come from boost::unordered_map's operator= Is this with "system" boost ?, if so what version of boost is it ? This may be triggered by BOOST_COPYABLE_AND_MOVABLE(TYPE) Yes it is from system, version 1.48.0. Some links I'm looking at could help: http://www.boost.org/doc/libs/1_48_0/doc/html/move/how_the_library_works.html http://www.boost.org/doc/libs/1_48_0/doc/html/unordered/changes.html#unordered.changes.boost_1_48_0___major_update http://www.boost.org/doc/libs/1_48_0/doc/html/unordered/compliance.html Just I guess from /usr/include/boost/move/move.hpp: 387 #define BOOST_COPYABLE_AND_MOVABLE(TYPE)\ 388 public:\ 389 TYPE& operator=(TYPE &t)\ 390 { this->operator=(static_cast<const ::boost::rv<TYPE> &>(const_cast<const TYPE &>(t))); return *this;}\ 391 public:\ 392 operator ::boost::rv<TYPE>&() \ 393 { return *static_cast< ::boost::rv<TYPE>* >(this); }\ 394 operator const ::boost::rv<TYPE>&() const \ 395 { return *static_cast<const ::boost::rv<TYPE>* >(this); }\ 396 private:\ Line 390, the const_cast seems also to be casting away but the compiler gets lost and guessing kick would be the static_cast operator in left part of the expression, as I still researching. Tried to diff from 1.47.0 but bost/move/move.hpp seems to be new. No problems on my side anymore. Thank you all for the patches. Created attachment 54632 [details]
one-liner probable fix
So, I think the problem is really in boost and/or gcc. It happens that 3.5 builds fine because there we enable -std=c++0x when gcc supports it, and then gcc is happy with that move.hpp from boost as a baseclass. How about this attached patch as an alternative.
Hi, I've tested your "one-liner probable fix" in one of the reported build issues and it has solved the problem. It was funny, one of the first things I had tried was to force the c++ standard using "-std=c++0x" using g++ command line output from make for testing and it had *not* worked and now, I retest it using the same trick and it worked and don't know what I missed. Anyway the alternative proposed fix also worked out :). https://svn.boost.org/trac/boost/ticket/6167 odd, seems on first reading that boost::unordered_map now uses boost::move and in combo only works in c++11, in which case one wouldn't need boost::unordered_map in the first place :-( pmladek shoved the quick-fix into the 3-4 branch, so "fixed" from that perspective, though this will blow up again if we e.g. upgrade our internal boost to this version and run it through compilers that don't support c++11 Sure, was what I'm trying to say in the mail list but my e-mails fall in the moderador approval (checking with Petr): My initial proposed fix is partially right when it to comes to "reimplement the operador=" (not sure about the const casts) whenever the compiler is in the C++03 or bellow mode or even if C++0x is not supported as well using boost 1.48.0 according : http://www.boost.org/doc/libs/1_48_0/doc/html/move/emulation_limitations.html#move.emulation_limitations.assignment_operator. |