Установка Octave-4.0.0 в CentOS приводит к ошибке компоновки QtOpenGL
1140
irritable_phd_syndrom
Я пытаюсь установить Octave-4.0.0 на кластер CentOS 6. У Octave более 20 зависимостей, и неясно, какие версии каждой зависимости использовать. Поскольку yumу меня есть только Octave-3.4.3, я установил Octave-3.4.3 yumс надеждой, что это поможет мне правильно справиться с большинством зависимостей. Я также должен был установить (через yum)
В / usr / lib64 / я проверил содержимое библиотек Qt
$ for i in *Qt*.so.4.6.2; do echo $i; nm -C -D $i | grep -i checkWindowRole; done libQt3Support.so.4.6.2 U QObjectPrivate::checkWindowRole() U QWidgetPrivate::checkWindowRole() libQtAssistantClient.so.4.6.2 libQtCLucene.so.4.6.2 libQtCore.so.4.6.2 00000000001657b0 T QObjectPrivate::checkWindowRole() libQtDBus.so.4.6.2 U QObjectPrivate::checkWindowRole() libQtDesignerComponents.so.4.6.2 libQtDesigner.so.4.6.2 libQtGui.so.4.6.2 U QObjectPrivate::checkWindowRole() 00000000002388f0 T QWidgetPrivate::checkWindowRole() libQtHelp.so.4.6.2 libQtMultimedia.so.4.6.2 U QObjectPrivate::checkWindowRole() libQtNetwork.so.4.6.2 U QObjectPrivate::checkWindowRole() libQtOpenGL.so.4.6.2 U QObjectPrivate::checkWindowRole() U QWidgetPrivate::checkWindowRole() libQtScript.so.4.6.2 U QObjectPrivate::checkWindowRole() libQtScriptTools.so.4.6.2 U QObjectPrivate::checkWindowRole() U QWidgetPrivate::checkWindowRole() libQtSql.so.4.6.2 U QObjectPrivate::checkWindowRole() libQtSvg.so.4.6.2 U QObjectPrivate::checkWindowRole() U QWidgetPrivate::checkWindowRole() libQtTest.so.4.6.2 libQtXmlPatterns.so.4.6.2 U QObjectPrivate::checkWindowRole() libQtXml.so.4.6.2
И кажется, что QWidgetPrivate::checkWindowRole()объявлено (если я nmправильно интерпретирую ?) Внутри libQtGui.so.4.6.2. Эта библиотека уже связана с (см. Выше)
ВОПРОС: Как я могу исправить эту проблему и libQtOpenGLувидеть правильные библиотеки?
1 ответ на вопрос
0
irritable_phd_syndrom
It turns out that I have a piece of software that I installed locally on my user space and it installed some libraries in ~/local/lib. Within that directory, the software had installed libQtCore.so.4 and libQtGui.so.4. This were the only Qt related libraries installed here. Likewise, I had set
This meant that the linker found these libraries before the ones located in /usr/lib64. Changing $LD_LIBRARY_PATH so that it no longer points to ~/local/lib, let the linker do its job and solved my problem.