как я могу заставить панель запуска собрать мой пакет с помощью g++ 4.7 или новее

У меня есть исходный код С++ 11, который мне нужно упаковать с помощью панели запуска для Ubuntu 12.04, который содержит только старый 4.6 gcc.

Я изменил управляющий файл так, чтобы он содержал:

Build-Depends: debhelper (>= 9), g++ (>= 4.7.0), libqt4-dbus, libqt4-dev, libqt4-network, libqt4-opengl, libqt4-webkit, libqtwebkit-dev, libqtgui4, libqtcore4, libqt4-xml, qt4-dev-tools, qt4-qmake, python3-dev

Однако панель запуска полностью игнорирует это. Он даже не говорит, что в системе нет gcc 4.7, он просто запускает ./configure (что, по-видимому, терпит неудачу, шлепая панель запуска за попытку сборки с g++ 4.6).

Как правильно применить g++ 4.7 или новее? Я добавил зависимость ppa, которая содержит gcc-4.7 и gcc-4.8, но я просто не знаю, как сказать панели запуска установить это.


person Petr    schedule 06.05.2014    source источник
comment
Возможно, Launchpad на самом деле устанавливает пакет g++ из указанного вами зависимого PPA и поэтому соответствует требованиям. Однако сам двоичный файл g++ имеет символическую ссылку на g++-4.6 и не изменяется для использования g++-4.7. Думаю, правильным решением было бы определить переменные окружения CC и CXX, чтобы указать используемый компилятор. Можете ли вы попробовать этот метод? Кроме того, вы не обманываете Launchpad; Launchpad делает то, что вы ему сказали.   -  person saiarcot895    schedule 09.05.2014


Ответы (1)


Я понял, что это работает, несмотря на неприятный взлом:

заменить g++ на g++-4.7

Build-Depends: debhelper (>= 9), g++-4.7, libqt4-dbus, libqt4-dev, libqt4-network, libqt4-opengl, libqt4-webkit, libqtwebkit-dev, libqtgui4, libqtcore4, libqt4-xml, qt4-dev-tools, qt4-qmake, python3-dev

Это не сработает на всех системах с g++ новее 4.7, но будет обманывать панель запуска.

person Petr    schedule 06.05.2014