Совместимость покрытия с gcc-6 на Ubuntu 18.04.1? - PullRequest
0 голосов
/ 09 октября 2018

Мы только что обновили наш сервер сборки с Ubuntu 16.x до 18.04.1, и я больше не могу заставить работать Coverity.

Per Сканирование Coverity не удается собратьс _GNU_SOURCE, определенным , у меня есть контейнер Docker на нашем компьютере с Ubuntu 18.04.1, который устанавливает пакет gcc-6 (в этом контейнере не установлено никакого другого gcc - это только gcc-6).

Per TravisCI / Coverity: Предупреждение - файлы не были отправлены , я также запустил в своем контейнере следующее: /coverity/cov-analysis-linux64-7.6.0/bin/cov-configure --comptype gcc --compiler gcc-6 --template.Кажется, что это сгенерировало файл /coverity/cov-analysis-linux64-7.6.0/config/coverity_config.xml

Когда я конфигурирую / собираю наше программное обеспечение (libfabric, от https://github.com/ofiwg/libfabric) в контейнере, оно собирается просто отлично. Однако, если я пытаюсь его собратьчерез cov-build я получаю ошибки компиляции. Например, вот команда cov-build для сборки только одного файла из libfabric:

# Clear out the Coverity meta data dir, just to be sure
$ rm -rf cov-data
$ /coverity/cov-analysis-linux64-7.6.0/bin/cov-build \
     -dir cov-data make src/fi_tostr.lo

Вот фрагмент соответствующего вывода из файла cov-build/build-log.txtпоказывающий, где скрылся сбой:

[STATUS] Compiling src/fi_tostr.c
/coverity/cov-analysis-linux64-7.6.0/bin/cov-emit --dir=/home/jsquyres/git/libfabric/cov-data --ignore_path=/tmp/cov-0/a35264b27887fab7178c6bf7ab1117a9/cov-configure --ignore_path=/tmp/cov-0/a35264b27887fab7178c6bf7ab1117a9/cov-0/49f277832f55e48469661625f8083203 -w --no_stdarg_builtin --incompat_proto --add_type_modifier=__coverity___fpreg --add_type_modifier=__coverity___float80 --add_type_modifier=__coverity___float128 --no_predefined_cplusplus --gnu_version=60400 --no_predefines --restrict --gnu_carriage_return_line_terminator --no_multiline_string --no_trigraphs --c99 --allow__bool --pre_preinclude /home/jsquyres/git/libfabric/cov-data/emit/394646c6191c/config/5fe0c6b2b8489d2ab05d2434d738b5ac/gcc-config-0/coverity-macro-compat.h --pre_preinclude /home/jsquyres/git/libfabric/cov-data/emit/394646c6191c/config/5fe0c6b2b8489d2ab05d2434d738b5ac/gcc-config-0/coverity-compiler-compat.h --preinclude /coverity/cov-analysis-linux64-7.6.0/config/template-gcc-config-8/../user_nodefs.h --gcc -I . -I include -I prov/sockets/include -I prov/sockets --sys_include /usr/lib/gcc/x86_64-linux-gnu/6/include --sys_include /usr/local/include --sys_include /usr/lib/gcc/x86_64-linux-gnu/6/include-fixed --sys_include /usr/include/x86_64-linux-gnu --sys_include /usr/include -DHAVE_CONFIG_H -DNDEBUG -DPROVDLDIR="/usr/local/lib/libfabric" -DRDMADIR="@rdmadir@" -DSYSCONFDIR="/usr/local/etc" -D_GNU_SOURCE -D__OPTIMIZE__ -D__USE_XOPEN2K8 --type_sizes=e16Pdlx8fi4s2 --type_alignments=e16Pdlx8fi4s2 --size_t_type=m --wchar_t_type=i --ptrdiff_t_type=l src/fi_tostr.c
"/usr/lib/gcc/x86_64-linux-gnu/6/include/stdatomic.h", line 40: error #65:
          expected a ";"
  typedef _Atomic _Bool atomic_bool;
                  ^

"/usr/lib/gcc/x86_64-linux-gnu/6/include/stdatomic.h", line 41: error #84:
          invalid combination of type specifiers
  typedef _Atomic char atomic_char;
                  ^

Кто-нибудь знает, как заставить Покровительство понять эти типы?

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