Skip to content

cuda gcc conflicts not working #13462

@glennpj

Description

@glennpj

The conflicts in the the cuda build system are not working. For example, the libbeagle package uses the cuda build system.

class Libbeagle(AutotoolsPackage, CudaPackage):
$ spack --env-dir ../spack-configs/argon/2019.1/environments/gcc_packages/ spec libbeagle
libbeagle@3.1.2%gcc@9.1.0+cuda cuda_arch=35,60,61,70,75 arch=linux-centos7-sandybridge
    ^autoconf@2.69%gcc@9.1.0 arch=linux-centos7-sandybridge
        ^m4@1.4.18%gcc@9.1.0 patches=3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00,fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8 +sigsegv arch=linux-centos7-sandybridge
            ^libsigsegv@2.12%gcc@9.1.0 arch=linux-centos7-sandybridge
        ^perl@5.30.0%gcc@9.1.0+cpanm+shared+threads arch=linux-centos7-sandybridge
            ^gdbm@1.18.1%gcc@9.1.0 arch=linux-centos7-sandybridge
                ^readline@8.0%gcc@9.1.0 arch=linux-centos7-sandybridge
                    ^ncurses@6.1%gcc@9.1.0~symlinks~termlib arch=linux-centos7-sandybridge
                        ^pkgconf@1.6.3%gcc@9.1.0 arch=linux-centos7-sandybridge
    ^automake@1.16.1%gcc@9.1.0 arch=linux-centos7-sandybridge
    ^cuda@10.1.243%gcc@9.1.0 arch=linux-centos7-sandybridge
...

The libbeagle build will then fail with

..
            /targets/x86_64-linux/include/crt/host_config.h:138:2: error: #error -- unsupported GNU version! gcc versions later than 8 are
            not supported!

That should have been prevented with the conflicts statement in the cuda build system.

conflicts('%gcc@8:', when='+cuda ^cuda@10.0.130' + arch_platform)

where arch_platform = ' arch=x86_64 platform=linux'.

It would also seem that cuda itself should not install with a gcc > 8 as well.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions