
Я хотел бы обновить версию cppcheck, доступную в Ubuntu, с 1.68 до 1.70. Однако после загрузки архива DEB я не могу установить его из-за зависимости от libpcre3.
$ sudo gdebi cppcheck_1.70-2_i386.deb
...
This package is uninstallable
Dependency is not satisfiable: libpcre3 (>= 1:8.35)
Установка libpcre 3.35.* даст следующее:
$ sudo gdebi libpcre3_8.35-7.2_i386.deb
...
Do you want to install the software package? [Y/N]:Y
Selecting previously unselected package libpcre3:i386.
(Reading database ... 212075 files and directories currently installed.)
Preparing to unpack libpcre3_8.35-7.2_i386.deb ...
De-configuring libpcre3:amd64 (1:8.31-2ubuntu2.1) ...
Unpacking libpcre3:i386 (2:8.35-7.2) ...
dpkg: error processing package libpcre3:i386 (--install):
package libpcre3:i386 2:8.35-7.2 cannot be configured because libpcre3:amd64 is at a different version (1:8.31-2ubuntu2.1)
dpkg: error processing package libpcre3:amd64 (--install):
package libpcre3:amd64 1:8.31-2ubuntu2.1 cannot be configured because libpcre3:i386 is at a different version (2:8.35-7.2)
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Errors were encountered while processing:
libpcre3:i386
libpcre3:amd64
У меня все еще установлена старая версия libpcre, потому что, похоже, все линкуется против нее. Если бы я ее удалил, это бы сломало очень много вещей.
Я также пробовал перекомпилировать cppcheck, но для этого, очевидно, требуется последняя версия libpcre.
Итак, вопрос в том, есть ли способ установить это на 14.04?
решение1
Вы пытаетесь установить 32-битный пакет на 64-битную систему, что нормально, но для установки 32-битного пакета необходимо установить и 64-битный пакет той же версии. Поэтому установите файлы .deb
для обеих систем одновременно.такой жевремя:
Сначала отремонтируйте вашу установку:
sudo apt-get install -f
После этого:
sudo dpkg -i libpcre3_8.35-7.2_i386.deb libpcre3_8.35-7.2_amd64.deb