Skip to content

Installation issue: clingo fails to build on gcc 4.8.5 (Red Hat's GCC version 4.8.5-44) on CentOS 7 #20069

@robertu94

Description

@robertu94

Thanks for all your hard work on spack, and on the new concertizer specifically; Spack is one of my favorite HPC tools.

Steps to reproduce the issue

#on CentOS-7 with epel-release installed
$ spack install clingo@master

Information on your system

  • Spack: 0.16.0-57-348cbe1
  • Python: 2.7.5
  • Platform: linux-centos7-skylake
  • Concretizer: original
packages:
  gcc:
    externals:
    - spec: gcc@4.8.5 languages=c,c++,fortran
      prefix: /usr
      extra_attributes:
        compilers:
          c: /usr/bin/x86_64-redhat-linux-gcc
          cxx: /usr/bin/g++
          fortran: /usr/bin/gfortran
  git:
    externals:
    - spec: git@1.8.3.1~tcltk
      prefix: /usr
  cmake:
    externals:
    - spec: cmake@2.8.12.2
      prefix: /usr
  tar:
    externals:
    - spec: tar@1.26
      prefix: /usr
  python:
    externals:
    - spec: python@2.7.5+bz2+ctypes+dbm+lzma+nis+pyexpat+readline+sqlite3+ssl~tix~tkinter+uuid+zlib
      prefix: /usr
  diffutils:
    externals:
    - spec: diffutils@3.3
      prefix: /usr
  cpio:
    externals:
    - spec: cpio@2.11
      prefix: /usr
  perl:
    externals:
    - spec: perl@5.16.3~cpanm+shared+threads
      prefix: /usr
  xz:
    externals:
    - spec: xz@5.2.2
      prefix: /usr
  findutils:
    externals:
    - spec: findutils@4.5.11
      prefix: /usr
  texinfo:
    externals:
    - spec: texinfo@5.1
      prefix: /usr
  bash:
    externals:
    - spec: bash@4.2.46
      prefix: /usr
  pkg-config:
    externals:
    - spec: pkg-config@0.27.1
      prefix: /usr

Additional information

Some of the groups that we collaborate with still use CentOS-7 (or equivalent versions of Scientific Linux), and bootstrapping clingo fails with a very unclear build error messages because gcc 4.8.5 only supports some of C++14, and not enough to build clingo. Specifically it is missing some changes in c++14 that relaxed rules about exception specifiers in defaulted operators and some bug fixes for using & to capture variadic template arguments. It seems that you tried to catch these problems with the try catch block looking for the c++14 compiler flag, but that didn't seem to be enough.

However before these issues, Clingo won't even configure without modifying the package to have

depends_on('cmake@3.1:', type='build')

Since the system installed version of cmake on CentOS7 is cmake 2.8.12.2

If clingo is going to be bootstrapped in the future, it seems crucial to me that the error messages be intelligible.

@tgamblin

General information

  • I have run spack debug report and reported the version of Spack/Python/Platform
  • I have run spack maintainers <name-of-the-package> and @mentioned any maintainers
  • I have uploaded the build log and environment files
  • I have searched the issues of this repo and believe this is not a duplicate

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions