Opengl для Ubuntu14 (создающий QT 5.4)

У меня есть новая установка Ubuntu 14 LTS с этого утра я использую ПК с Nvidia graphic cards и я успешно установил последнюю версию драйвера с веб-сайта Nvidia (NVIDIA-Linux-x86_64-352.30).

Я пытаюсь создать QT 5.4 (qt-everywhere-opensource-src-5.4.2) и я сталкиваемся с проблемой с ним не бывший способный находить opengl.

Я установил следующие пакеты для разрешения всех зависимостей:

sudo apt-get update
sudo apt-get install libxi-dev build-essential libdbus-1-dev libfontconfig1-dev     libfreetype6-dev    libx11-dev    libxext-dev     libxfixes-dev    libxi-dev    libxrender-dev    libxcb1-dev    libx11-xcb-dev    libxcb-glx0-dev libxcb-keysyms1-dev    libxcb-image0-dev    libxcb-shm0-dev    libxcb-icccm4-dev    libxcb-sync0-dev    libxcb-xfixes0-dev    libxcb-shape0-dev    libxcb-randr0-dev    libxcb-render-util0-dev

и наконец:

sudo apt-get install mesa-common-dev
sudo apt-get install libglu1-mesa-dev

Насколько я знаю, что вышеупомянутое должно полностью установить opengl пакеты для Ubuntu.

Я затем пытаюсь настроить QT с помощью следующей команды:

./configure -v -confirm-license -developer-build -opensource -xinput2 -dbus -opengl desktop -nomake examples -nomake tests)

Я получаю следующую ошибку:

OpenGL auto-detection... ()
g++ -c -pipe -O2 -Wall -W -fPIC  -I. -I../../../mkspecs/linux-g++ -o opengldesktop.o opengldesktop.cpp
g++ -Wl,-O1 -o opengldesktop opengldesktop.o   -lGL 
/usr/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
make: *** [opengldesktop] Error 1
OpenGL disabled.
The OpenGL functionality test failed!
 You might need to modify the include and library search paths by editing
 QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL

Я искал некоторое время теперь, и я могу только предположить, что у меня есть все правильные установленные пакеты, но что-то отсутствует в системном пути. Что может отсутствовать и как я добавляю его к системному пути?

Следующий вывод мог бы помочь:

ldconfig -p | grep libGL.so
    libGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so.1
    libGL.so.1 (libc6,x86-64) => /usr/lib/libGL.so.1
1
задан 31 July 2015 в 10:49

5 ответов

Это, вероятно, libgl1-mesa-dev пакет.

1
ответ дан 7 December 2019 в 13:55

У меня была та же проблема о Ubuntu 16.04 с Qt 5.9. Сначала я работал эти , настраивают , когда libgl1-mesa-dev и libglu1-mesa-dev не был установлен. После этого я установил эти libgl* библиотеки. Но ошибка "OpenGL, не найденный", осталась. Ошибка исчезла после того, как текущий несжатый каталог был удален, и архив был распакован снова.

0
ответ дан 7 December 2019 в 13:55

Столкнулся с той же проблемой о Debian 8.5: драйвер Nvidia + все освобождает рекомендуемый в Создании Qt5 от установленного Мерзавца, но настройте шаг отказавшей причины Qt 5.9 недостающей поддержки OpenGL.

Выборка:

  • QT настраивает проверки на поддержку openGL путем соединения материала против libGL.so - но lib отсутствует
  • libGL.so обеспечивают libgl1-mesa-glx это добавляет символьную ссылку от libGL.so кому: libGL.so.x.y.z (в моем случае libGL.so.1.2.0)
  • согласно dpkg, libGL.so.1.2.0 также часть libgl1-mesa-glx - но пропавшие без вести по 'причинам'
  • проверка другие версии libGL.so показывает, что существует версия библиотеки, установленная драйвером Nvidia (/usr/lib/x86_64-linux-gnu/libGL.so.346.35)
  • добавление символьной ссылки на этот файл решило проблему

    sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.346.35 /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0
    
  • повторно выполненный configure использование флага -recheck

Пошаговая процедура (может также быть применен к подобным проблемам):

$ ./configure -opensource -confirm-license -recheck -v 1>dump 2>&1
...
> grep 'libGL.so.*No' dump

