Como corrigir dependências não atendidas do Qt5

1

Estou executando o Ubuntu 16.10 com o Qt4.8.7 e gostaria de instalar o Qt5 para compilar um pacote. Eu instalei qt5-qmake do repositório e configurei o padrão para qt5:

export QT_SELECT=qt5
./configure && make
...fatal error: QtCore/QTextCodec: No such file or directory

Portanto, o pacote não seria compilado, aparentemente por causa de uma instrução include:

include "<"QtCore/QtGlobal

para o qual eu acho que preciso do ambiente de desenvolvimento. Primeiro, eu tentei instalá-lo a partir do site Qt, baixando qt-opensource-linux-x64-5.6.1.run, então eu tentei instalar o qtbase5-dev do Synaptic.

Isso não funcionou devido a dependências não atendidas. Todos os arquivos instalados mencionados são versões ubuntu7-2 do repositório principal do Ubuntu Yakkety; as versões necessárias do ubuntu6-4 também estão disponíveis. Eles também são usados em muitos outros pacotes que não posso me dar ao luxo de quebrar.

$ sudo aptitude install qtbase5-dev
The following NEW packages will be installed: libegl1-mesa-dev{a} libgles2-mesa-dev{a} libglu1-mesa-dev{a} libmirclient-dev{ab} libmircommon-dev{ab} libmircookie-dev{ab} libprotobuf-dev{a} libqt5opengl5-dev{ab} libwayland-bin{a} libwayland-dev{a} libxkbcommon-dev{a} qt5-qmake{a} qtbase5-dev{b} qtbase5-dev-tools{a} 
0 packages upgraded, 14 newly installed, 0 to remove and 8 not upgraded.
Need to get 4,473 kB of archives. After unpacking 33.6 MB will be used.
The following packages have unmet dependencies:
 libqt5opengl5-dev : Depends: libqt5opengl5 (= 5.6.1+dfsg-3ubuntu6~4) but 5.6.1+dfsg-3ubuntu7~2 is installed
 libmirclient-dev : Depends: libmirclient9 (= 0.24.0+16.10.20160815.3-0ubuntu2) but 0.24.1+16.10.20160928-0ubuntu1 is installed
 libmircommon-dev : Depends: libmircommon6 (= 0.24.0+16.10.20160815.3-0ubuntu2) but 0.24.1+16.10.20160928-0ubuntu1 is installed
 qtbase5-dev : Depends: libqt5concurrent5 (= 5.6.1+dfsg-3ubuntu6~4) but 5.6.1+dfsg-3ubuntu7~2 is installed
               Depends: libqt5core5a (= 5.6.1+dfsg-3ubuntu6~4) but 5.6.1+dfsg-3ubuntu7~2 is installed
               Depends: libqt5dbus5 (= 5.6.1+dfsg-3ubuntu6~4) but 5.6.1+dfsg-3ubuntu7~2 is installed
               Depends: libqt5gui5 (= 5.6.1+dfsg-3ubuntu6~4) but 5.6.1+dfsg-3ubuntu7~2 is installed
               Depends: libqt5network5 (= 5.6.1+dfsg-3ubuntu6~4) but 5.6.1+dfsg-3ubuntu7~2 is installed
               Depends: libqt5printsupport5 (= 5.6.1+dfsg-3ubuntu6~4) but 5.6.1+dfsg-3ubuntu7~2 is installed
               Depends: libqt5sql5 (= 5.6.1+dfsg-3ubuntu6~4) but 5.6.1+dfsg-3ubuntu7~2 is installed
               Depends: libqt5test5 (= 5.6.1+dfsg-3ubuntu6~4) but 5.6.1+dfsg-3ubuntu7~2 is installed
               Depends: libqt5widgets5 (= 5.6.1+dfsg-3ubuntu6~4) but 5.6.1+dfsg-3ubuntu7~2 is installed
               Depends: libqt5xml5 (= 5.6.1+dfsg-3ubuntu6~4) but 5.6.1+dfsg-3ubuntu7~2 is installed
 libmircookie-dev : Depends: libmircookie2 (= 0.24.0+16.10.20160815.3-0ubuntu2) but 0.24.1+16.10.20160928-0ubuntu1 is installed
The following actions will resolve these dependencies:
         Keep the following packages at their current version:     1)     libegl1-mesa-dev [Not Installed]                        2)     libgles2-mesa-dev [Not Installed]                  
3)     libmirclient-dev [Not Installed]                   
4)     libmircommon-dev [Not Installed]                   
5)     libmircookie-dev [Not Installed]                   
6)     libqt5opengl5-dev [Not Installed]                  
7)     qtbase5-dev [Not Installed]                        



Accept this solution? [Y/n/q/?] ?

A solução do Apt-get é deixá-lo inalterado.

Parece estranho que a versão principal do repositório do Qt 5.6.1 requeira bibliotecas diferentes para os outros pacotes.

Parece que eu preciso fazer o downgrade dessas bibliotecas de 7.2 para 6.4. Posso fazer isso com segurança e instalar o Qt 5.6.1? Ou existe uma maneira melhor de resolver o problema?

$ apt-cache policy libqt5core5a
libqt5core5a:
  Installed: 5.6.1+dfsg-3ubuntu7~2
  Candidate: 5.6.1+dfsg-3ubuntu7~2
  Version table:
 *** 5.6.1+dfsg-3ubuntu7~2 100
        100 /var/lib/dpkg/status
     5.6.1+dfsg-3ubuntu6~4 500
        500 http://mirrors.psu.ac.th/ubuntu yakkety/main amd64 Packages

Eu finalmente resolvi isso usando o Synaptic para forçar as dependências do qtbase5-dev para as versões anteriores (Yakkety-upgrades ou Yakkety).

Isso deixou os arquivos libmir. A instalação manual deles falhou, mas mostra as dependências problemáticas. Repetir as dependências e trabalhar com elas acabou levando a um ou dois arquivos que precisavam ser rebaixados.

Forçar isso via Synaptic também removeu uma série de aplicativos básicos da Yakkety; É uma pena não conseguir encontrar uma maneira de fazer o downgrade deles em paralelo, mantendo um sistema consistente, mas no final eu os liberto, instalei o Qt5 e reinstalei manualmente os pacotes perdidos usando o status do Synaptic 'Not installed (residual config) seção para identificá-los e reinstalá-los.

Eu tive alguns pequenos problemas com pacotes relacionados à segurança na reinicialização, mas resolvi rapidamente com o Google.

    
por user173283 05.02.2017 / 10:17

0 respostas