Problem building kstars on Enterprise Linux 7
Christian Dersch
lupinix at mailbox.org
Fri Aug 3 16:22:47 BST 2018
Hi,
this is quite common on EL7 with modern C++ code due to the old default
compiler… In many cases it is worth to try newer GCC toolchain from
software collections:
https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/
Greetings,
Christian
On 03/08/18 17:04, Rhys Morris wrote:
> Hi kstars devels,
>
> I wand to try out Ekos, so I'm trying to build kstars 2.9.7 from source on Scientific Linux 7 (which is almost identical to Centos7 and RedHat Enterprise Linux7). I have installed a load of dependencies and built the most recent libindi. Cmake (or in my case cmake3 )runs fine, but make fails as below. I can provide more lines if required.
>
> Any suggestions how to get past this would be gratefully received.
> Regards,
> Rhys
>
> /usr/include/qt5/QtCore/qobject.h:265:13: note: template argument deduction/substitution failed:
> /usr/local/kstars-2.9.7/kstars/ekos/ekosmanager.cpp:1948:140: note: candidate expects 3 arguments, 4 provided
> connect(alignProcess.get(), &Ekos::Align::newCorrectionVector, ekosLiveClient.get()->media(), &EkosLive::Media::setCorrectionVector);
> ^
> In file included from /usr/include/qt5/QtCore/qvariant.h:51:0,
> from /usr/include/qt5/QtCore/QVariant:1,
> from /usr/local/kstars-2.9.7/build/kstars/ui_ekosmanager.h:14,
> from /usr/local/kstars-2.9.7/kstars/ekos/ekosmanager.h:19,
> from /usr/local/kstars-2.9.7/kstars/ekos/ekosmanager.cpp:10:
> /usr/include/qt5/QtCore/qobject.h:274:13: note: template<class Func1, class Func2> static typename std::enable_if<(((int)(QtPrivate::FunctionPointer<Func2>::ArgumentCount) >= 0) && (! QtPrivate::FunctionPointer<Func2>::IsPointerToMemberFunction)), QMetaObject::Connection>::type QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const QObject*, Func2, Qt::ConnectionType)
> connect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal, const QObject *context, Func2 slot,
> ^
> /usr/include/qt5/QtCore/qobject.h:274:13: note: template argument deduction/substitution failed:
> /usr/include/qt5/QtCore/qobject.h: In substitution of ‘template<class Func1, class Func2> static typename std::enable_if<(((int)(QtPrivate::FunctionPointer<Func2>::ArgumentCount) >= 0) && (! QtPrivate::FunctionPointer<Func2>::IsPointerToMemberFunction)), QMetaObject::Connection>::type QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const QObject*, Func2, Qt::ConnectionType) [with Func1 = void (Ekos::Align::*)(QLineF); Func2 = void (EkosLive::Media::*)(QLineF)]’:
> /usr/local/kstars-2.9.7/kstars/ekos/ekosmanager.cpp:1948:140: required from here
> /usr/include/qt5/QtCore/qobject.h:274:13: error: no type named ‘type’ in ‘struct std::enable_if<false, QMetaObject::Connection>’
> /usr/include/qt5/QtCore/qobject.h:305:13: note: template<class Func1, class Func2> static typename std::enable_if<(QtPrivate::FunctionPointer<Func2>::ArgumentCount == (-1)), QMetaObject::Connection>::type QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, Func2)
> connect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal, Func2 slot)
> ^
> /usr/include/qt5/QtCore/qobject.h:305:13: note: template argument deduction/substitution failed:
> /usr/local/kstars-2.9.7/kstars/ekos/ekosmanager.cpp:1948:140: note: candidate expects 3 arguments, 4 provided
> connect(alignProcess.get(), &Ekos::Align::newCorrectionVector, ekosLiveClient.get()->media(), &EkosLive::Media::setCorrectionVector);
> ^
> In file included from /usr/include/qt5/QtCore/qvariant.h:51:0,
> from /usr/include/qt5/QtCore/QVariant:1,
> from /usr/local/kstars-2.9.7/build/kstars/ui_ekosmanager.h:14,
> from /usr/local/kstars-2.9.7/kstars/ekos/ekosmanager.h:19,
> from /usr/local/kstars-2.9.7/kstars/ekos/ekosmanager.cpp:10:
> /usr/include/qt5/QtCore/qobject.h:313:13: note: template<class Func1, class Func2> static typename std::enable_if<(QtPrivate::FunctionPointer<Func2>::ArgumentCount == (-1)), QMetaObject::Connection>::type QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const QObject*, Func2, Qt::ConnectionType)
> connect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal, const QObject *context, Func2 slot,
> ^
> /usr/include/qt5/QtCore/qobject.h:313:13: note: template argument deduction/substitution failed:
> /usr/include/qt5/QtCore/qobject.h: In substitution of ‘template<class Func1, class Func2> static typename std::enable_if<(QtPrivate::FunctionPointer<Func2>::ArgumentCount == (-1)), QMetaObject::Connection>::type QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const QObject*, Func2, Qt::ConnectionType) [with Func1 = void (Ekos::Align::*)(QLineF); Func2 = void (EkosLive::Media::*)(QLineF)]’:
> /usr/local/kstars-2.9.7/kstars/ekos/ekosmanager.cpp:1948:140: required from here
> /usr/include/qt5/QtCore/qobject.h:313:13: error: no type named ‘type’ in ‘struct std::enable_if<false, QMetaObject::Connection>’
> make[2]: *** [kstars/CMakeFiles/KStarsLib.dir/ekos/ekosmanager.cpp.o] Error 1
> make[1]: *** [kstars/CMakeFiles/KStarsLib.dir/all] Error 2
> make: *** [all] Error 2
>
>
>
> --------------------------------------------
> Rhys Morris
> Bristol Astrophysics Group and
> Zone D, Astrophysics/Unix Support Specialist
> Room 4.13, HH Wills Physics Lab
> University of Bristol
> Telephone: 0117 39 41777
> R.Morris at bristol.ac.uk
> --------------------------------------------
>
More information about the Kstars-devel
mailing list