Eu instalei um novo sistema com Ubuntu 24.04, no qual preciso instalar um conector de banco de dados IBM (especificamente ibm-iaccess-1.1.0.27-1.0 , do qual tenho o arquivo .deb para instalação). Este pacote requer versões mais antigas de libodbc2 , libodbccr2 e libodbcinst2 (também instaladas via pacotes .deb). Assim que termino de instalar todos esses pacotes, o conector funciona corretamente, no entanto, se eu tentar executá-lo, apt upgrade
ele me dá este erro:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
libodbc1 : Depends: libodbc2 (= 2.3.9-5ubuntu0.1) but 2.3.12-1ubuntu0.24.04.1 is installed
Depends: libodbccr2 (= 2.3.9-5ubuntu0.1) but 2.3.12-1ubuntu0.24.04.1 is installed
odbcinst1debian2 : Depends: libodbcinst2 (= 2.3.9-5ubuntu0.1) but 2.3.12-1ubuntu0.24.04.1 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
Mas se eu executar, como sugerido, apt --fix-broken install
, ele remove as versões dos pacotes que preciso e o conector não funciona mais. Como posso resolver isso?
Conforme sugerido por @guiverc, este pacote tinha dependências relacionadas ao Ubuntu 22.04, modifiquei as dependências inserindo aquelas relacionadas ao 24.04 (libodbc2, odbcinst, libodbcinst2, libstdc++6).
Extraí os arquivos das dependências usando o
dpkg-deb -R
, então modifiquei oDEBIAN/control
arquivo indo para inserir estes pacotes: Depends: libodbc2, odbcinst, libodbcinst2, libstdc++6e então recompilei os arquivos via
dpkg-deb -b
e finalmente instalei o pacote com as dependências atualizadas.