Почему мой пакет не обновляется, даже если он указан в файле управления «Debian» пакета Debian?

Мой проект построен на Ubuntu 14.04 в C ++ с использованием g ++.

Ранее мой проект использовал Ubuntu 14.04 для разработки. Наше программное обеспечение зависит от запуска libstdc ++ 6.

Мы предоставляем пакеты Debian для установки нашего программного обеспечения. В нашем пакете Debian устанавливаются библиотеки времени выполнения, необходимые для запуска нашего программного обеспечения. Мы не хотим устанавливать средства разработки для наших клиентов. Но поскольку libstdc ++ 6 уже установлен вместе с Ubuntu 14.04 по умолчанию, мы поэтому не указали его в «контрольном» файле пакета Debian.

В последнее время мы перешли на пакеты Debian [ ! d5]. Чтобы установить g ++ 4.9, нам нужно добавить его PPA, прежде чем запускать «apt-get install» для установки нашего программного обеспечения. Поняв, что мне также нужно использовать libstdc ++ 6, который работает с g ++ 4.9, я помещаю libstdc ++ 6 в раздел «Зависимости» файла «control». Что-то вроде этого:

Зависит: libstdc ++ 6 (Другие пакеты опущены)

Когда я делаю «sudo apt-get install our-package», я понял, что libstdc + +6 НЕ обновляется до той, которую я хочу. Поэтому я получаю сообщения об ошибках во время выполнения, такие как:

Зависит: libstdc ++ 6 (Другие пакеты опущены)

/ usr / lib / x86_64-linux-gnu / libstdc ++. so.6: version `GLIBCXX_3.4.20 'not found

/ usr / lib / x86_64-linux-gnu / libstdc ++. so.6: version` CXXABI_1.3.8' не найден

Я добавил g ++ 4.9 PPA в систему (ppa: ubuntu-toolchain-r / test); После добавления его я запускал «apt-get update».

Я удостоверился, что:

В отличие от этого, если бы я бежал sudo apt-get install libstdc++6 вручную, libstdc ++ 6 был бы обновлен до правильного.

Моя теория заключается в том, что раздел «Зависимости» файла «control» больше похож на проверку существования, но не на версию, а поскольку Ubuntu 14.04 установил libstdc ++ 6, пакет Debian не устанавливал и не обновлял его, поскольку он мог можно найти в системе уже. Однако «apt-get install» проверил самую последнюю версию и установил ее, если отсутствует или обновил ее, если она существует.

1
задан 13 July 2017 в 16:50

0 ответов

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

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