andrnils
23rd September 2009, 16:43
Hello,
I'm trying to install Qt 4.5.2 on OpenSolaris snv_123 and I can't get it to compile.
I've tried wth both SunStudio 12u1 and gcc-4.3.2.
After editing mkspecs/solaris-g++/qmake.conf to point to the correct binaries and paths I issued:
./configure -prefix /opt/qt452 -opensource -fast -platform solaris-g++
which now completes successfully. After that I run
gmake -sj2 and after a while I get:
/usr/include/sys/regset.h:105:1: warning: this is the location of the previous definition
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h: In member function ‘void __gnu_cxx::_ComparableConcept<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]’:
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:529: instantiated from ‘void __gnu_cxx::_RandomAccessIteratorConcept<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_RandomAccessIteratorConcept<WebCore::TimerHeapIterator>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:553: instantiated from ‘void __gnu_cxx::_Mutable_RandomAccessIteratorConcept<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_Mutable_RandomAccessIteratorConcept<WebCore::TimerHeapIterator>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/stl_heap.h:162: instantiated from ‘void std::push_heap(_RAIter, _RAIter) [with _RAIter = WebCore::TimerHeapIterator]’
platform/Timer.cpp:230: instantiated from here
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:267: error: no match for ‘operator>’ in ‘((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__a > ((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__b’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:268: error: no match for ‘operator<=’ in ‘((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__a <= ((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__b’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:269: error: no match for ‘operator>=’ in ‘((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__a >= ((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__b’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h: In member function ‘void __gnu_cxx::_ForwardIteratorConcept<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]’:
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_ForwardIteratorConcept<WebCore::TimerHeapIterator>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:502: instantiated from ‘void __gnu_cxx::_BidirectionalIteratorConcept<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_BidirectionalIteratorConcept<WebCore::TimerHeapIterator>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:528: instantiated from ‘void __gnu_cxx::_RandomAccessIteratorConcept<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_RandomAccessIteratorConcept<WebCore::TimerHeapIterator>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:553: instantiated from ‘void __gnu_cxx::_Mutable_RandomAccessIteratorConcept<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_Mutable_RandomAccessIteratorConcept<WebCore::TimerHeapIterator>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/stl_heap.h:162: instantiated from ‘void std::push_heap(_RAIter, _RAIter) [with _RAIter = WebCore::TimerHeapIterator]’
platform/Timer.cpp:230: instantiated from here
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:483: error: invalid initialization of non-const reference of type ‘WebCore::TimerHeapElement&’ from a temporary of type ‘WebCore::TimerHeapElement’
gmake[1]: *** [.obj/release-shared/Timer.o] Error 1
gmake[1]: *** Waiting for unfinished jobs....
gmake: *** [sub-webkit-make_default-ordered] Error 2
andrnils@t61p /export/src/qt-x11-opensource-src-4.5.2 =2
I've seen others with this problem on other 'exotic' platforms. Is there a workaround?
I'm trying to install Qt 4.5.2 on OpenSolaris snv_123 and I can't get it to compile.
I've tried wth both SunStudio 12u1 and gcc-4.3.2.
After editing mkspecs/solaris-g++/qmake.conf to point to the correct binaries and paths I issued:
./configure -prefix /opt/qt452 -opensource -fast -platform solaris-g++
which now completes successfully. After that I run
gmake -sj2 and after a while I get:
/usr/include/sys/regset.h:105:1: warning: this is the location of the previous definition
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h: In member function ‘void __gnu_cxx::_ComparableConcept<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]’:
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:529: instantiated from ‘void __gnu_cxx::_RandomAccessIteratorConcept<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_RandomAccessIteratorConcept<WebCore::TimerHeapIterator>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:553: instantiated from ‘void __gnu_cxx::_Mutable_RandomAccessIteratorConcept<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_Mutable_RandomAccessIteratorConcept<WebCore::TimerHeapIterator>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/stl_heap.h:162: instantiated from ‘void std::push_heap(_RAIter, _RAIter) [with _RAIter = WebCore::TimerHeapIterator]’
platform/Timer.cpp:230: instantiated from here
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:267: error: no match for ‘operator>’ in ‘((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__a > ((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__b’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:268: error: no match for ‘operator<=’ in ‘((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__a <= ((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__b’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:269: error: no match for ‘operator>=’ in ‘((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__a >= ((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__b’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h: In member function ‘void __gnu_cxx::_ForwardIteratorConcept<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]’:
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_ForwardIteratorConcept<WebCore::TimerHeapIterator>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:502: instantiated from ‘void __gnu_cxx::_BidirectionalIteratorConcept<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_BidirectionalIteratorConcept<WebCore::TimerHeapIterator>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:528: instantiated from ‘void __gnu_cxx::_RandomAccessIteratorConcept<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_RandomAccessIteratorConcept<WebCore::TimerHeapIterator>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:553: instantiated from ‘void __gnu_cxx::_Mutable_RandomAccessIteratorConcept<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_Mutable_RandomAccessIteratorConcept<WebCore::TimerHeapIterator>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/stl_heap.h:162: instantiated from ‘void std::push_heap(_RAIter, _RAIter) [with _RAIter = WebCore::TimerHeapIterator]’
platform/Timer.cpp:230: instantiated from here
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:483: error: invalid initialization of non-const reference of type ‘WebCore::TimerHeapElement&’ from a temporary of type ‘WebCore::TimerHeapElement’
gmake[1]: *** [.obj/release-shared/Timer.o] Error 1
gmake[1]: *** Waiting for unfinished jobs....
gmake: *** [sub-webkit-make_default-ordered] Error 2
andrnils@t61p /export/src/qt-x11-opensource-src-4.5.2 =2
I've seen others with this problem on other 'exotic' platforms. Is there a workaround?