Почему виртуальная виртуальная машина Travis CI находит gcc 5 и 7, а не 6? - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь собрать Travis CI этот проект C , с этим .travis.yml файлом .Это работает - почти.По какой-то причине сборка с GCC 6 не удалась, но не из-за самого проекта, а потому, что это происходит на ВМ:

$ export MATRIX_EVAL="export CC=gcc-6"
$ export TRAVIS_COMPILER=gcc
$ export CC=gcc
$ export CC_FOR_BUILD=gcc
$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
before_install
0.00s$ eval "${MATRIX_EVAL}"
0.14s$ cmake . && make
CMake Error at /usr/local/cmake-3.12.4/share/cmake-3.12/Modules/CMakeDetermineCCompiler.cmake:48 (message):
  Could not find compiler set in environment variable CC:
  gcc-6.
Call Stack (most recent call first):
  CMakeLists.txt:9 (project)

снова, это не происходит с GCC 5и GCC 6

1 Ответ

0 голосов
/ 11 февраля 2019

Причина, по которой это происходит, в том, что GCC 6 является версией по умолчанию для дистрибутива Ubuntu Xenial.Поэтому он недоступен как двоичный файл с версионным именем, и нет необходимости загружать какие-либо пакеты, чтобы сделать его доступным.

Просто замените:

- os: linux
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - g++-6
      env:
- MATRIX_EVAL="export CC=gcc-6"

на, скажем так:

- os: linux
      env:
- MATRIX_EVAL="echo GCC 6 will be used by default in xenial"

в вашем .travis.yml, и вы должны быть установлены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...