hpc / Spindle

Scalable dynamic library and python loading in HPC environments
Other
94 stars 22 forks source link

Spack package update needed to 0.9 release; missing -Wno_narrowing flag in 0.8.1 release #40

Open alansill opened 3 years ago

alansill commented 3 years ago

The currently available spack installation for Spindle pulls release 0.8.1 and fails due to narrowing error in compilation of spindle_logd.cc in the logging directory:

    133      CXX    spindle_logd.o
  >> 134    spindle_logd.cc:65:76: error: narrowing conversion of '255' from 'int' to 'char' inside { } [-Wnarrowing]
     135     static char exitcode[8] = { 0x01, 0xff, 0x03, 0xdf, 0x05, 0xbf, 0x07, '\n' };
     136                                                                                ^
  >> 137    spindle_logd.cc:65:76: error: narrowing conversion of '223' from 'int' to 'char' inside { } [-Wnarrowing]
  >> 138    spindle_logd.cc:65:76: error: narrowing conversion of '191' from 'int' to 'char' inside { } [-Wnarrowing]
     139      CCLD   libspindlelogc.la
     140    make[2]: *** [Makefile:386: spindle_logd.o] Error 1
     141    make[2]: Leaving directory '/tmp/asill/spack-stage/spack-stage-spindle-0.8.1-u6g66hhvbkxfa7n32x2gzferzpurspf3/spack-src/logging'
     142    make[1]: *** [Makefile:319: all-recursive] Error 1
     143    make[1]: Leaving directory '/tmp/asill/spack-stage/spack-stage-spindle-0.8.1-u6g66hhvbkxfa7n32x2gzferzpurspf3/spack-src'
     144    make: *** [Makefile:248: all] Error 2

I can work around this by using ./bin/spack install spindle cxxflags="-Wno-narrowing" but likely the spack package should be updated and this flag fixed for the older tarball for manual installations.

mplegendre commented 3 years ago

What compiler and version produces this error?

alansill commented 3 years ago

I've seen this with 8.3.1 but think it will occur with any recent gcc version. Note the problem seems to be fixed in the main branch code so this is only a problem with the release 0.8.1 flagged. I t can be worked around as mentioned or by editing the spack yaml file for the package to include this flag.