> /usr/bin/ld.gold: error: cannot open /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libGL.so: No such file or directory
> /usr/bin/ld.gold: error: cannot open /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libGL.so: No such file or directory

$ ls -l /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libGL.so
lrwxrwxrwx 1 root root 14 Aug 19  2015 /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libGL.so -> libGL.so.1.2.0

libGL.so.1.2.0 отсутствует, проверьте на поставщика...

$ dpkg -S libGL.so.1.2.0
libgl1-mesa-glx:amd64: /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0

$ dpkg -l libgl1-mesa-glx
...
||/ Name                                     Version                   Architecture              Description
+++-========================================-=========================-=========================-=====================================================================================
ii  libgl1-mesa-glx:amd64                    10.3.2-1+deb8u1           amd64                     free implementation of the OpenGL API -- GLX runtime

Так libgl1-mesa-glx библиотека установлена, но libGL.so.1.2.0 отсутствует в пути. Проверьте на другой libGL.so* файлы...

$ find /usr/lib -name libGL.so*
/usr/lib/x86_64-linux-gnu/libGL.so.346.35
/usr/lib/x86_64-linux-gnu/libGL.so.1
/usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/libGL.so.1

/usr/lib/x86_64-linux-gnu/libGL.so.346.35 единственный допустимый openGL lib на моем поле (был установлен установщиком драйвера Nvidia).

Решение:

sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.346.35 /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0
1
ответ дан 7 December 2019 в 13:55

следующее обнаруживает Рабочий стол OpenGL на Монетном дворе 17,3 32-разрядных систем с картой Nvidia и собственными драйверами./root/work/qt5_setup/qt-everywhere-src-5.10.0/configure - префикс =/root/work/qt5_setup/qt_install - открытый исходный код - подтверждать-лицензия - платформа linux-clang-libc ++

опции платформ могут быть найдены в/root/work/qt5_setup/qt-everywhere-src-5.10.0/qtbase/mkspecs

Прежде выше лязга установки (C, C++ и компилятор Objective C (базирующийся LLVM)) и libc ++-dev (LLVM библиотека Standard C++ (файлы для разработчика))

LLVM является набором библиотек и инструментов, которые помогают создать компиляторы, оптимизаторы, своевременные генераторы кода и много других связанных с компилятором программ.

Принимая во внимание, что/root/work/qt5_setup/qt-everywhere-src-5.10.0/configure - префикс =/root/work/qt5_setup/qt_install - открытый исходный код - подтверждать-лицензия

с опциями платформы по умолчанию (linux-g ++ linux-g ++-32) не нашел Рабочий стол OpenGL

0
ответ дан 7 December 2019 в 13:55

Ниже решения перестал работать для меня на более позднем этапе с C++ лязга, не могущим скомпилировать спокойный источник правильно. Так отправляя другое решение с помощью g ++ сам компилятор.

Следующие шаги обнаруживают Рабочий стол OpenGL на Монетном дворе 17,3 32-разрядных систем с картой Nvidia и собственными драйверами. в файле/root/work/qt5_setup/qt-everywhere-src-5.10.0/qtbase/mkspecs/common/linux.conf, который включен/root/work/qt5_setup/qt-everywhere-src-5.10.0/qtbase/mkspecs/linux-g ++/qmake.conf

переменные среды должны быть установлены на:

QMAKE_INCDIR_OPENGL = "/usr/include/GL" QMAKE_LIBDIR_OPENGL = "/usr/lib /" QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL

QMAKE_LIBS_OPENGL =-lGL QMAKE_LIBS_OPENGL_ES2 =-lGLESv2

libGL привык точки для драйвера Nvidia, обеспеченного библиотеку в моей системе./usr/lib/libGL.so->/usr/lib/i386-linux-gnu/libGLX_nvidia.so.390.48

Принимая во внимание, что/usr/lib/i386-linux-gnu/libGL.so-> mesa/libGL.so к Mesa3D обеспечил библиотеку.

Также удостоверьтесь, mesa-common-dev, libglu1-mesa-dev, libgl1-mesa-dev и другие пакеты разработки OpenGL установлены.

/root/work/qt5_setup/qt-everywhere-src-5.10.0/configure - префикс =/root/work/qt5_setup/qt_install - открытый исходный код - подтверждать-лицензия - linux-g платформы ++ && делают-j 5

0
ответ дан 7 December 2019 в 13:55

Другие вопросы по тегам:

Похожие вопросы: