Bug#901920: plplot FTBFS on alpha: misdetects compiler as not supporting NaN

Michael Cree mcree at orcon.net.nz
Wed Jun 20 10:56:18 BST 2018


Source: plplot
Version: 5.13.0+dfsg-7
Severity: important
Justification: fails to build from source (but built in past)
User: debian-alpha at lists.debian.org
Usertags: ftbfs
Tags: patch

plplot FTBFS on Alpha [1] with missing libcsirocsa.so files at the
install stage.  One can trace this back to the cmake configure at
the start which misdetects the compiler as not supporting NaNs
(from the build log):

-- Check for NaN awareness in C compiler
-- Check for NaN awareness in C compiler - not found
-- WARNING: Setting PL_HAVE_QHULL and WITH_CSA to OFF.

In cmake/modules/csiro.cmake is:

  if(CMAKE_SYSTEM_PROCESSOR MATCHES "alpha.*")
    if(CMAKE_C_COMPILER MATCHES "gcc")
      set(NAN_CFLAGS "${NAN_CFLAGS} -mieee")
    else(CMAKE_C_COMPILER MATCHES "gcc")
      set(NAN_CFLAGS "${NAN_CFLAGS} -ieee")
    endif(CMAKE_C_COMPILER MATCHES "gcc")

In the build CMAKE_C_COMPILER gets set to /usr/bin/cc which is gcc
on Debian Linux but does not match "gcc" in the test and thus the
test proceeds with the compiler option "-ieee" intended for the
Compaq C compiler, not for gcc.

A simple fix for Debian Linux would be to eliminate the test for
gcc (as the Compaq C Compiler for Alpha Linux has not been runnable
under Linux for quite a few years so there is no point in testing
for it) and just use the -mieee command line argument, i.e.,

  if(CMAKE_SYSTEM_PROCESSOR MATCHES "alpha.*")
     set(NAN_CFLAGS "${NAN_CFLAGS} -mieee")
  endif(CMAKE_SYSTEM_PROCESSOR MATCHES "alpha.*")

I suspect this fix might not be acceptable to upstream as it
potentially breaks the build on Tru64 Unix with the Compaq C
compiler.

Cheers,
Michael.

[1]
https://buildd.debian.org/status/fetch.php?pkg=plplot&arch=alpha&ver=5.13.0%2Bdfsg-7&stamp=1529330311&raw=0



More information about the debian-science-maintainers mailing list