Provavelmente é o pacote libgl1-mesa-dev
.
Eu tenho uma nova instalação de Ubuntu 14 LTS
desta manhã, estou usando um PC com Nvidia graphic cards
e instalei com êxito a versão mais recente do driver no site da Nvidia ( NVIDIA-Linux-x86_64-352.30
).
Eu estou tentando construir QT 5.4
(qt-everywhere-opensource-src-5.4.2) e estou enfrentando um problema com ele não sendo capaz de encontrar opengl .
Eu instalei os seguintes pacotes para resolver todas as dependências:
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
e finalmente:
sudo apt-get install mesa-common-dev
sudo apt-get install libglu1-mesa-dev
Tanto quanto eu sei o acima deve instalar completamente os pacotes opengl para o Ubuntu.
Eu então tento configurar o QT usando o seguinte comando:
./configure -v -confirm-license -developer-build -opensource -xinput2 -dbus -opengl desktop -nomake examples -nomake tests)
Eu recebo o seguinte erro:
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
Eu tenho procurado por um tempo agora e só posso supor que eu tenho todos os pacotes certos instalados, mas algo está faltando no caminho do sistema. O que pode estar faltando e como adicioná-lo ao caminho do sistema?
A seguinte saída pode ajudar:
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
Provavelmente é o pacote libgl1-mesa-dev
.
Corri para o mesmo problema no Debian 8.5: Nvidia driver + todas as libs recomendadas em Construindo o Qt5 do Git instalado, mas configure a etapa de Qt 5.9 não conseguiu causar a falta do suporte OpenGL.
Trecho:
libGL.so
- mas a biblioteca está faltando libGL.so
é fornecido por libgl1-mesa-glx
que adiciona um link simbólico de libGL.so
a libGL.so.x.y.z
(no meu caso libGL.so.1.2.0
) dpkg
, libGL.so.1.2.0
também faz parte de libgl1-mesa-glx
- mas ausente por "motivos" libGL.so
revela que existe uma versão da biblioteca instalada pelo driver da Nvidia ( /usr/lib/x86_64-linux-gnu/libGL.so.346.35
) adicionando um link simbólico a este arquivo resolveu o problema
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
usando o sinalizador -recheck
Procedimento passo a passo (também pode ser aplicado a problemas semelhantes):
$ ./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 está faltando, verifique o provedor ...
$ 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
Portanto, a biblioteca libgl1-mesa-glx
está instalada, mas o libGL.so.1.2.0
está ausente no caminho. Verifique se há outros arquivos 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
O /usr/lib/x86_64-linux-gnu/libGL.so.346.35
é o único openGL lib válido na minha caixa (foi instalado pelo instalador do driver Nvidia).
Solução:
sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.346.35 /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0
Eu tive o mesmo problema no Ubuntu 16.04 com o Qt 5.9. Primeiro eu executei o configure quando o libgl1-mesa-dev e o libglu1-mesa-dev não estavam instalados. Depois disso, instalei essas bibliotecas libgl *. Mas o erro "OpenGL não encontrado" permaneceu. O erro desapareceu depois que o diretório descompactado atual foi excluído e o arquivo foi descompactado novamente.
o seguinte detecta o Desktop OpenGL no sistema Mint 17.3 de 32 bits com placa Nvidia e drivers proprietários. /root/work/qt5_setup/qt-everywhere-src-5.10.0/configure --prefix = / root / work / qt5_setup / qt_install -opensource -confirm-license -platform linux-clang-libc ++
as opções de plataformas podem ser encontradas em /root/work/qt5_setup/qt-everywhere-src-5.10.0/qtbase/mkspecs
Antes de instalar acima clang (compilador C, C ++ e Objective-C (baseado em LLVM)) e libc ++ - dev (biblioteca padrão LLVM C ++ (arquivos de desenvolvimento))
O LLVM é uma coleção de bibliotecas e ferramentas que facilitam a construção de compiladores, otimizadores, geradores de código just-in-time e muitos outros programas relacionados ao compilador.
Considerando que /root/work/qt5_setup/qt-everywhere-src-5.10.0/configure --prefix = / root / work / qt5_setup / qt_install -opensource -confirm-license
com opções de plataforma padrão (linux-g ++ linux-g ++ - 32) não encontrou Desktop OpenGL
A solução abaixo falhou para mim no estágio posterior com o clang-c ++ incapaz de compilar a fonte qt corretamente. Assim, postando outra solução usando o próprio compilador g ++.
As etapas a seguir detectam o Desktop OpenGL no sistema Mint 17.3 de 32 bits com placa Nvidia e drivers proprietários. no arquivo /root/work/qt5_setup/qt-everywhere-src-5.10.0/qtbase/mkspecs/common/linux.conf que é incluído por /root/work/qt5_setup/qt-everywhere-src-5.10.0/qtbase/mkspecs/linux-g ++ / qmake.conf
as variáveis de ambiente devem ser definidas para:
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
A libGL usada aponta para a biblioteca fornecida pelo driver da Nvidia em meu sistema. /usr/lib/libGL.so - > /usr/lib/i386-linux-gnu/libGLX_nvidia.so.390.48
Considerando que /usr/lib/i386-linux-gnu/libGL.so - > mesa / libGL.so para a biblioteca fornecida pelo Mesa3D.
Certifique-se também de que o table-common-dev, o libglu1-mesa-dev, o libgl1-mesa-dev e outros pacotes de desenvolvimento OpenGL estão instalados.
/root/work/qt5_setup/qt-everywhere-src-5.10.0/configure --prefix = / root / work / qt5_setup / qt_install -opensource -confirm-license -platform linux-g ++ & amp; & amp; faça -j 5